A workflow always has a state associated with it; OSWorkflow represents it in the form of status. Every step has a status while the workflow is placed on it and when the workflow advances, OSWorkflow assigns the leaving step an old-status
value. Consider the previous example:
<step id="2" name="Manager revision">
<actions>
<action id="2" name="A+pprove">
<results>
<unconditional-result old-status=
"Revised" status="Approved" step="3"/>
</results>
</action>
When the action with id 2
makes the process take the action's unconditional result, it leaves the step with the status Revised
(thus an old status) and the new current step (step 3) takes the status value of Approved
. The following figure shows this mechanism in a more generic fashion. It depicts a step transition from Step 1
to Step 2
.
The definition of Step 1
is as follows:
<step id="1" name="Step 1"> <actions> <action id="1" name="Action...