The order of execution inside do_engine_steps has changed. Tasks are completed by subprocess, starting with those at the lowest depth. This allows do_engine_steps to refresh waiting tasks whenever all the available tasks in a subprocess are complete. This should make it more intuitive to use.
It also cleans up some methods in both Workflow and BpmnWorkflow, and removes some BPMN related attributes that have migrated into the base Workflow class.
This PR splits adds a simple
BpmnSubworkflow
class thatThe order of execution inside
do_engine_steps
has changed. Tasks are completed by subprocess, starting with those at the lowest depth. This allowsdo_engine_steps
to refresh waiting tasks whenever all the available tasks in a subprocess are complete. This should make it more intuitive to use.It also cleans up some methods in both
Workflow
andBpmnWorkflow
, and removes some BPMN related attributes that have migrated into the baseWorkflow
class.