Camunda-modeler: Connectors don't always touch flow objects when actually being connected

Created on 5 Dec 2019  路  6Comments  路  Source: camunda/camunda-modeler

__Describe the Bug__

I can visualy disconnect connecting objects from flow objects. Doing that the bpmn portion of the diagram stays intact. But the bpmndi is buggy.

__Steps to Reproduce__

Kapture 2019-12-05 at 23 26 26

__Expected Behavior__

Flow objects and connectors stay connected.

__Environment__

Camunda Modeler 3.5.0


Depends on https://github.com/bpmn-io/bpmn-js/issues/529.

backlog bug modeling spring cleaning ux

All 6 comments

The sources from the model shown in the gif.

<?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:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0xw58rv" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.5.0">
  <bpmn:process id="Process_0n8nyp8" isExecutable="true">
    <bpmn:startEvent id="StartEvent_17aa89y">
      <bpmn:outgoing>SequenceFlow_1xzhcls</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:task id="Task_19no963">
      <bpmn:incoming>SequenceFlow_1xzhcls</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_0jd9m8c</bpmn:outgoing>
    </bpmn:task>
    <bpmn:sequenceFlow id="SequenceFlow_1xzhcls" sourceRef="StartEvent_17aa89y" targetRef="Task_19no963" />
    <bpmn:exclusiveGateway id="ExclusiveGateway_1snarmy">
      <bpmn:incoming>SequenceFlow_0jd9m8c</bpmn:incoming>
      <bpmn:incoming>SequenceFlow_17x79x6</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_01w4xx0</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:sequenceFlow id="SequenceFlow_0jd9m8c" sourceRef="Task_19no963" targetRef="ExclusiveGateway_1snarmy" />
    <bpmn:task id="Task_17mi5w3">
      <bpmn:incoming>SequenceFlow_01w4xx0</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_1lfmx65</bpmn:outgoing>
    </bpmn:task>
    <bpmn:sequenceFlow id="SequenceFlow_01w4xx0" sourceRef="ExclusiveGateway_1snarmy" targetRef="Task_17mi5w3" />
    <bpmn:endEvent id="EndEvent_0lw0ado">
      <bpmn:incoming>SequenceFlow_05nfdzj</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="SequenceFlow_1lfmx65" sourceRef="Task_17mi5w3" targetRef="ExclusiveGateway_0z21oek" />
    <bpmn:exclusiveGateway id="ExclusiveGateway_0z21oek">
      <bpmn:incoming>SequenceFlow_1lfmx65</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_05nfdzj</bpmn:outgoing>
      <bpmn:outgoing>SequenceFlow_17x79x6</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:sequenceFlow id="SequenceFlow_05nfdzj" sourceRef="ExclusiveGateway_0z21oek" targetRef="EndEvent_0lw0ado" />
    <bpmn:sequenceFlow id="SequenceFlow_17x79x6" sourceRef="ExclusiveGateway_0z21oek" targetRef="ExclusiveGateway_1snarmy" />
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0n8nyp8">
      <bpmndi:BPMNShape id="StartEvent_17aa89y_di" bpmnElement="StartEvent_17aa89y">
        <dc:Bounds x="152" y="102" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Task_19no963_di" bpmnElement="Task_19no963">
        <dc:Bounds x="240" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_1xzhcls_di" bpmnElement="SequenceFlow_1xzhcls">
        <di:waypoint x="188" y="120" />
        <di:waypoint x="240" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="ExclusiveGateway_1snarmy_di" bpmnElement="ExclusiveGateway_1snarmy" isMarkerVisible="true">
        <dc:Bounds x="395" y="95" width="50" height="50" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0jd9m8c_di" bpmnElement="SequenceFlow_0jd9m8c">
        <di:waypoint x="340" y="120" />
        <di:waypoint x="395" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="Task_17mi5w3_di" bpmnElement="Task_17mi5w3">
        <dc:Bounds x="500" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_01w4xx0_di" bpmnElement="SequenceFlow_01w4xx0">
        <di:waypoint x="445" y="120" />
        <di:waypoint x="500" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="EndEvent_0lw0ado_di" bpmnElement="EndEvent_0lw0ado">
        <dc:Bounds x="762" y="102" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_1lfmx65_di" bpmnElement="SequenceFlow_1lfmx65">
        <di:waypoint x="600" y="120" />
        <di:waypoint x="665" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="ExclusiveGateway_0z21oek_di" bpmnElement="ExclusiveGateway_0z21oek" isMarkerVisible="true">
        <dc:Bounds x="665" y="95" width="50" height="50" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_05nfdzj_di" bpmnElement="SequenceFlow_05nfdzj">
        <di:waypoint x="715" y="120" />
        <di:waypoint x="762" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_17x79x6_di" bpmnElement="SequenceFlow_17x79x6">
        <di:waypoint x="690" y="150" />
        <di:waypoint x="690" y="220" />
        <di:waypoint x="420" y="220" />
        <di:waypoint x="420" y="150" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>

Yes, you are right. I didn鈥檛 see that in my quick research. But as the #683 is an old one this here can serve as a +1 because since we鈥檝e started using snap to grid this problem encounters more frequently then before. At least from my recent experiences.

I can visualy disconnect connecting objects from flow objects. Doing that the bpmn portion of the diagram stays intact. But the bpmndi is buggy.

What do you mean by _bpmndi is buggy_? What is the actual negative consequences?

Well, I mean not buggy in a way that it gets invalid bpmn-xml or even xml but I mean that the difference between two models where the connection got "decoupled" as above is like:

diff diagram_1.bpmn diagram_2.bpmn
67c67
<         <di:waypoint x="480" y="145" />
---
>         <di:waypoint x="480" y="150" />

More specifically the bug described only influences the DI but not the semantic topology.

The negative consequence is that models contain connectors that touch their flow objects and other that don't.

So the impact is a visual one only (that persists in the BPMN DI).

Thanks for clarifying.

Was this page helpful?
0 / 5 - 0 ratings