We have a need to model sub-processes, both as collapsed and expanded elements.
BPMN.IO has some support for sub-processes today, but you cannot switch between the two states.
Some BPMN editors does not allow expanding sub-processes at all, displaying all sub-processes in their collapsed state.
Some does not allow modeling the content of a sub-process directly, but via a “new window”.
Some displays a “thumbnail” of the sub-process when expanded, i.e. a read only rendering of the sub-process (by default scaled 1:1).
Some reposition surrounding elements when expanding a sub-process.
Some preserve the location of surrounding elements when expanding/collapsing, requiring the user to reposition elements.
Some “remembers” the location of surrounding elements for when the sub-process is expanded/collapsed.
… etc
The variations on how sub-processes are edited are quite many, and no single solution is given.
My primary question to you are
- What kind of further support for sub-processes have you planned on implementing on the short term (until Q1 2016)?
If support for sub-processes are not planned, we MAY choose to implement the support ourselves.
Obviously we would like to give back to the community what we would come up with, but it would require that our solution must integrate well with the bpmnjs/diagramjs framework and fit your roadmap as well as design goals.
To that end we have identified a couple of issues/dilemmas/questions that could help us understand your vision of how BPMN.IO would handle sub-processes.
Please think of the following points as brainstorming. An answer to these questions is not required nor expected as a response to this post, at this moment. But any feedback would be greatly appreciated.
- Would the user be able to collapse an expanded sub-process (or expand a collapsed one)?
a. Given the answer Yes
i. What would happen with surrounding elements when the sub-process is expanded/collapsed? - Alternatives are
a. Repositioning (not trivial due to possible collisions, especially when collapsing)?
b. Elements are static (possibly placing the sub-process on top of others when expanding)?
c. A combination of the above, repositioning when expanding and preserving locations when collapsing? - Would the user still be able to edit/model a sub-process in the same diagram, or would this be done in a separate canvas (like a “lightbox”)?
- Would it be possible to include a “thumbnail” of a sub-process?
a. Given the answer Yes
i. Does this require a “new” editor for the sub-process, or how would we distinguish a “thumbnail” from a 1:1 model?