Workflow template BPMN-diagram panel
Last updated
Last updated
The BPNM-DIAGRAM panel is composed of multiple sections, which change depending on the service task selected in the working area.
When no Service task is selected, these sections are listed:
This section contains:
Revision: the number of times the workflow was saved/modified/edited.
Status:
ready to use: the workflow is ready and can be associated with contracts.
in progress: the workflow is still a draft. It is saved as template but cannot be associated with any contract.
Contract's variables: number of variables included in the template.
Referencing contracts: number of contracts using this template.
This section lists the Variables that will be initialized when creating the Contract. The variables are essential for customizing Service task properties. Depending on the trigger type selected, Data Mover lists default variables.
Name (*): enter the name of the variable, which must be the same as the namevariable inserted in the service task property configuration.
Description: insert a description for the variable.
Default Value: enter the default value of the variable. If this value is different than the value that will be included in the contract, this one will be overwritten.
Required: check this item if this variable is required.
Model Key: unique ID identifying the model across different versions.
Model Id: it identifies the element within the process model.
Name: it is the name of the element, which is displayed in the diagram.
Documentation: field where users can enter free text.
Creation date: date when the diagram was created.
Modification date: date when the diagram was modified.
Process Sequence: this is the sequence that should be created when starting the process instance. It is stores in a variable and can be used in the process instance name/business key property expressions.
Process Instance Name: this is the name of the process instance. The process Pequence variable can be used in this expression.
Status values: it defines a list of status values that can be internationalized and used to set the status of the process instance.
Process Instance Business key: this is the business key of the process instance. The Process Sequence variable can be used in this expression.
Is executable: optional Boolean value that specifies if the process is executable.
Security policy: this options sets a custom security policy.
Allowed historic variables: it defines which historic variables will be persisted in the historic variable table when an instance or task history level is configured.
Folder path for uploaded content items: it sets the folder path that defines where uploaded content items for the task will be stored.
Comments only on root instance: all comments from child instances will be attached to the root instance. Root instance comments will be visible from child instances.
Documents only on root instance: all documents from child instances will be attached to the root instance. Root instance documents will be visible from child instances.
Owner: this is the ID of the task owner, who can view the task and delegate it to another user. Then, the user becomes the assignee and can resolve the task. Once a task is resolved, it is reassigned to the owner, who can then complete it.
Do not inherit start user as owner if root instance: it determines whether the instance start user is the owner. This is only relevant if no owner value is given and the instance is a root instance.
Assignee: user ID of the task assignee. The assignee can see and complete the task, and is typically responsible for it.
Do not inherit start user as assignee if root instance: it determines whether the instance start user is the assignee. This is only relevant if no assignee value is given and the instance is a root instance.
Potential starter user: this is the user that can start the process.
Potential starter group: this is the group that can start the process.
Participant users: this is a list of selected users that are added as participant identity links to the task.
Participant groups: this is a list of selected groups that are added as participant identity links to the task.
Watcher users: this is a list of selected users that are added as watcher identity links to the task.
Watcher groups: this is a list of selected groups that are added as watcher identity links to the task.
Include in history: when the history level is set to "instance" or "task", this property determines if the activity instance is included in the activity history data.
Result variable: this is the name of the variable. It is used to store the result of the expression evaluation. The result is the expression's return value.
Exception mappings: it defines one or more exception mappings that map a technical Java exception to a BPNM error code.
Exclusive: it determines whether an activity or process runs as an exclusive job. An exclusive job ensures that other asynchronous, exclusive activities within the same process are not performed at the same time. This helps prevent job failure in concurrent scenarios.
Leave asynchronously: when enabled, the activity will be left as an asynchronous job. This means that the activity ends asynchronously, including end execution listeners.
Multi instance type: select the loop type for the task. The default is None, meaning the task is created as a single instance. Select Parallel or Sequential if you want to create multiple instances of the same task. It is good practice to use Sequential for service tasks and Parallel for user tasks if they are assigned to different users. If you select multi-instance execution, new attributes must be specified, such as loop collection.
Collection: this expression sets the loop collection for a multi-instance task. One common use case is looping over lists created by multi-element subforms. The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.
Element variable: this is the name of the variable that stores the item currently being processed from the loop collection. For example, 'invoicePosition'. This element can then be accessed through an expression, such as ${invoicePosition}. To access the element variable in a form, you can add a task listener that (on create) copies the variable from the execution to a task-local variable and makes it available there. For example, ${task.setVariableLocal("invoicePosition",invoicePosition)}). This makes the variable available in the form as the 'task.invoicePosition' variable.
Element index variable: this is the name of the variable that stores the index of the item currently being processed from the loop collection. For example, 'itemIndex'. The index is a number starting with 0 that is increased with every element that is being looped through. The index can then be accessed through an expression, such as ${itemIndex}. To access the element variable in a form, you can add a task listener that (on create) copies the variable from the execution to a task-local variable and makes it available there. For example, ${task.setVariableLocal("itemIndex",itemIndex)}). This makes the variable available in the form as the 'task.itemIndex' variable.
Cardinality: this is a number or an expression that evaluates to an integer that controls how many activity instances will be created. If the 'Collection' attribute is empty, a new instance is created for each element in the list. Cardinality allows you to overwrite this setting and create a specific number of instances. Cardinality can also be used if you want to loop over an activity a specific number of times without defining a collection.
Completion condition: boolean expression that, when set to true, cancels the remaining activity instances (i.e., stops the loop) and produces a token.
Throw exception: if this option is selected, an exception will be thrown in the event of a failure. This exception can be caught with a boundary error event, or it can be left to escalate and terminate the process.
Cluster: enter the cluster to use.
File List [String]: this variable contains the list of files resulting from the current operation. The Subprocess object can be used to cycle through elements of a list.
Return Code [String]: this is the workflow variable where the final return code will be written.
Virtual Path [VirtualPath]: this is the virtual path used for file listing in the current operation. It's a remote path, so enter a plain string, not a virtual path.
File ID [Long]: this is the ID of the file associated with the Virtual Box.
Virtual Box [VirtualBox]: this is the virtual box to be associated to the files in the current operation.
In this section you can enter fixed or variable values with the following syntax: ${namevariable}.
The value namevalue in the More section must be the same as the Name property in the Variable section.
Trigger: the event that activates the action or set of actions within the workflow. See the list of .
: edit option allowing you to select a different trigger and set a different status.
To add a variable, click the button and fill in the options in the Create Variable window:
Type (*): choose the variable type, which must be the same type as the one entered in the Service task property configuration. See the list of for details.