Process Modelling
This section describes the fundamental elements that define a workflow process. A process is composed of:
- Nodes
- Transitions
Basics
Nodes
Nodes define the states within a process definition. They are interconnected by transitions, and together they establish the various paths that can be followed during process execution. When a process definition is executed, it becomes a process instance.
There are several types of nodes:
| Type | Image | Description |
|---|---|---|
|
The Start node defines the entry point of the process. Each process definition must have exactly one Start node. |
||
|
|
End nodes define the conclusion of the process execution. A process may have multiple end nodes. In this case, the process finishes when execution reaches any of these end nodes. |
|
|
|
A Task node represents one or more tasks that require human interaction. These nodes pause the workflow until the assigned user(s) complete the required actions. |
|
|
To define a form prior to the start of a workflow, a task with the reserved name "run_config" must be created. When a task with the name "run_config" is declared in the workflow definition, the workflow engine will request that the form defined in that task be filled in as a step prior to the execution of the workflow. The form will be presented only to the user who requests to start the workflow. To set a node of type Initiation form, a node of type task must be used whose name is the reserved word "run_config". |
||
|
|
There are two ways to model a decision, distinguished by who makes the decision:
|
|
|
|
The Mail node enables the process to send email notifications automatically during workflow execution. |
|
|
Action nodes execute Java code in response to process events. The main event types are: entering a node, leaving a node, and taking a transition. Note the distinction between actions placed on events versus actions placed on nodes:
|
||
|
Scheduled nodes execute periodically through a cron task in the application core that controls the execution cycles. To set a node of type scheduled, a node of type action must be used whose name starts with the reserved word "scheduled". |
||
|
Library nodes allow you to define global methods and variables that can be utilized throughout the workflows. To set a node of type library, a node of type action must be used whose name starts with the reserved word "library_". |
Transitions
Transitions connect nodes in the workflow, defining the flow from one state to another. Each transition has a source node (represented by the from property) and a destination node (represented by the to property). Transitions can optionally be named for better clarity and documentation purposes.