Pools and Lanes
Processes are often contained within a pool, which can be further divided into lanes. Pools and lanes represent participants and responsibilities, adding structure and clarity to complex processes.
Pools
Pool represents a participant in a collaboration. Although a process can run without a pool, adding it can clarify the roles involved. When you add a pool , it automatically wraps all elements in the diagram.
| Deletion of the pool deletes all elements inside it. |
Properties
By adding a pool, a basic process becomes a collaboration. As a result, when no elements are selected, the right panel will show collaboration properties in place of process properties.
Selecting a pool element lets you specify its Id and Name, as well as edit the corresponding process properties.
XML Representation
Adding a pool results in a collaboration section with nested participant elements.
<collaboration id="Collaboration_16sinaz">
<participant id="Participant_1txu04k" processRef="pool-demo" />
</collaboration>
<process id="pool-demo" name="Pool demo" isExecutable="true">
<startEvent id="Event_0yeospn">
<outgoing>Flow_1snk2tn</outgoing>
</startEvent>
<sequenceFlow id="Flow_1snk2tn" sourceRef="Event_0yeospn" targetRef="Activity_187mecy" />
<userTask id="Activity_187mecy">
<incoming>Flow_1snk2tn</incoming>
</userTask>
</process>
Collaboration Model
Multiple pools create a collaboration model that illustrates relationships and interactions between multiple participants.
When you deploy a collaboration model, each process will be deployed separately with its own id, and it will be visible in the process definitions list. So you will be able to start any process from the collaboration.
Lanes
Lane is a subsection within a pool that represents a specific role, responsibility, or department.
Properties
Select a lane element to see its properties.
Property |
Description |
Id |
The id of the lane |
Name |
The name of the lane. |
Assignee source |
Assign a performer based on expression, process variable or user provider. See user task for details. |
Candidate groups |
A group of users permitted to perform activities within the lane. |
Candidate users |
Individual users permitted perform activities within the lane. |
| Every user task on the lane without an explicitly defined assignee will inherit the assignee value from the lane. |
XML Representation
Lanes are represented by the laneSet element and individual lane elements.
Each lane contains properties and list of activities placed on it.
<process id="pool-and-lanes" name="Pool and lanes" isExecutable="true">
<laneSet id="LaneSet_1lxq2l3">
<lane id="Lane_1" name="User 1">
<extensionElements>
<jmix:assignmentDetails assigneeSource="expression" assigneeValue="user1" assignee="user1" candidateUsersSource="users" candidateGroupsSource="userGroups" />
<jmix:conditionDetails conditionSource="userTaskOutcome" />
</extensionElements>
<flowNodeRef>Activity_0n34ol9</flowNodeRef>
<flowNodeRef>Activity_0758bjc</flowNodeRef>
<flowNodeRef>Event_1mkoyrv</flowNodeRef>
</lane>
<lane id="Lane_2" name="User 2">
...
</lane>
</laneSet>