camunda / camunda-bpm-platform

Flexible framework for workflow and decision automation with BPMN and DMN. Integration with Quarkus, Spring, Spring Boot, CDI.
https://camunda.com/
Apache License 2.0
4.11k stars 1.56k forks source link

Camunda Cloud BPMN models are rejected with a meaningful exception #2602

Open ThorbenLindhauer opened 3 years ago

ThorbenLindhauer commented 3 years ago

This issue was imported from JIRA:

Field Value
JIRA Link CAM-13704
Reporter xOJ6vvJ
What is this name? This pseudonym name was generated based on the user name in JIRA to protect the personal data of our JIRA users. You can use this identifier to search for issues by the same reporter.
Has restricted visibility comments true

Environment (Required on creation): Camunda Platform 7.15 +

Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket):

With Cloud 1.0 we have two workflow enginges (Camunda Cloud and Camunda Platform) at the same time. It might happen (and in fact already happened) that users would try to deploy a cloud diagram to platform or vice versa. In this case a meaningful error message will help the user to understand that this is not possible. The same thing is being implemented for Camunda Cloud (see https://github.com/camunda-cloud/zeebe/issues/7375)

Steps to reproduce (Required on creation):

  1. Run a Camunda Platfrom distro (WildFly, Tomcat, Run).
  2. Deploy a Camunda Cloud diagram (e.g. <^simpleclouddiagram.bpmn>).

Observed Behavior (Required on creation):

Expected behavior (Required on creation):

As a user I get a clear "can't deploy a BPMN made for Camunda Cloud on Camunda Platform" (or similar)

Root Cause (Required on prioritization):

Solution Ideas (Optional):

Hints (Optional):

Links:

ThorbenLindhauer commented 3 years ago

This comment was imported from JIRA and written by user @koevskinikola


Hi xOJ6vvJ,

Thank you for raising this topic. Can you also provide a basic Camunda Cloud diagram with this ticket, so that we can have something to see what the current behavior is, and to be able to test the expected behavior?

Best, Nikola

ThorbenLindhauer commented 3 years ago

This comment was imported from JIRA and written by user xOJ6vvJ

What is this name? This pseudonym name was generated based on the user name in JIRA to protect the personal data of our JIRA users. You can use this identifier to search for issues by the same reporter.


Hi @koevskinikola,

 

sure - please find attached.

Best,

Max

<^simpleCloudDiagram.bpmn>

 

<?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:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_16j5km4" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.8.1" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="1.0.0">
  <bpmn:process id="Process_16w7718" isExecutable="true">
    <bpmn:extensionElements>
      <zeebe:userTaskForm id="userTaskForm_22lqpqp">{   "type": "default",   "components": <     {       "key": "textfield1",       "label": "SomeInput",       "type": "textfield"     },     {       "key": "button1",       "label": "Button",       "type": "button"     }   > }</zeebe:userTaskForm>
    </bpmn:extensionElements>
    <bpmn:startEvent id="StartEvent_1">
      <bpmn:outgoing>Flow_107v876</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:sequenceFlow id="Flow*107v876" sourceRef="StartEvent*1" targetRef="myServiceTask" />
    <bpmn:serviceTask id="myServiceTask" name="Do Stuff">
      <bpmn:incoming>Flow_107v876</bpmn:incoming>
      <bpmn:outgoing>Flow_0huwgpw</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:sequenceFlow id="Flow_0huwgpw" sourceRef="myServiceTask" targetRef="userTask1" />
    <bpmn:userTask id="userTask1" name="SimpleForm">
      <bpmn:extensionElements>
        <zeebe:formDefinition formKey="camunda-forms:bpmn:userTaskForm_22lqpqp" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_0huwgpw</bpmn:incoming>
      <bpmn:outgoing>Flow_15zaob9</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:endEvent id="Event_1h641dy">
      <bpmn:incoming>Flow_15zaob9</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow*15zaob9" sourceRef="userTask1" targetRef="Event*1h641dy" />
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane*1" bpmnElement="Process*16w7718">
      <bpmndi:BPMNEdge id="Flow*107v876_di" bpmnElement="Flow*107v876">
        <di:waypoint x="215" y="117" />
        <di:waypoint x="270" y="117" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow*0huwgpw_di" bpmnElement="Flow*0huwgpw">
        <di:waypoint x="370" y="117" />
        <di:waypoint x="430" y="117" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow*15zaob9_di" bpmnElement="Flow*15zaob9">
        <di:waypoint x="530" y="117" />
        <di:waypoint x="592" y="117" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="*BPMNShape_StartEvent_2" bpmnElement="StartEvent*1">
        <dc:Bounds x="179" y="99" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity*083mefx*di" bpmnElement="myServiceTask">
        <dc:Bounds x="270" y="77" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity*1o1gcg4*di" bpmnElement="userTask1">
        <dc:Bounds x="430" y="77" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event*1h641dy_di" bpmnElement="Event*1h641dy">
        <dc:Bounds x="592" y="99" width="36" height="36" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>
ThorbenLindhauer commented 3 years ago

This comment was imported from JIRA and written by user @koevskinikola


xOJ6vvJ, thanks for the diagram. I've reassigned this ticket for scheduling.