camunda-modeler icon indicating copy to clipboard operation
camunda-modeler copied to clipboard

Diagrams with old unsupported versions cannot be opened.

Open Skaiir opened this issue 4 years ago • 4 comments

Describe the Bug

The current behavior for opening a diagram with a platform version which is not selectable throws an error which disallows opening of the file. This modal is a generic component which makes opening the diagram impossible.

Modal image

The main problem here is that it disallows users which had a platform set to 7.14 back in the old modeler to open the diagram in 5.0, which obviously completely conflicts with the notion that we should be backwards compatible.

Steps to Reproduce

  1. create a new diagram
  2. save
  3. switch to xml view
  4. edit the platform version
  5. try to switch back to the editor view

Expected Behavior

The file should still load, at the very least for deprecated versions but perhaps even for any version that do not match those we support on the current modeler.

Environment

Modeler Version: 5.0, but this behavior has been in place for longer

Context

From @philippfromme

This behavior was adopted from the form editor (cf. https://github.com/camunda/camunda-modeler/pull/2573). In the case of the form editor however there are no "old" versions we don't support. The error can only pop up if you set a fantasy version. In the case of BPMN there are lots of old versions that should open just fine and be ignored by the interested parties (e.g. linting). (edited)

Skaiir avatar Apr 21 '22 08:04 Skaiir

Some thoughts:

The release of 7.15 was just one year ago. We should never call a 13 month old diagram from 7.14 “not supported” or even worse, “deprecated”. Not opening it at all would be unacceptable from my view. We need a friendly way to deal with this!

With older versions, I see basically two options:

  1. Enable platform version and linting packages for older versions. I learned that the feature set of DMN basically didn’t change since 7.4 (Nov, 2015!) so we could just duplicate and provide packages for all versions of the last 6 years. We could investigate if this is possible with little effort for BPMN, too.
  2. Let the user open, edit, save the file with untouched platform information and w/o linting. Provide a friendly way to inform the user about this and ask for update.

andreasgeier avatar Apr 21 '22 14:04 andreasgeier

We could investigate if this is possible with little effort for BPMN, too.

Since we only have compatibility checks in linting for C7, I assume that, like DMN, we have a long history of the same supported elements.

andreasgeier avatar Apr 21 '22 15:04 andreasgeier

My conclusion of the (Slack) discussions so far is that the underlying problem is the platform version select component/behavior. Regardless if we introduce older versions or not, we should make the component robust enough to deal with none, old, and external/unknown platform information. I see this also related to the “import to C8” discussion where we face similar problems.

andreasgeier avatar Apr 22 '22 07:04 andreasgeier

~I've unassigned myself for now, can't juggle this with the dynamics form stuff. Most likely will pick it back up during summer prep.~

Skaiir avatar May 10 '22 07:05 Skaiir