-
Notifications
You must be signed in to change notification settings - Fork 3
Imixs BPMN Plugin
Imixs-BPMN is 100% compatible with the BPMN 2.0 standard. Imixs-BPMN extends the modeling standard with custom bpmn2:extensionElements. These elements are part of the BPMN 2.0 standard. Therefore any existing BPMN model can be extended to be runnable on the Imixs-Workflow engine.
##Processing information
The processing information for the Imixs-Workflow engine are described in the imixs:item elements which are subelements of a bpmn2:extensionElement. See the following example:
<bpmn2:extensionElements>
<imixs:item name="txtworkflowmodelversion" type="xs:string">
<imixs:value><![CDATA[1.0.0]]></imixs:value>
</imixs:item>
<imixs:item name="txtplugins" type="xs:string">
<imixs:value><![CDATA[org.imixs.workflow.AccessPlugin]]></imixs:value>
<imixs:value><![CDATA[org.imixs.workflow.MailPlugin]]></imixs:value>`
</imixs:item>
</bpmn2:extensionElements>
The extensionElements can be part of a bpmn2:task or a bpmn2:intermediateCatchEvent. In Imixs-Workflow a BPMN task element describes the Process Entity. The Activity Entities are describes in intermediateCatchEvents. To identify Task and Event elements extended to the Imixs-Workflow these elements are annotated with the attributes imixs:processid and imixs:activityid. See the following example:
<bpmn2:task id="Task_1" imixs:processid="1000" name="create new order">
<bpmn2:extensionElements>
<imixs:item name="txtworkflowsummary" type="xs:string">
<imixs:value><![CDATA[Create a new Order]]></imixs:value>
</imixs:item>
<imixs:item name="txtworkflowabstract" type="CDATA">
<imixs:value><![CDATA[Some order details....]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing>
</bpmn2:task>
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" imixs:activityid="10" name="submit order">
<bpmn2:extensionElements>
<imixs:item name="txtactivityresult" type="CDATA">
<imixs:value><![CDATA[/workflow/home/]]></imixs:value>
</imixs:item>
<imixs:item name="rtfresultlog" type="CDATA">
<imixs:value><![CDATA[Order submitted by <username />]]></imixs:value>
</imixs:item>
<imixs:item name="txtsubject" type="xs:string">
<imixs:value><![CDATA[Order-ID: 4711]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string">
<imixs:value><![CDATA[nammanager]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddreadfields" type="xs:string">
<imixs:value><![CDATA[namteam]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_9</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
The Imixs extensionElements are defined under the namespace xmlns:imixs="http://www.imixs.org/bpmn2".
With this concept any BPMN 2.0 model can be extended to be executable on the Imixs-Workflow engine.