This content has been marked as final. Show 2 replies
currently, you are forced to have a start-state to mark the initial node in your process-definition.
i think it is a good idea to expand this so that any type of node could be the first node in the process. we already did this with SEAM.
IMO, the most elegant way to achieve this is by adding an optional attribute 'initial' to the process-definition. the value must be a node name. when the initial node is specified as an attribute, the process should not have a start-state.
the result is that with the initial attribute on the process-definition, any node type can be used as the start state.
we would have to update the core engine new ProcessInstance(processDefinition) method. after creating the process instance and positioning the token in the initial node, the initial node has to be executed. now that is not the case. the initial node is not executed.
because the start-state now has an empty implementation, this will be backwards compatible.