bpmn-io / bpmn-js

A BPMN 2.0 rendering toolkit and web modeler.
https://bpmn.io/toolkit/bpmn-js/
Other
8.63k stars 1.33k forks source link

When moving a participant/pool move contained `bpmn:Group` with it #1929

Open PaulLunkenheimer opened 1 year ago

PaulLunkenheimer commented 1 year ago

Describe the Feature

BPMN Groups exist on their own hierarchy level and are not children of Pools / Swimlanes, even if they are graphically included in one. This leads to unexpected behaviour when moving a Pool / Swimlane.

BPMNGroup

Steps to Reproduce

See above GIF. Was recorded on 11.07.23 on demo.bpmn.io.

Expected Behavior

Whenever a BPMN Group is graphically included in a Pool / Swimlane, it behaves like all other BPMN elements inside the Pool / Swimlane.

Expected behaviour is thus as if all content was selected using lasso tool (see above GIF).

Environment

barmac commented 1 year ago

How would you handle a group that spans across multiple participants or is visually partially outside of participant?

Note that semantically groups exist outside of participants.

image

PaulLunkenheimer commented 1 year ago

Yes, I am aware of that. That is indeed a tricky question.

My first intuition would be to handle groups like semantic children if and only if they are completely contained in a participant visually. Otherwise, they would be left just the way they are at the moment, i.e. they would not be moved along with the participant.

I am aware that this means one could not use the semantic hierarchy of the model but would instead need to compute from the positioning and size of the elements.

Anyways, I do think that the current state is counterintuitive for users, even though I am not sure how to solve this problem.

nikku commented 1 year ago

Turning this into a feature request.

Groups are artifacts and thus can also be stored on a process (bpmn:Process#artifacts). So in theory such interactivity can be implemented:

We'd want to make sure that groups keep their "free form" character, and re-organize transparently to the user as the user changes their bounds.


We'll not pick up this item any time soon as I believe the user impact is rather low. But happy to take your contribution, exploring this topic and potentially contributing it.