What is a Complementary Solution for Acumatica and how do you build one?

/, Best Practices, Development, Education, Software Solution Partners, Training/What is a Complementary Solution for Acumatica and how do you build one?

What is a Complementary Solution for Acumatica and how do you build one?

Acumatica is a true web application so all new functionality consists of a set of pages with the associated business logic and data which we refer to as an add-on from a technical perspective but as a complementary solution from a naming perspective because the purpose of this code is to complement the core Acumatica application.

So regardless of what you call it, here’s a high level view of how you build the solution.

First step is to choose your toolset and for that you can employ the standard interface of MS Visual Studio and the tools and facilities of Acumatica Framework for developing a complementary solution, just the same as if you were developing a standalone application.

Depending on the complexity of the solution and the number of developers to be involved in developing (and testing) it, you can choose one of the following development approaches:

An approach that is based on a customization project with a preconfigured initial solution i.e. Begin with a template from a prior project so lets call it a Templated Approach

An approach that is based on building the project from the ground up and lets call that a Bespoke Approach and I have chosen that name for the approach because it aligns to the process in clothing  or fashion manufacturing.

*Heres the Wikipedia definition – Bespoke clothing is traditionally cut from a pattern drafted from scratch for the customer, and so differs from ready-to-wear, which is factory made in finished condition and standardised sizes, and from made to measure, produced to order from an adjusted block pattern. This opposition of terms did not initially imply that a bespoke garment was necessarily well built, but since the development of ready-to-wear in the beginning of the twentieth century,bespoke clothing is now more expensive and is generally accompanied by a high quality of construction.

So you might ask, where is each approach best used?

The templated approach can be used when a relatively simple task is to be resolved and only one developer is involved (dictated by the workload and/or complexity of the project), while the second approach is recommended for more complex tasks with two or more developers involved and the main difference between the two from development process approach is that in the approach with two or more developers I would recommend that you are utilising a developer toolset such as Team Foundation Server from Microsoft – which is the tool we use internally here at Acumatica.

For those of you that are reading this that aren’t developers by profession( like me) , Team Foundation Server or TFS as its is know provides additional developer productivity tools such as bug tracking, resource management and other core task management tools such as

  • Version Control
  • Agile Planning & Collaboration
  • Build
  • Test Case Management
  • Reporting

So lets move in to the specifics of the process…

The first section of this blog will describe a typical task that can be resolved by using either of the two approaches. The second section describes the first approach, and the third section describes the second approach.

An example of a typical task that Is resolved by using a Complementary Solution

Suppose that you need to create a new solution (which is a web page in a cloud centric world) that is based on a new database table.

As a final result of using either approach to resolve this task, the following items must be created (which have been added to the content of the customization project):

  1. The external files related to the add-on solution (assembly, .aspx, and aspx.cs)
  2. The script that creates the new database table (see the screenshot below)
  3. New records in the site map (in Acumatica terms the site map is the navigation menu) which hold the position and properties of the new webpage
Exploring the content of the customization project

Exploring the content of the customization project

As a result of implementing the code of the add-on solution and modifying the site map of the current application instance, the Registry of Discounts webpage will be created and will use the appropriate business logic. This webpage is accessed by the targeted users from the navigation pane. (The screenshot below shows the webpage with a few added data records.)

Analyzing the Registry of Discounts webpage

Analyzing the Registry of Discounts webpage

The Template Approach of Complementary Solution Development

With the first approach of Complementary Solution development, you should first create a Customisation Project(which is what any custom code in Acumatica is called) and then create the preconfigured solution.

You then perform all the necessary development steps, build the add-on project, map the new webpage to the site map, and include in the content of the project the site map changes, the compiled assembly, the code of the .aspx and .aspx.cs files, and the SQL script for the new database table. The screenshot above illustrates the content of the customization project (of the SQL-type object in this case).

Thus, to resolve the add-on task by using the first approach, you must perform the following steps:

  1. Create the new customization project
  2. Create the preconfigured add-on solution
  3. Make necessary development actions, build the solution, and register the new page as a webpage
  4. Add the solution to the content of the customization project
  5. Download the deployment package

The main advantage of this approach is a simpler initial configuration in comparison with the second approach, because the Acumatica Customization Platform (part of the Acumatica Cloud Platform) pre-configures the original complementary solution so that you do not need to make references for project and application library files.

The Bespoke or Team Approach of Complementary Solution Development

With the second development approach, you manually create a complementary solution, develop it, and add all the changes to the content of the new Customization Project.

To resolve the add-on task by using the second approach, you must perform the following steps:

  1. Manually create the add-on solution and set up all necessary references to the application instance
  2. Make necessary development actions, build the solution, and register the new page as a webpage
  3. Create the new customization project within this instance
  4. Add the solution to the content of the customization project
  5. Download the deployment package

The main advantage of this approach in comparison with the first one is that more complex tasks can be resolved and more than one developer can be involved in the process of developing the add-on solution once again because of the tool set being used to manage the project and because of the more bespoke nature of the project.

Personally, I believe that this approach should always be used as the more structured nature of the process and the discipline introduced by using the tools will usually result in a higher quality end project.

* I use Wikipedia a lot when writing my content as it is a great resource for pulling simple and accurate definitions and as a result I donate to the Wikipedia Foundation…- you might like to consider a donation as well – go here to do so – Richard

 Resources used for this Blog

Bespoke tailoring. (2014, April 13). In Wikipedia, The Free Encyclopedia. Retrieved 16:13, April 13, 2014, from http://en.wikipedia.org/w/index.php?title=Bespoke_tailoring&oldid=604018899

Acumatica Customisation Documentation (user name or license required) from http://partner.acumatica.com/?ScreenId=ShowWiki&pageid=e3e48af1-d660-4bc8-9dcb-5013b6944292

About the Author:

Contact Info

Phone: 1 300 045 046



Subscribe

Categories



Archives

Sponsored Ad

Turn Key Web Design presented by Richard Duffy - Digital Hub Package