Element Reference
This section describes the BPMN 2.0 elements that you can use in Jmix BPM and the tasks that Jmix adds: Entity Data, Send Email and Send Notification tasks. For each element, it lists the properties in the Modeler view and explains how the process engine runs the element. In XML, the Jmix tasks are service tasks with a flowable:type attribute, for example, jmix-send-email. The section doesn’t explain the BPMN notation. For the notation, see the BPMN 2.0.2 specification and BPMN 2.0 Constructs in the Flowable documentation.
Supported Elements
| Element | Description |
|---|---|
Process properties: who can start the process, the signal, message, error and escalation definitions that events refer to, and the history level. |
|
Pools and lanes of a diagram, and collaborations of several processes. A lane can assign the user tasks placed on it. |
|
Start, intermediate, boundary and end events. See BPMN Events Coverage for the supported event types. |
|
A task for a person: assignee and candidates, process form, outcomes, due date and notifications. |
|
Calls a Spring bean method, a Java delegate class, an expression or a delegate expression, or creates a job for an external worker. |
|
Runs a Groovy script. |
|
Evaluates a DMN decision table. |
|
Entity Data Task (Jmix) |
Loads, creates or modifies Jmix entities. |
Send Email Task (Jmix) |
Sends an email through the Email add-on. |
Send Notification Task (Jmix) |
Sends in-app and email notifications through the Notifications add-on. |
Sequence flows, conditions from an expression, a user task outcome or a business rule task result, and exclusive, parallel, inclusive and event-based gateways. |
|
Embedded, event and transaction subprocesses, and call activities. |
|
Runs a task or a subprocess several times, sequentially or in parallel. |
Unsupported Elements
The Change type menu of the Modeler view doesn’t offer the send task, receive task, manual task and collapsed subprocess.
Jmix BPM doesn’t support:
-
Complex gateway. The Change type menu of the Modeler view offers it, but the engine doesn’t implement it: a process with a complex gateway deploys without errors, but the gateway doesn’t work as BPMN defines.
-
Loop marker. To run an activity several times, use its multi-instance properties.
-
Some event types. See BPMN Events Coverage and Workarounds for Unsupported Events.
A task without a type, called an abstract task, can be deployed, but the engine ignores it and moves on.
Extension Properties
User tasks, service tasks and script tasks have the Extension properties field. An extension property is a name-value pair that is saved with the element in the process XML.
In XML, extension properties are defined by the jmix:property element:
<serviceTask id="service-task" name="Service Task" >
<!-- . . . -->
<extensionElements>
<!-- . . . -->
<jmix:properties>
<jmix:property name="color" value="red" />
</jmix:properties>
</extensionElements>
</serviceTask>