Roadmap for sub-processes

@adbre Expanding/collapsing sub-processes is not part of our current planning for Q1 2016.

I’d love to given you detailed feedback on this though. Maybe we can get a joint understanding that helps us to implement a good solution in the mid term.

What we want to have (mid-term)

  • Sub-processes should be expandable/collabsable and users should be able to add/remove elements from/to it in expanded state.
  • Expanding the sub-process restores the previously saved child element bounds. Moving a collapsed sub-process moves the child elements with it (i.e. preserve locations relative to collapsed sub-process).
  • No repositioning of surrounding elements. We may almost always do it wrong (we do not do any repositioning when adding lanes to pools either).
  • Collapse/Expand state has to be saved in BPMN 2.0 XML.
  • Thumbnail: Great feature, if we figure out a smart way to generate these thumbnails in a performant manner. Thumbnails have to be clearly distinguishable from diagrams. Otherwise: nice to have.
  • In-place versus lightbox editing: Depends mostly on whether collapsed is the default state. If not, lightbox editing does not make much sense (?).

The way to go?

You mentioned it already, there exists various approaches to this. Because approaches have drawbacks we would wait for user feedback (i.e. your feedback) which one to choose.

If you’d ask me personally, I would go for “Expanding sub-processes in-place”.

  • A sub-process can be collapsed and expanded from the context-pad.
  • When expanded, child elements can be added.
  • Child element position information is persisted when collapsed and updated during parent move. This makes sure sub-processes can be moved in a convenient manner.

At the current point in time I believe layouting of surrounding elements cannot be easily tackled. I’d leave that out for now and would require users to do some manual re-layouting. Another approach would be to use a local space tool during expanding. But how to deal with collapsing (which is the more interesting use case)?.

Hope that gives you some insights. I’d be interested in your feedback regarding that planing.