Acumatica Customization: Sprinterra is Pioneering Efficient Development Workflows. Part I

The business application development landscape is facing challenges like never before. When customers invest in a project, they expect top software quality, produced in record time.

Key to success in this pressing environment is a combination of a dedicated team, adherence to best practices, premium software development and testing tools and methodology, and impeccable user support. In other words, a development team’s success hinges on:

  • – In-house experienced programmers, BAs, and QAs
  • – Top-tier development and testing tools
  • – Following software development best practices.
  • – Ensuring rigorous testing throughout development.
  • – Delivering on time and budget
  • – Providing efficient technical support.

Acumatica customizations are no different. Emphasizing a systematic Application Development Workflow is essential, and we at Sprinterra have learned that by experience. Successful practices include:

  • – Exploiting the full potential of Acumatica Cloud xRP in application development and design
  • – Using template solutions to streamline developers’ tasks
  • – Continuously monitoring task progress and comparing it to initial time estimates
  • – Maintaining a well-documented Application Development Workflow
  • – Investing in software tools to automate the workflow

Meeting these standards ensures the creation of reliable, scalable, and maintainable applications promptly, making your clients return to you time and time again.

This article explores The Application Development Workflow, its automation tools, and improvement strategies.

The Significance of Application Development Workflow

While working on Acumatica at Sprinterra, our repository expanded from a single project to an impressive 160. Every project we’ve undertaken is carefully archived. We pride ourselves on our diligent record-keeping; not a line of source code is deleted. Instead, every project we’ve ever engaged with is archived in the company repository, even long after completion. That’s because some of our customers come back to us regularly. At Sprinterra, we tend to classify these into three categories:

  1. Active Projects: Some projects constantly evolve, with customers demanding regular revisions and enhancements.
  2. Version-Specific Projects: Most of our customers return regularly, but only for the upgrades to a newer version of ERP Acumatica.
  3. Intermittent Projects: Then there are those projects where customers might approach us once in a blue moon—perhaps once every two years—for code modifications or corrections.

The above projects share a common thread: they are all automated in some form. Configuration settings for scripts and automation utilities are stored in our repository. This setup ensures that any developer on our team can effortlessly clone the repository of any project onto their computer. Even if they encounter that project for the first time, they can establish a working development environment for it in minutes.

That’s a testament to our commitment to efficiency and productivity. Lacking similar automation tools, setting up and updating some of our customers project’s development environment becomes a manual, time-consuming chore. This contrasts with the ease of deploying an automated Acumatica customization project.

For any developer embarking on a new Acumatica ERP customization project, a precise sequence of steps is essential to ensure the work’s efficiency and success. 

Acumatica ERP customization project

Here's a simplified breakdown:

  1. Initialize a project repository and clone it to your PC.
  2. Download and set up the relevant version of Acumatica ERP.
  3. Set up and configure the Acumatica instance.
  4. Create and configure a C# project for customization extension library
  5. On the Acumatica instance, create a customization project.

Throughout the project, there are periodic tasks, including:

  • – Syncing and committing customization source code to the repository.
  • – Updating the code if working in a team.
  • – Building customization packages and forwarding them for testing.

Once customization is complete, a developer needs to:

  • – Assemble a customization package. Its name typically contains the ERP Acumatica and customization versions.
  • – Store all source code and documentation in the repository.

If the developers are joining an ongoing project, they should replace steps 4 and 5 (above) with:

  • – Constructing a customization package from existing source code.
  • – Uploading and publishing the package to the Acumatica instance.

Considering Automation in Application Development Workflow

Given the multitude of repetitive tasks in customization, the value of automation becomes clear. So, what “out-of-the-box” tools does Acumatica recommend or provide? Here’s a step-by-step overview of these utilities:

PowerShell Integration:

Step 1: PowerShell + git Command Line Interface (CLI)

Step 2: msiexec /a drive:\filepath\to\MSI\file /qb TARGETDIR=drive:\filepath\to\target\folder

Step 3: ac.exe -cm:”NewInstance” -s:”SM” -d:”InstanceDB” -c:”ci=1;” -c:”ci=2;cp=1;ct=Demo;cv=True;cn=Company;” -i:”Instance” -h:”C:\Acumatica\Instance” -w:”Default Web Site“ -v:”Instance” -po:”Classic .NET AppPool” -a:”AnonymousUser”

Step 4: At present, there’s no means of automation.

Step 5: This step cannot be automated.

Step 6: Automation isn’t required.

Step 7: PX.CommandLine.exe /website “path_to_Acumatica_website”/method BuildProject

      /in “path_to_customization_source_control_folder”

       /include “path\to\additional\file1.ext” “relative\package\path\to\file2.ext”

       /out “full_name_of_customization_file.zip”

Step 8: Currently, there’s no means of automation for this step.

From the provided details, it’s evident that the developer has Windows Installer and Acumatica tools at their fingertips. But these provide only partial solutions. They often come with complex parameters, making daily operations clunky. Moreover, the necessity of direct developer involvement, especially in extracting customization source code, hinders complete automation. Additionally, there’s no provision to save configurations for future reuse.

The biggest challenge remains: efficiently accessing the customization source code. Acumatica only enables this via the customization editor menu, a manual process that lacks automation.

To Summarize:

  • – Automating Acumatica Customization Development Workflow (ACDW) can significantly improve efficiency and precision.
  • – Current tools are not unified and don’t address all developer needs.
  •  

Recognizing these challenges, the obvious way forward is a unified utility that includes all necessary functions while eliminating the mentioned drawbacks.

Our Vision for the Perfect Automation Utility

Understanding these challenges, Sprinterra’s Acumatica team, with their rich experience in development automation, identified the need for a holistic tool. Our vision for an ideal Acumatica ERP automation utility includes:

  • – A user-friendly CLI application.
  • – A flexible configuration system that’s also user-adjustable.
  • – The ability to easily save, retrieve, and merge configurations.
  • – Seamless management of ERP packages, Acumatica instances, and customization packages.
  • – Comprehensive tools for interacting with customization source code and extension libraries, including retrieving, compiling, building, and naming.

Conclusively, there’s a significant need to improve the customization development workflow for Acumatica ERP. While existing utilities offer some assistance, they fall short of comprehensive developer needs.

Sprinterra's Automation Solution

Recognizing these gaps, Sprinterra’s Acumatica team proudly presents ACUCustomizationutil – a unique tool designed to streamline and improve customization projects.   

Stay tuned for the second part of this article, where we’ll delve deeper into ACUCustomizationUtil’s features and offer practical insights.

Subscribe To Our Newsletter

Get the latest insights on exponential technologies delivered straight to you