mirror of
https://github.com/sartography/demo-process-models.git
synced 2025-02-25 06:35:23 +00:00
147 lines
8.4 KiB
XML
147 lines
8.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:spiffworkflow="http://spiffworkflow.org/bpmn/schema/1.0/core" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_96f6665" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.0.0-dev">
|
|
<bpmn:collaboration id="Collaboration_0y7oun0">
|
|
<bpmn:participant id="Participant_0sjjdhc" processRef="Process_9wllce2" />
|
|
</bpmn:collaboration>
|
|
<bpmn:process id="Process_9wllce2" isExecutable="true">
|
|
<bpmn:laneSet id="LaneSet_1tmn5gq">
|
|
<bpmn:lane id="Lane_0wgzewb">
|
|
<bpmn:flowNodeRef>Activity_121gfc7</bpmn:flowNodeRef>
|
|
<bpmn:flowNodeRef>Event_1pi0b2e</bpmn:flowNodeRef>
|
|
<bpmn:flowNodeRef>StartEvent_1</bpmn:flowNodeRef>
|
|
<bpmn:flowNodeRef>Activity_0cya923</bpmn:flowNodeRef>
|
|
</bpmn:lane>
|
|
<bpmn:lane id="Lane_15s7af6" name="approvers">
|
|
<bpmn:flowNodeRef>Activity_041y60h</bpmn:flowNodeRef>
|
|
</bpmn:lane>
|
|
</bpmn:laneSet>
|
|
<bpmn:userTask id="Activity_121gfc7" name="Describe Vacation">
|
|
<bpmn:extensionElements>
|
|
<spiffworkflow:properties>
|
|
<spiffworkflow:property name="formJsonSchemaFilename" value="your-favorite-vacation-spot-schema.json" />
|
|
<spiffworkflow:property name="formUiSchemaFilename" value="your-favorite-vacation-spot-uischema.json" />
|
|
</spiffworkflow:properties>
|
|
<spiffworkflow:postScript />
|
|
</bpmn:extensionElements>
|
|
<bpmn:incoming>Flow_08b39kn</bpmn:incoming>
|
|
<bpmn:outgoing>Flow_0moponf</bpmn:outgoing>
|
|
</bpmn:userTask>
|
|
<bpmn:sequenceFlow id="Flow_08w5ra5" sourceRef="StartEvent_1" targetRef="Activity_0cya923" />
|
|
<bpmn:endEvent id="Event_1pi0b2e">
|
|
<bpmn:extensionElements>
|
|
<spiffworkflow:instructionsForEndUser>Thanks so much for checking out Lanes - this is very simple example. You could have dozens of lanes in a single diagram, or modify the list of people allowed to complete a process in a loop. Imagine you need sign-off from 3 of 12 potential people. You could loop back to the same process 3 times, each time removing people from the list of possible candidates.
|
|
|
|
Like many aspects of BPMN, it is a very simple visual representation that is also very robust and easy to shape to many different circumstances.
|
|
|
|
### What's Next?
|
|
|
|
Please check back frequently, we will be adding new documentation and examples on a regular basis.
|
|
|
|
### Get Involved!
|
|
Please get in touch with us! We would love to help you as you orchestrate the flow of tasks between many people and groups. There is no end to what we can accomplish if we work together. Please reach out to Dan at [dan@sartography.com](mailto:dan@sartography.com) to get started.</spiffworkflow:instructionsForEndUser>
|
|
</bpmn:extensionElements>
|
|
<bpmn:incoming>Flow_0dsxo60</bpmn:incoming>
|
|
</bpmn:endEvent>
|
|
<bpmn:sequenceFlow id="Flow_0moponf" sourceRef="Activity_121gfc7" targetRef="Activity_041y60h" />
|
|
<bpmn:sequenceFlow id="Flow_0dsxo60" sourceRef="Activity_041y60h" targetRef="Event_1pi0b2e" />
|
|
<bpmn:userTask id="Activity_041y60h" name="Approve Vacation">
|
|
<bpmn:extensionElements>
|
|
<spiffworkflow:properties>
|
|
<spiffworkflow:property name="formJsonSchemaFilename" value="approve-vacation-request-schema.json" />
|
|
<spiffworkflow:property name="formUiSchemaFilename" value="approve-vacation-request-uischema.json" />
|
|
</spiffworkflow:properties>
|
|
<spiffworkflow:instructionsForEndUser>Please complete the form below to submit an approval request for the Vacation.</spiffworkflow:instructionsForEndUser>
|
|
</bpmn:extensionElements>
|
|
<bpmn:incoming>Flow_0moponf</bpmn:incoming>
|
|
<bpmn:outgoing>Flow_0dsxo60</bpmn:outgoing>
|
|
</bpmn:userTask>
|
|
<bpmn:sequenceFlow id="Flow_08b39kn" sourceRef="Activity_0cya923" targetRef="Activity_121gfc7" />
|
|
<bpmn:startEvent id="StartEvent_1">
|
|
<bpmn:outgoing>Flow_08w5ra5</bpmn:outgoing>
|
|
</bpmn:startEvent>
|
|
<bpmn:manualTask id="Activity_0cya923" name="About Lane Assignment">
|
|
<bpmn:extensionElements>
|
|
<spiffworkflow:instructionsForEndUser>
|
|
You have likely run across Swim Lanes before - it is an elegant way to describe who is responsible for what.
|
|
|
|
This is a very simple example. You will complete a form, and then, because the next task is in a different Lane, you will be informed that it is waiting on a different user and there is no more for you to do.
|
|
|
|
When you complete this form you will see the diagram that drives this process. You will notice that there are two lanes, once that shows this introduction and a form, and another lane that belongs to an "admin". So how do lanes get assigned to specific people?
|
|
|
|
### Lane assignment can be done in two ways.
|
|
|
|
#### Lane assignment with Groups
|
|
SpiffWorkflow can be configured to read group information from your organization in a number of ways. We will cover that topic in an Article on Integration later on. If a lane name in your BPMN diagram matches the name of a user group, then it will allow any member of that group to complete the task.
|
|
|
|
The example here uses **groups** - a small set of people are in the "admin" group, so this will assign this task to those users whenever you complete this form.
|
|
|
|
#### Lane assignment with Task Data
|
|
You can set it in the Task Data, via a script task or using a Decision Table. For instance, a script task like the following:
|
|
```python
|
|
lane_owners =
|
|
{ "Vacation Approver": ["The Funkalicious Dan"] }
|
|
}
|
|
```
|
|
Would assure that any lane labeled "Vacation Approver" in the current diagram will be assigned to the user with id "The Funkalicious Dan".
|
|
|
|
|
|
|
|
|
|
</spiffworkflow:instructionsForEndUser>
|
|
</bpmn:extensionElements>
|
|
<bpmn:incoming>Flow_08w5ra5</bpmn:incoming>
|
|
<bpmn:outgoing>Flow_08b39kn</bpmn:outgoing>
|
|
</bpmn:manualTask>
|
|
</bpmn:process>
|
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
|
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_0y7oun0">
|
|
<bpmndi:BPMNShape id="Participant_0sjjdhc_di" bpmnElement="Participant_0sjjdhc" isHorizontal="true">
|
|
<dc:Bounds x="340" y="70" width="710" height="300" />
|
|
</bpmndi:BPMNShape>
|
|
<bpmndi:BPMNShape id="Lane_15s7af6_di" bpmnElement="Lane_15s7af6" isHorizontal="true">
|
|
<dc:Bounds x="370" y="220" width="680" height="150" />
|
|
<bpmndi:BPMNLabel />
|
|
</bpmndi:BPMNShape>
|
|
<bpmndi:BPMNShape id="Lane_0wgzewb_di" bpmnElement="Lane_0wgzewb" isHorizontal="true">
|
|
<dc:Bounds x="370" y="70" width="680" height="150" />
|
|
</bpmndi:BPMNShape>
|
|
<bpmndi:BPMNShape id="Activity_0axyuw7_di" bpmnElement="Activity_121gfc7">
|
|
<dc:Bounds x="600" y="127" width="100" height="80" />
|
|
</bpmndi:BPMNShape>
|
|
<bpmndi:BPMNShape id="Event_1pi0b2e_di" bpmnElement="Event_1pi0b2e">
|
|
<dc:Bounds x="962" y="149" width="36" height="36" />
|
|
</bpmndi:BPMNShape>
|
|
<bpmndi:BPMNShape id="Activity_0lxj3pw_di" bpmnElement="Activity_041y60h">
|
|
<dc:Bounds x="760" y="270" width="100" height="80" />
|
|
</bpmndi:BPMNShape>
|
|
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
|
|
<dc:Bounds x="392" y="149" width="36" height="36" />
|
|
</bpmndi:BPMNShape>
|
|
<bpmndi:BPMNShape id="Activity_0d1pwmh_di" bpmnElement="Activity_0cya923">
|
|
<dc:Bounds x="470" y="127" width="100" height="80" />
|
|
<bpmndi:BPMNLabel />
|
|
</bpmndi:BPMNShape>
|
|
<bpmndi:BPMNEdge id="Flow_08w5ra5_di" bpmnElement="Flow_08w5ra5">
|
|
<di:waypoint x="428" y="167" />
|
|
<di:waypoint x="470" y="167" />
|
|
</bpmndi:BPMNEdge>
|
|
<bpmndi:BPMNEdge id="Flow_0moponf_di" bpmnElement="Flow_0moponf">
|
|
<di:waypoint x="700" y="167" />
|
|
<di:waypoint x="725" y="167" />
|
|
<di:waypoint x="725" y="310" />
|
|
<di:waypoint x="760" y="310" />
|
|
</bpmndi:BPMNEdge>
|
|
<bpmndi:BPMNEdge id="Flow_0dsxo60_di" bpmnElement="Flow_0dsxo60">
|
|
<di:waypoint x="860" y="310" />
|
|
<di:waypoint x="891" y="310" />
|
|
<di:waypoint x="891" y="167" />
|
|
<di:waypoint x="962" y="167" />
|
|
</bpmndi:BPMNEdge>
|
|
<bpmndi:BPMNEdge id="Flow_08b39kn_di" bpmnElement="Flow_08b39kn">
|
|
<di:waypoint x="570" y="167" />
|
|
<di:waypoint x="600" y="167" />
|
|
</bpmndi:BPMNEdge>
|
|
</bpmndi:BPMNPlane>
|
|
</bpmndi:BPMNDiagram>
|
|
</bpmn:definitions>
|