Modeler in read-only mode

Hi Flowable Team,
is there any interest in making a ‘read-only’ mode for the Flowable BPMN modeler ?

Usecase:
A process administrator has deployed version 1, 2 and 3 in production (so, three deployed procdefs). There have been quite some changes between procdef 3 and 1. He notices a problem on procdef version1 and wants to inspect the details properties of some BPMN elements (expressions, assignees, etc… ) in version 1. Inspecting version 3 isn’t adequate because it might be different than v1. He wants to do so in a way that he isn’t tricked in saving anychanges.

We are having this usecase; and if possible / wished could contribute to the community.

We do not intend to block every editing functionality, but at least some easy wins like hiding the BPMN stencils left panel, hiding the save & validate button, … and show some notification “Warning - Read Only mode”.
We haven’t done any analysis but I guess blocking the canvas from editing; and some properties with popup-editors (like task assignees) might be a little more work, of course, so that might be for a later step.

Or does this conflict with the eventual open-sourcing of the edorasware modeler, which I read somewhere on the forum?

Pieter

Hi Pieter,

That would be a great contribution for us to have, especially if it can be done in a way that’s easy to maintain with changes in the editor.

Originally, we had planned to move the core of the edorasware modeler into open source, but having looked at it more deeply, there are so many dependencies on the edorasware platform that we’re going to keep enhancing the current open source modeler, bringing over some of the functionality.

Keep in touch about the approach you might take and we’ll give our feedback as it takes shape.

Many thanks and best regards
Paul.

Hi Pieter,

Another use case could be to use read only modeler as :

  1. debugger,
  2. admin console to move executions ( may be support process instance definition upgrade…)

Martin

Hi,

I’m a colleague of @pieterclaeys and will try to formulate a conceptual idea on how to achieve this read-only modeler.

The modeler consists of 5 identifiable GUI parts (the toolbar at the top, the stencil set on the left, the navigator on the bottom left, the properties on the bottom and the canvas in the middle). I propose to split these up into separate files and reuse these to construct different views for the modeler and the read-only version of the modeler.

  1. The stencil set (which is not needed in the read-only modeler) can be removed.

  2. For the toolbar at the top, it might be possible to pass a flag using the toolbar configuration which can be used to disable the button in read-only mode.

  3. For the Oryx editor, it might be possible to capture (and swallow) certain canvas events, although I have as of yet neither researched the validity of this idea nor experimented doing this in the editor.

  4. The properties panel is another challenge to solve. It might be possible to leverage the current read-write mode to denote that a property is only readable. However, for some properties, it is necessary to have a popup to inspect the value of the property. Ideas to solve this are changing the summary text to a complete text in the properties panel or using a popup to display the value (either leveraging the existing pop-ups or creating a new one).

  5. The navigator panel can remain as-is.

I have already started to experiment with splitting up the panels and including them in different views, however, my lack of Angular knowledge makes this a cumbersome process.

Any feedback on these ideas is hugely appreciated!

Kind regards,

Stijn

Hi Stijn,

I think the stencil set is needed also in the read-only modeler because Oryx needs it to be able to draw the BPMN process model. Or do you think it’s possible in another way?
For the rest I think your approach should work fine.

Best regards,

Tijs

Hi Tijs,

The stencil set will indeed be needed for the rendering of the model, but I assume it is possible to hide the pane on the left side which enables users to drag and drop new elements on the canvas.

However, since our in-house knowledge of Angular is very little to non-existing, this feature was given a low priority and will - sadly - not be actively developed. The feature might be revisited in the future though.

Kind regards,

Stijn