Transition
A transition defines the change from one state to the next.
Action transitions
Typically a state transition is triggered after an action is executed. Action transtitions have an on
property that specifies the action that triggers the transition.
Optionally they can have a by
property to specify which actors can trigger the transitions. Multiple transitions can have the same action but with different actors.
Action transitions are evaluated in order. If multiple transitions apply, only the first one is used.
Timeout transitions
Alternatively, state transitions can happen after a specific time. In this case the transition has after
property instead of on
.
If multiple timeout transitions are available, the one with the lowest value for after
will be used.
If a state transition uses goto: ~
, the process stays in the same state and the time for a timeout is not reset. In cases goto
contains the name of the current state, the time is reset.
Properties
on
on
string
Key of the action that must be performed for this transition to be selected.
by
by
string or array of string
The key of an actor or multiple actors as array. Only select this transition if the action is performed by this actor / one of these actors.
after
after
time
A time after which the transition should be executed. If you specify a timeout using after
do not use the on
and by
property.
The time should be in the form of 'amount unit' in English, eg '10 minutes', '12 hours`, or `1 week`.
goto
goto
string
The key of the state where to transition to.
if
if
boolean or function
A boolean that must be true for the transition to be selected. This is typically a <ref>
data instruction.
log
log
log definition
Defines the title and description of the log entry added during a state transition.
Last updated
Was this helpful?