Diagrams with old unsupported versions cannot be opened.
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

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
- create a new diagram
- save
- switch to xml view
- edit the platform version
- 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)
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:
- 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.
- 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.
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.
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.
~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.~