Applies to version: 2022.1.x and above, author: Krystyna Gawryał
One of the basic implementation assumptions of WEBCON BPS is work on three environments: development (DEV), test (TEST), and production (PROD). As long as certain conditions are met, processes and any changes to them can be successfully transferred between those environments thanks to the built-in application import/export mechanism.
However, there are some exceptions to this rule, where the changes made will not be transferred from one environment to another, unless an appropriate approach is taken. This issue concerns changes in global elements and non-standard operation of the system when they are exported from the original environment and imported to the target environment.
The present article describes this less common approach that should be used in order to successfully transfer updated global elements of a process.
Global elements and their changes
As the name suggests, global elements, depending on their use, can change the behavior of the entire process in different places of the system, and their impact on the process is general and complex. Examples of such elements include data sources, global constants, global rules, and global fields.
Fig. 1. “VAT” global constant used in the cost invoice process
Exporting and importing changed global elements
If the user intends to export an application and then import it to another environment, during the export, they will have the option in a dedicated wizard to select the application processes for which this operation will be performed.
Fig. 2. Wizard window informing that the export is complete for the application and process indicated by the user
All related elements, including global ones, are exported with the indicated process. Due to their complex effect, global elements cannot be transferred independently of the process for which they were created.
After importing the package with previously exported application components (processes), the user can already work with the application in the other environment.
In certain cases, it may be necessary to change the global elements of the process. For example, “VAT” global constant shown in Fig.1. will require modification due to statutory changes. After alterating it in the original environment, the constant looks as follows:
Fig. 3. Updated “VAT” global constant
The user will probably want that global element to be updated in the target environment as well. Since it is not recommended to manually change the imported applications, it is worth re-exporting the application component from the original environment. However, when attempting to import the current package, the wizard in the target environment prevents from proceeding to the next step – the Next button is disabled because the system has not detected any changes (No changes state).
Fig. 4. Import of the process after updating the global element is not possible
There are a few rules to keep in mind in order to import a changed global element. As mentioned earlier, global elements cannot be transferred to other environments independently of the process. A similar situation occurs after updating global elements – when attempting to import them, the changes are not detected.
The solution in this case is to make changes to the process associated with the updated global element. It can be even a small change that does not have a major impact on the operation of the process, for example, adding its description.
After introducing such a change and exporting the application with the updated global element, it will be possible to import the process to the target environment.
Fig. 5. Possibility of importing a process after making changes to it
and updating one of its global elements
This is confirmed in the application import report, informing that the indicated process has been updated.
Fig. 6. Application import report
After checking the contents of the "VAT" global constant configuration window in the target (test) environment, one can see that it has been successfully updated.
Fig. 7. “VAT” global constant in the target environment after importing the changed process