Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:rule:connect_flows_to_any_side [2024-01-08 14:33] Anatoly Belaychuken:rule:connect_flows_to_any_side [2024-08-18 17:14] (current) – [Attach a control flow to any side of the activity box] Anatoly Belaychuk
Line 1: Line 1:
-====== 0DRAFT: Connect control flow to any side of the activity box ======+====== Attach sequence flow to any side of the activity box ======
  
-{{tag>"control flow" legacy}} +{{tag>sequence_flow legacy visual_style}}
- +
-{{en:underconstruction.png?nolink&200|}} +
- +
-For better readability.+
  
 +Feel free to attach control flow to the most convinient side of the activity box to make a diagram compact and visually attractive.
 ===== ✔ How to ===== ===== ✔ How to =====
  
-Put patterns (BPMN diagrams) here +<bpmnio type="bpmn"> 
 +<?xml version="1.0" encoding="UTF-8"?> 
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1"> 
 +  <collaboration id="Collaboration_1mpgug7"> 
 +    <participant id="Participant_0ylkagi" name="Order to cash" processRef="Process_0lm4nfr" /> 
 +  </collaboration> 
 +  <process id="Process_0lm4nfr"> 
 +    <laneSet id="LaneSet_132k3fs"> 
 +      <lane id="Lane_0hxui7r" name="Sales"> 
 +        <flowNodeRef>Event_1crgxel</flowNodeRef> 
 +        <flowNodeRef>Activity_0sv1k3c</flowNodeRef> 
 +      </lane> 
 +      <lane id="Lane_1ng0hv1" name="Finance"> 
 +        <flowNodeRef>Activity_1fjt1s5</flowNodeRef> 
 +        <flowNodeRef>Gateway_07uo8at</flowNodeRef> 
 +        <flowNodeRef>Event_1wd7su6</flowNodeRef> 
 +      </lane> 
 +      <lane id="Lane_12mipy3" name="Operations"> 
 +        <flowNodeRef>Activity_1y7ff04</flowNodeRef> 
 +        <flowNodeRef>Event_1jhp9rg</flowNodeRef> 
 +      </lane> 
 +    </laneSet> 
 +    <sequenceFlow id="Flow_0dlyykn" sourceRef="Event_1crgxel" targetRef="Activity_0sv1k3c" /> 
 +    <startEvent id="Event_1crgxel" name="Sales order obtained"> 
 +      <outgoing>Flow_0dlyykn</outgoing> 
 +    </startEvent> 
 +    <task id="Activity_0sv1k3c" name="Agree product specification"> 
 +      <incoming>Flow_0dlyykn</incoming> 
 +      <outgoing>Flow_1fc3ykn</outgoing> 
 +    </task> 
 +    <task id="Activity_1fjt1s5" name="Obtain payment"> 
 +      <incoming>Flow_1fc3ykn</incoming> 
 +      <outgoing>Flow_0zs6o8h</outgoing> 
 +    </task> 
 +    <exclusiveGateway id="Gateway_07uo8at" name="OK?"> 
 +      <incoming>Flow_0zs6o8h</incoming> 
 +      <outgoing>Flow_0s73106</outgoing> 
 +      <outgoing>Flow_1s6kjk3</outgoing> 
 +    </exclusiveGateway> 
 +    <endEvent id="Event_1wd7su6" name="Not paid"> 
 +      <incoming>Flow_0s73106</incoming> 
 +    </endEvent> 
 +    <task id="Activity_1y7ff04" name="Deliver"> 
 +      <incoming>Flow_1s6kjk3</incoming> 
 +      <outgoing>Flow_1ydpwba</outgoing> 
 +    </task> 
 +    <endEvent id="Event_1jhp9rg" name="OK"> 
 +      <incoming>Flow_1ydpwba</incoming> 
 +    </endEvent> 
 +    <sequenceFlow id="Flow_1fc3ykn" sourceRef="Activity_0sv1k3c" targetRef="Activity_1fjt1s5" /> 
 +    <sequenceFlow id="Flow_0zs6o8h" sourceRef="Activity_1fjt1s5" targetRef="Gateway_07uo8at" /> 
 +    <sequenceFlow id="Flow_0s73106" name="no" sourceRef="Gateway_07uo8at" targetRef="Event_1wd7su6" /> 
 +    <sequenceFlow id="Flow_1s6kjk3" name="yes" sourceRef="Gateway_07uo8at" targetRef="Activity_1y7ff04" /> 
 +    <sequenceFlow id="Flow_1ydpwba" sourceRef="Activity_1y7ff04" targetRef="Event_1jhp9rg" /> 
 +  </process> 
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1"> 
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Collaboration_1mpgug7"> 
 +      <bpmndi:BPMNShape id="Participant_0ylkagi_di" bpmnElement="Participant_0ylkagi" isHorizontal="true"> 
 +        <omgdc:Bounds x="270" y="60" width="470" height="360" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Lane_12mipy3_di" bpmnElement="Lane_12mipy3" isHorizontal="true"> 
 +        <omgdc:Bounds x="300" y="300" width="440" height="120" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Lane_1ng0hv1_di" bpmnElement="Lane_1ng0hv1" isHorizontal="true"> 
 +        <omgdc:Bounds x="300" y="180" width="440" height="120" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Lane_0hxui7r_di" bpmnElement="Lane_0hxui7r" isHorizontal="true"> 
 +        <omgdc:Bounds x="300" y="60" width="440" height="120" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_1crgxel_di" bpmnElement="Event_1crgxel"> 
 +        <omgdc:Bounds x="352" y="102" width="36" height="36" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="341" y="145" width="58" height="27" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_0sv1k3c_di" bpmnElement="Activity_0sv1k3c"> 
 +        <omgdc:Bounds x="430" y="80" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_1fjt1s5_di" bpmnElement="Activity_1fjt1s5"> 
 +        <omgdc:Bounds x="430" y="200" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Gateway_07uo8at_di" bpmnElement="Gateway_07uo8at" isMarkerVisible="true"> 
 +        <omgdc:Bounds x="575" y="215" width="50" height="50" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="588" y="193" width="23" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_1wd7su6_di" bpmnElement="Event_1wd7su6"> 
 +        <omgdc:Bounds x="682" y="222" width="36" height="36" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="680" y="265" width="41" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_1y7ff04_di" bpmnElement="Activity_1y7ff04"> 
 +        <omgdc:Bounds x="550" y="320" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_1jhp9rg_di" bpmnElement="Event_1jhp9rg"> 
 +        <omgdc:Bounds x="682" y="342" width="36" height="36" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="692" y="385" width="17" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNEdge id="Flow_0dlyykn_di" bpmnElement="Flow_0dlyykn"> 
 +        <omgdi:waypoint x="388" y="120" /> 
 +        <omgdi:waypoint x="430" y="120" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1fc3ykn_di" bpmnElement="Flow_1fc3ykn"> 
 +        <omgdi:waypoint x="480" y="160" /> 
 +        <omgdi:waypoint x="480" y="200" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_0zs6o8h_di" bpmnElement="Flow_0zs6o8h"> 
 +        <omgdi:waypoint x="530" y="240" /> 
 +        <omgdi:waypoint x="575" y="240" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_0s73106_di" bpmnElement="Flow_0s73106"> 
 +        <omgdi:waypoint x="625" y="240" /> 
 +        <omgdi:waypoint x="682" y="240" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="647" y="222" width="13" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1s6kjk3_di" bpmnElement="Flow_1s6kjk3"> 
 +        <omgdi:waypoint x="600" y="265" /> 
 +        <omgdi:waypoint x="600" y="320" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="607" y="283" width="17" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1ydpwba_di" bpmnElement="Flow_1ydpwba"> 
 +        <omgdi:waypoint x="650" y="360" /> 
 +        <omgdi:waypoint x="682" y="360" /> 
 +      </bpmndi:BPMNEdge> 
 +    </bpmndi:BPMNPlane> 
 +  </bpmndi:BPMNDiagram> 
 +</definitions> 
 +</bpmnio>
 ===== ✘ How NOT to ===== ===== ✘ How NOT to =====
  
-Put antipattern (BPMN diagrams) here +<bpmnio type="bpmn"> 
 +<?xml version="1.0" encoding="UTF-8"?> 
 +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-38422fae-e03e-43a3-bef4-bd33b32041b2" targetNamespace="http://bpmn.io/bpmn" exporter="http://bpmn.io" exporterVersion="0.10.1"> 
 +  <collaboration id="Collaboration_1mpgug7"> 
 +    <participant id="Participant_0ylkagi" name="Order to cash" processRef="Process_0lm4nfr" /> 
 +  </collaboration> 
 +  <process id="Process_0lm4nfr"> 
 +    <laneSet id="LaneSet_132k3fs"> 
 +      <lane id="Lane_0hxui7r" name="Sales"> 
 +        <flowNodeRef>Event_1crgxel</flowNodeRef> 
 +        <flowNodeRef>Activity_0sv1k3c</flowNodeRef> 
 +      </lane> 
 +      <lane id="Lane_1ng0hv1" name="Finance"> 
 +        <flowNodeRef>Activity_1fjt1s5</flowNodeRef> 
 +        <flowNodeRef>Gateway_07uo8at</flowNodeRef> 
 +        <flowNodeRef>Event_1wd7su6</flowNodeRef> 
 +      </lane> 
 +      <lane id="Lane_12mipy3" name="Operations"> 
 +        <flowNodeRef>Activity_1y7ff04</flowNodeRef> 
 +        <flowNodeRef>Event_1jhp9rg</flowNodeRef> 
 +      </lane> 
 +    </laneSet> 
 +    <sequenceFlow id="Flow_0dlyykn" sourceRef="Event_1crgxel" targetRef="Activity_0sv1k3c" /> 
 +    <startEvent id="Event_1crgxel" name="Sales order obtained"> 
 +      <outgoing>Flow_0dlyykn</outgoing> 
 +    </startEvent> 
 +    <task id="Activity_0sv1k3c" name="Agree product specification"> 
 +      <incoming>Flow_0dlyykn</incoming> 
 +      <outgoing>Flow_1fc3ykn</outgoing> 
 +    </task> 
 +    <sequenceFlow id="Flow_1fc3ykn" sourceRef="Activity_0sv1k3c" targetRef="Activity_1fjt1s5" /> 
 +    <task id="Activity_1fjt1s5" name="Obtain payment"> 
 +      <incoming>Flow_1fc3ykn</incoming> 
 +      <outgoing>Flow_0zs6o8h</outgoing> 
 +    </task> 
 +    <exclusiveGateway id="Gateway_07uo8at" name="OK?"> 
 +      <incoming>Flow_0zs6o8h</incoming> 
 +      <outgoing>Flow_0s73106</outgoing> 
 +      <outgoing>Flow_1s6kjk3</outgoing> 
 +    </exclusiveGateway> 
 +    <endEvent id="Event_1wd7su6" name="Not paid"> 
 +      <incoming>Flow_0s73106</incoming> 
 +    </endEvent> 
 +    <task id="Activity_1y7ff04" name="Deliver"> 
 +      <incoming>Flow_1s6kjk3</incoming> 
 +      <outgoing>Flow_1ydpwba</outgoing> 
 +    </task> 
 +    <endEvent id="Event_1jhp9rg" name="OK"> 
 +      <incoming>Flow_1ydpwba</incoming> 
 +    </endEvent> 
 +    <sequenceFlow id="Flow_0zs6o8h" sourceRef="Activity_1fjt1s5" targetRef="Gateway_07uo8at" /> 
 +    <sequenceFlow id="Flow_0s73106" name="no" sourceRef="Gateway_07uo8at" targetRef="Event_1wd7su6" /> 
 +    <sequenceFlow id="Flow_1s6kjk3" name="yes" sourceRef="Gateway_07uo8at" targetRef="Activity_1y7ff04" /> 
 +    <sequenceFlow id="Flow_1ydpwba" sourceRef="Activity_1y7ff04" targetRef="Event_1jhp9rg" /> 
 +  </process> 
 +  <bpmndi:BPMNDiagram id="BpmnDiagram_1"> 
 +    <bpmndi:BPMNPlane id="BpmnPlane_1" bpmnElement="Collaboration_1mpgug7"> 
 +      <bpmndi:BPMNShape id="Participant_0ylkagi_di" bpmnElement="Participant_0ylkagi" isHorizontal="true"> 
 +        <omgdc:Bounds x="270" y="60" width="740" height="360" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Lane_12mipy3_di" bpmnElement="Lane_12mipy3" isHorizontal="true"> 
 +        <omgdc:Bounds x="300" y="300" width="710" height="120" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Lane_1ng0hv1_di" bpmnElement="Lane_1ng0hv1" isHorizontal="true"> 
 +        <omgdc:Bounds x="300" y="180" width="710" height="120" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Lane_0hxui7r_di" bpmnElement="Lane_0hxui7r" isHorizontal="true"> 
 +        <omgdc:Bounds x="300" y="60" width="710" height="120" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_1crgxel_di" bpmnElement="Event_1crgxel"> 
 +        <omgdc:Bounds x="352" y="102" width="36" height="36" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="341" y="145" width="58" height="27" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_0sv1k3c_di" bpmnElement="Activity_0sv1k3c"> 
 +        <omgdc:Bounds x="430" y="80" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_1fjt1s5_di" bpmnElement="Activity_1fjt1s5"> 
 +        <omgdc:Bounds x="600" y="200" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Gateway_07uo8at_di" bpmnElement="Gateway_07uo8at" isMarkerVisible="true"> 
 +        <omgdc:Bounds x="745" y="215" width="50" height="50" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="758" y="193" width="23" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_1wd7su6_di" bpmnElement="Event_1wd7su6"> 
 +        <omgdc:Bounds x="852" y="222" width="36" height="36" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="850" y="265" width="41" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Activity_1y7ff04_di" bpmnElement="Activity_1y7ff04"> 
 +        <omgdc:Bounds x="820" y="320" width="100" height="80" /> 
 +        <bpmndi:BPMNLabel /> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNShape id="Event_1jhp9rg_di" bpmnElement="Event_1jhp9rg"> 
 +        <omgdc:Bounds x="952" y="342" width="36" height="36" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="962" y="385" width="17" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNShape> 
 +      <bpmndi:BPMNEdge id="Flow_0dlyykn_di" bpmnElement="Flow_0dlyykn"> 
 +        <omgdi:waypoint x="388" y="120" /> 
 +        <omgdi:waypoint x="430" y="120" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1fc3ykn_di" bpmnElement="Flow_1fc3ykn"> 
 +        <omgdi:waypoint x="530" y="120" /> 
 +        <omgdi:waypoint x="560" y="120" /> 
 +        <omgdi:waypoint x="560" y="240" /> 
 +        <omgdi:waypoint x="600" y="240" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_0zs6o8h_di" bpmnElement="Flow_0zs6o8h"> 
 +        <omgdi:waypoint x="700" y="240" /> 
 +        <omgdi:waypoint x="745" y="240" /> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_0s73106_di" bpmnElement="Flow_0s73106"> 
 +        <omgdi:waypoint x="795" y="240" /> 
 +        <omgdi:waypoint x="852" y="240" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="817" y="222" width="13" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1s6kjk3_di" bpmnElement="Flow_1s6kjk3"> 
 +        <omgdi:waypoint x="770" y="265" /> 
 +        <omgdi:waypoint x="770" y="360" /> 
 +        <omgdi:waypoint x="820" y="360" /> 
 +        <bpmndi:BPMNLabel> 
 +          <omgdc:Bounds x="784" y="338" width="17" height="14" /> 
 +        </bpmndi:BPMNLabel> 
 +      </bpmndi:BPMNEdge> 
 +      <bpmndi:BPMNEdge id="Flow_1ydpwba_di" bpmnElement="Flow_1ydpwba"> 
 +        <omgdi:waypoint x="920" y="360" /> 
 +        <omgdi:waypoint x="952" y="360" /> 
 +      </bpmndi:BPMNEdge> 
 +    </bpmndi:BPMNPlane> 
 +  </bpmndi:BPMNDiagram> 
 +</definitions> 
 +</bpmnio>
 ===== Notes ===== ===== Notes =====
  
-IDEF0 legacy. +  * IDEF0 prescribes the control flows to get out from right side of the source box and get into the left side of the destination so analysts with a heavy IDEF0 background tend to follow this rule when switching to BPMN. However there is no such limitation in BPMN.
- +
-===== Exceptions ===== +
- +
-Specify exceptions to the rule above, if any +
 ===== See also ===== ===== See also =====
  
-  * [[en:rule:do_not_number_activities]]+  * [[en:rule:time_flows_left_to_right]] 
 +  * [[en:rule:v_shaped_flow]] 
 +===== Автор(ы) =====
  
-===== Автор(ы) =====+ --- //[[user:bell|Anatoly Belaychuk]] 2024-01-08 20:29//
  
-Put signature here