Hi All,
I encountered strange behavior when migrating a process to a new version with boundary events on call activities. Let’s say we have a process with one call activity. After starting it, it will stop at this call activity:
Now let’s add a timer boundary event to this call activity, and then migrate the process without mapping elements:
The call activity is still active after process migration, but timer will never start it’s branch.
If we change timer boundary event to signal / message boundary event we will face the same issue.
Is this a bug? How can I make boundary events work after migration?
Thanks!
boundary_migration_test_v1.bpmn
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" targetNamespace="http://bpmn.io/schema/bpmn"> <process id="boundary_migration_test" name="тест миграции boundary" isExecutable="true"> <startEvent id="StartEvent_1"> <outgoing>Flow_01272tt</outgoing> <outgoing>Flow_01272tt</outgoing> </startEvent> <sequenceFlow id="Flow_01272tt" sourceRef="StartEvent_1" targetRef="Activity_0yw2cdr" /> <endEvent id="Event_1cq2joc"> <incoming>Flow_109iv2i</incoming> <incoming>Flow_109iv2i</incoming> </endEvent> <sequenceFlow id="Flow_109iv2i" sourceRef="Activity_0yw2cdr" targetRef="Event_1cq2joc" /> <callActivity id="Activity_0yw2cdr" calledElement="oneTaskProcess"> <incoming>Flow_01272tt</incoming> <incoming>Flow_01272tt</incoming> <outgoing>Flow_109iv2i</outgoing> <outgoing>Flow_109iv2i</outgoing> </callActivity> </process> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="boundary_migration_test"> <bpmndi:BPMNEdge id="Flow_109iv2i_di" bpmnElement="Flow_109iv2i"> <omgdi:waypoint x="600" y="258" /> <omgdi:waypoint x="652" y="258" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_01272tt_di" bpmnElement="Flow_01272tt"> <omgdi:waypoint x="448" y="258" /> <omgdi:waypoint x="500" y="258" /> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> <omgdc:Bounds x="412" y="240" width="36" height="36" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_1cq2joc_di" bpmnElement="Event_1cq2joc"> <omgdc:Bounds x="652" y="240" width="36" height="36" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0p9koco_di" bpmnElement="Activity_0yw2cdr"> <omgdc:Bounds x="500" y="218" width="100" height="80" /> </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </definitions>
boundary_migration_test_v2.bpmn
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" targetNamespace="http://bpmn.io/schema/bpmn"> <process id="boundary_migration_test" name="тест миграции boundary" isExecutable="true"> <startEvent id="StartEvent_1"> <outgoing>Flow_01272tt</outgoing> </startEvent> <sequenceFlow id="Flow_01272tt" sourceRef="StartEvent_1" targetRef="Activity_0yw2cdr" /> <endEvent id="Event_1cq2joc"> <incoming>Flow_109iv2i</incoming> </endEvent> <sequenceFlow id="Flow_109iv2i" sourceRef="Activity_0yw2cdr" targetRef="Event_1cq2joc" /> <callActivity id="Activity_0yw2cdr" calledElement="oneTaskProcess"> <incoming>Flow_01272tt</incoming> <outgoing>Flow_109iv2i</outgoing> </callActivity> <boundaryEvent id="Event_0zsyb5f" attachedToRef="Activity_0yw2cdr"> <outgoing>Flow_1c56b9v</outgoing> <timerEventDefinition id="TimerEventDefinition_0pywwx5"> <timeDuration xsi:type="tFormalExpression">PT1M</timeDuration> </timerEventDefinition> </boundaryEvent> <endEvent id="Event_112epqw"> <incoming>Flow_1c56b9v</incoming> </endEvent> <sequenceFlow id="Flow_1c56b9v" sourceRef="Event_0zsyb5f" targetRef="Event_112epqw" /> </process> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="boundary_migration_test"> <bpmndi:BPMNEdge id="Flow_109iv2i_di" bpmnElement="Flow_109iv2i"> <omgdi:waypoint x="600" y="258" /> <omgdi:waypoint x="652" y="258" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_01272tt_di" bpmnElement="Flow_01272tt"> <omgdi:waypoint x="448" y="258" /> <omgdi:waypoint x="500" y="258" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="Flow_1c56b9v_di" bpmnElement="Flow_1c56b9v"> <omgdi:waypoint x="600" y="316" /> <omgdi:waypoint x="600" y="380" /> <omgdi:waypoint x="672" y="380" /> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> <omgdc:Bounds x="412" y="240" width="36" height="36" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_1cq2joc_di" bpmnElement="Event_1cq2joc"> <omgdc:Bounds x="652" y="240" width="36" height="36" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Activity_0p9koco_di" bpmnElement="Activity_0yw2cdr"> <omgdc:Bounds x="500" y="218" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_112epqw_di" bpmnElement="Event_112epqw"> <omgdc:Bounds x="672" y="362" width="36" height="36" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="Event_1kcwu39_di" bpmnElement="Event_0zsyb5f"> <omgdc:Bounds x="582" y="280" width="36" height="36" /> </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </definitions>
Famous One Task Process.bpmn
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" targetNamespace="http://bpmn.io/schema/bpmn"><process id="oneTaskProcess" name="Famous One Task Process" isExecutable="true"><startEvent id="StartEvent_1"><outgoing>Flow_0d2evbe</outgoing></startEvent><sequenceFlow id="Flow_0d2evbe" sourceRef="StartEvent_1" targetRef="Activity_1cocc1y" /><endEvent id="Event_1g95oge"><incoming>Flow_17pojo9</incoming></endEvent><sequenceFlow id="Flow_17pojo9" sourceRef="Activity_1cocc1y" targetRef="Event_1g95oge" /><userTask id="Activity_1cocc1y" name="myTask"><incoming>Flow_0d2evbe</incoming><outgoing>Flow_17pojo9</outgoing></userTask></process><bpmndi:BPMNDiagram id="BPMNDiagram_1"><bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="oneTaskProcess"><bpmndi:BPMNEdge id="Flow_0d2evbe_di" bpmnElement="Flow_0d2evbe"><omgdi:waypoint x="448" y="258" /><omgdi:waypoint x="500" y="258" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="Flow_17pojo9_di" bpmnElement="Flow_17pojo9"><omgdi:waypoint x="600" y="258" /><omgdi:waypoint x="652" y="258" /></bpmndi:BPMNEdge><bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"><omgdc:Bounds x="412" y="240" width="36" height="36" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="Event_1g95oge_di" bpmnElement="Event_1g95oge"><omgdc:Bounds x="652" y="240" width="36" height="36" /></bpmndi:BPMNShape><bpmndi:BPMNShape id="Activity_1mnztr7_di" bpmnElement="Activity_1cocc1y"><omgdc:Bounds x="500" y="218" width="100" height="80" /></bpmndi:BPMNShape></bpmndi:BPMNPlane></bpmndi:BPMNDiagram></definitions>