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:

TypeImageDescription

Start node

The Start node defines the entry point of the process. Each process definition must have exactly one Start node.

End 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.

Task node

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.

Initiation form

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".

Decision node

There are two ways to model a decision, distinguished by who makes the decision:

  • When the decision is made automatically by the process logic, use a Decision node.
  • When the decision is made by an external party (user or system), use multiple transitions leaving a state or wait state node.

Mail

The Mail node enables the process to send email notifications automatically during workflow execution.

Action node

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:

  • Actions placed on events execute when the event fires, but cannot influence the process flow control.
  • Actions placed on nodes are responsible for propagating the execution to the next step in the workflow.

Scheduled node

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 node

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.

 

 

Table of contents [ Hide Show ]