Example 1 – sequential routing

Here is a diagram:

The trigger which starts a new CASE is 'Add Person'

There is 1 place:

There are 2 transitions:

There are 4 arcs:


Example 2 – conditional routing with a timed split

Here is a diagram:

The trigger which starts a new CASE is 'Add Person'

There is 1 place:

There are 3 transitions:

There are 6 arcs:

If T1 is not fired within the time limit, T3 will be fired instead. Whichever of T1 and T3 is fired first will cause the other to be cancelled.

Expired items can be identified by running script workitem(timeout).php as a cron job at timed intervals.


Example 3 – parallel routing

Here is a diagram:

The trigger which starts a new CASE is 'Add Person'

There are 4 places:

There are 4 transitions:

There are 10 arcs:


Example 4 – conditional routing with a guard

Here is a diagram:

The trigger which starts a new CASE is 'Add Person'

There are 2 places:

There are 3 transitions:

There are 7 arcs:

After transition T1 is executed the workflow engine will examine the 2 arcs for a pre-condition (guard). If this condition evaluates to TRUE then the arc with the condition will be processed and the other arc will be ignored. If the condition is FALSE then the arc without the condition will be processed.


Example 5 – iterative routing

Here is a diagram:

The trigger which starts a new CASE is 'Add Person'

There is 1 place:

There are 2 transitions:

There are 5 arcs:

After transition T1 is executed the workflow engine will examine the 2 arcs for a pre-condition (guard). If this condition evaluates to TRUE then the arc with the condition will be processed and the other arc will be ignored. If the condition is FALSE then the arc without the condition will be processed.