camunda / camunda-modeler

An integrated modeling solution for BPMN, DMN and Forms based on bpmn.io.
https://camunda.com/products/modeler
MIT License
1.5k stars 481 forks source link

How to switch to Camunda Cloud after accidentally starting with Camunda Platform #2283

Open falko opened 3 years ago

falko commented 3 years ago

Is your feature request related to a problem? Please describe.

During a customer demo, I already had some (Camunda Cloud) BPMN files open used the '+' button to quickly create another model for a fast sketch. As we continued the discussion, we needed technical attributes and noticed only after a while that the model was using Camunda Platform.

Describe the solution you'd like

I can easily switch the target platform. I don't need technical attributes to be converted. They should actually stay in the model to allow execution in both engines.

Alternative solutions:

Describe alternatives you've considered

I tried to quickly create a new Camunda Cloud model, but copy & paste between the models did not work. See #2124

I could have started editing the XML by hand, but that would have looked really unprofessional and potentially even scary to the prospect.

My sed script that I sometimes use to "convert" existing Zeebe Modeler files, is also far from presentable and requires completely closing and opening the model again as described in #2279

sed -i 's#xmlns:camunda="http://camunda.org/schema/1.0/bpmn"#xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:modeler="http://camunda.org/schema/modeler/1.0" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="1.0.0"#g' *.bpmn

The above sed script even failed, because there where already Camunda Platform attributes in the header: modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.15.0"

So back to XML editing... (yes, I could improve my sed script, but that's still difficult to sell to prospects)

Additional context

Execution Platform: Camunda Cloud Tested in Camunda Modeler 4.9-nightly.20210520 on Kubuntu 20.04.2 LTS

nikku commented 3 years ago

Interesting question. I'm fairly sure more people will stumble upon this during the transition phase. Ping @andreasgeier.

ingorichtsmeier commented 3 years ago

I know that it is possible to model BPMN processes that run on more than one engine.

I did it a long time ago for Camunda and jBPM by adding both namespaces in the XML and edit the jBPM attributes manually in the XML.

If the modeler can take care about the namespaces and switch between the engine-views, it would be a smooth migration from Camunda Platform to Camunda Clould (and back...)

On top, you can conside to delete a namespace (or however you name it), to get rid of the old attributes after the migration is done.

nikku commented 3 years ago

We will remove the + button temporarily to prevent all confusion around execution platform pinning (https://github.com/camunda/camunda-modeler/issues/2293). This should prevent accidental opens of BPMN diagrams with the wrong execution platform.

At the same time we explore ways to make setting the execution platform more dynamic. In the future you may be able to set it at a later point in time, after you sketched your diagram in a execution agnostic manner.

Migration (cf. https://github.com/camunda/camunda-modeler/issues/2283#issuecomment-847947608) is another use case that we did not explicitly dive into at this point. I can see many options to support users here. However, as it stands you'll need to decide how you want to view a BPMN diagram, as a Camunda Cloud or Camunda Platform diagram.