3 Tips To Make Your Applications Easily Exportable
|Applies to version 2019; author: Anna Puka, Michal Rykiert|
InstantChange™ technology can be seductive. There’s no restarting or (re)deployment involved, and the results are available immediately after hitting the save button. That’s one of the things that make power users fall in love with the platform.
Although, it also entices to execute the wild-wild-west approach to provide on-the-fly changes for ongoing workflow instances directly on PROD environment. Which is great, but with great power comes great responsibility. Some enjoy the thrill, but most prefer it safe. For the second group, WEBCON BPS enables the Export-Import mechanism, which combines safe with the flexibility of InstantChange™.
In essence, the Export-Import allows packaging whole configuration of application: workflow(s), forms, actions, rules, data source definitions, etc. into a single file. Such file is then transported between DEV/TEST/PROD or to a completely new environment. Et voila! Changes are embedded immediately and new applications are imported.
To make sure the importing process involves as little manual work as possible (or not at all), we’ve prepared 3 tips to keep in mind while preparing to export.
1. Make your applications as no-code as possible
Using a built-in rules engine not only ensures functional compatibility for all devices (desktop, mobile) but also allows to easily leverage Export/Import mechanism. While we are at it, make sure to always use variables (reference tags) within the configuration of your rules to ensure your rules would work on any environment. For instance, whenever you need to reference process or workflow ID, use a variable instead of a fixed number. Depending on the environment the ID may change, but the variable will always be right :).
|Protip: WEBCON BPS 2019, a configuration of Data row and Data Table fields allow for using variables to create hyperlinks to open a referenced workflow instance. Very useful when you want to allow users to get additional information about the item of interest :).|
2. Reuse the reusable
Some business applications delivered with WEBCON BPS can be highly complex and will require some manual changes in the configuration whenever the application is imported to a new environment. To make the modification as easy as possible, as well to ensure future swift maintenance, it’s worth to remember that many configuration pieces can be created as reusable templates. Why should you care?
- Reason 1: It’s super easy to find. All reusable elements are available in the main configuration node.
- Reason 2: You provide modification(s) once and your change is automatically populated to every place where your template is used.
|Protip: Every reusable configuration elements have “Usages” tab available that will allow you to quickly find where exactly it is used.|
Here’s what specifically you should consider:
- Action templates – especially useful when you create task creation actions that are based on Active Directory Groups or actions using Hyperlinks. Those for sure will need to be adjusted per each environment and surfacing them in the top configuration layer will make it easier.
- Constants are typically used to specify thresholds (e.g. value threshold for additional approval in the process) or to store site addresses. The huge advantage of constants is the fact that they can be embedded not only in process configuration but also as a part of other configuration pieces (hence storing site addresses as constants is so crucial).
|Protip: Constants are also environment-sensitive which means you can provide different constant for DEV, TEST and PROD.|
- Business & form rules templates can be nested! Which means you can specify a rule within a rule. Truly helpful, especially for more complex applications. It will save you a lot of time during the introduction of modifications.
3. Be smart with data sources
Data sources are a crucial element of most applications, so it’s really important to take care of them during export/import process.
First of all, in WEBCON BPS data sources are environment-sensitive, which means (once properly configured) when you migrate your application from TEST to PROD, the system will automatically connect you to the proper instances of your external data sources.
You’ll find proper connection placeholders in Designer Studio (Data sources -> Connections)
Secondly, if you have a data source with values that rarely change (or not at all), always configure them as Fixed values list directly in Designer Studio. That’s the easiest way to have them automatically exported, compared e.g. to SharePoint lists which as such are not exported by WEBCON BPS (although the definition of the data source using SP list in fact is).
Additionally, if you want business users to be able to add/change your selectable values from time to time, the best way to handle this (without giving the business user access to the Designer Studio) is to have a small process that would allow them to do so. Therefore, they’ll be able to interact with it just like with any other application in the system. In such case use data source type: BPS Internal View
Side note: soon, so-called dictionary processes will be available in Designer Studio as a standard, so you won’t even have to configure them to store data :).
Last but not least, keep in mind that since v. 2019, the system allows exporting processes as a template. Selecting this option will create a package with a template process. It means that whenever you import it to any server it will create a new process (instead of amending the existing one if there is any). With that, you can create:
- simple acceptance application that will be the basis for more complex workflows (e.g. cost approval, purchase order),
- dictionary processes template that will always have the same business logic (workflow) but different form fields, e.g.: Departments list, Cases, Contact person, etc.
- the basis for OCR teaching processes – again the same workflow but different OCR projects and form fields.
Export-import is a very powerful mechanism and if you give your processes a little bit of extra love, they’ll return you a favor by being super easy to import wherever you choose :).