This article relates to BPMN 2.0 process. Looking for the BPMN 1.0 article? Click here!
When to use Data state
Data state has two purposes
1. When modeling, visually describe the state that a dataObject has when leaving the symbol (tasks or events) it is connected to
2. When creating a process application, Data state can be used to steer how a form will be shown depending on where a form has been in the process before being accessed. You can use it to show, hide and lock a specific field or a set of fileds in a form.
How to use Data state
1. First you need to define your states in the process. For every time you refer to the specific form you want to use the Data state functionality for, you need to set a Data state. Go to your process model in the modeling tool.
2. Double click on the data object and the available settings are shown.
3. Name your mode under the section "Data state" and confirm. This is all you have to do in the process model.
BARIUM BEST PRACTICE: Give the Data state the name of the performer, in capital letters. This makes it easier for you as a configurator to remember and refer to the correct state when setting up the Data state functionality for the form.
4. Now you have to configure the settings at the fields in the form. Go to the form template you have connected in the model, you can access it directly from the process by opening the Asset Browser, hover the form template and click on the Edit pen.
5. For each field you want to influence according to Data state you have to define in which Data state the field should be locked or hidden. Use the settings "lockInStates" and "hideInStates".
Simply write the name of the modes (comma-separated, and no blanks, to choose more than one Data state). When the form is presented in its Data state the fields will act according to your set up for each form field.
NOTE: If you want to hide a whole "layout" part with its underlying fields you have to set the hideInState for both the layout and for every object underneath it.
TIP: Try out the settings before deploying the application by using your own account as a performer for every step. In this way you can verify that the form is behaving as you like.