User Story (Required on creation):
When using the engine via REST API (standalone/remote engine), I want to receive notifications when activities are started or completed so that I can update state in my systems according to the state of process execution (e.g. keeping track of the hierarchy of process execution through call activities)
Functional Requirements (Required before implementation):
- I can define a listener on the "start" event and configure it as an external task (type "External", topic can be chosen by the user)
- There is a new type of event called "complete". It is triggered when an activity completes successfully, but not when it is canceled (the "end" event covers both)
- I can define a listener on the "complete" event and configure it as an external task (type "External", topic can be chosen by the user)
- This feature request works for all BPMN elements that support execution listeners and that do not contain other activities in the same BPMN model
- Supported: events, user tasks, call activities, etc.
- Not Supported: Embedded subprocesses
Technical Requirements (Required before implementation):
- While a process instance is in the wait state at the start or complete event, events for the corresponding activity can be triggered (e.g. if a boundary event is attached to that activity)
Limitations of Scope (Optional):
- Triggering the listener on cancellation is not in scope, because of high technical complexity. For example if a boundary event cancels an activity that has an external task end listener, deletion of executions has to become asynchronous which is very hard to implement in the PVM