Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When modeling a Call Activity, I can configure if all parent variables must be propagated or not #3793

Closed
5 tasks done
romansmirnov opened this issue Aug 22, 2023 · 6 comments · Fixed by #3814
Closed
5 tasks done
Assignees
Labels
BPMN Camunda 8 Flags an issue as related to Camunda 8 enhancement New feature or request
Milestone

Comments

@romansmirnov
Copy link
Member

romansmirnov commented Aug 22, 2023

Problem you would like to solve

Currently, Zeebe always propagates all variables from the parent process instance to the child process instance when executing a call activity. This leads to many redundant data across the called process instances, resulting in a larger runtime state in Zeebe. Additionally, all the variables need to be imported by the webapps (like Operate, and so on).

With camunda/camunda#13959, Zeebe introduces a new property called propagateAllParentVariables so that users can decide if they want to propagate all variables or only specific one:

  1. (Default) propagateAllParentVariables = true, all variables from the parent process instance are propagated to the child process instance
  2. propagateAllParentVariables = false, only the variables defined via input mappings are propagated to the child process instance.

The property can be configured per Call Activity.

Basically, with this feature request, a user should be able to configure the property propagateAllParentVariables

Proposed solution

Similar to the existing Output Propagation, a group Input Propagation exists which contains a toggle to turn enable/disable the propagation of all variables. By default, when modeling a new Call Activity, the toggle is enabled (i.e. on).

Tasks

Alternatives considered

No.

Additional context

The resulting BPMN XML is supposed to be the following

<bpmn:callActivity id="CallActivity_1">
  <bpmn:extensionElements>
    <zeebe:calledElement propagateAllParentVariables="true|false" />
  </bpmn:extensionElements>
</bpmn:callActivity>

related to camunda/camunda#13959 (Zeebe)
related to https://github.com/camunda/product-hub/issues/141 (Product Hub Epic)

@romansmirnov romansmirnov added the enhancement New feature or request label Aug 22, 2023
@romansmirnov romansmirnov self-assigned this Aug 22, 2023
@nikku nikku added BPMN Camunda 8 Flags an issue as related to Camunda 8 labels Aug 22, 2023
@nikku
Copy link
Member

nikku commented Aug 22, 2023

@romansmirnov If we implement this then we want to add a validation rule, too? Cf. https://github.com/camunda/bpmnlint-plugin-camunda-compat. This way users know when this property becomes available.

@romansmirnov
Copy link
Member Author

@nikku, yes, makes sense. I would love to open a PR therefore, but I would need a short intro to the linting plugin. Would you be available, therefore? 😄

@nikku nikku added the in progress Currently worked on label Aug 23, 2023 — with bpmn-io-tasks
@nikku
Copy link
Member

nikku commented Aug 30, 2023

Looks like we're on track to ship this with the next release.

@nikku nikku added fixed upstream Requires integration of upstream change and removed in progress Currently worked on labels Aug 30, 2023
@nikku
Copy link
Member

nikku commented Aug 30, 2023

Shipped upstream via @camunda/linting@3.6.0, bpmn-js-properties-panel@5.1.0.

@nikku nikku added this to the M68 milestone Aug 30, 2023
marstamm added a commit that referenced this issue Aug 30, 2023
- @bpmn-io/properties-panel@3.4.0
- bpmn-js-element-templates@1.4.0
- bpmn-js-properties-panel@5.1.0
- camunda-bpmn-js@3.2.0

closes #3793, #3756, #3780, #3782, #3728
marstamm added a commit that referenced this issue Aug 30, 2023
- @bpmn-io/properties-panel@3.4.0
- bpmn-js-element-templates@1.4.0
- bpmn-js-properties-panel@5.1.0
- camunda-bpmn-js@3.2.0

closes #3793, #3756, #3780, #3782, #3728
marstamm added a commit that referenced this issue Aug 30, 2023
- @bpmn-io/properties-panel@3.4.0
- bpmn-js-element-templates@1.4.0
- bpmn-js-properties-panel@5.1.0
- camunda-bpmn-js@3.2.0

closes #3793, closes #3756, closes #3780, closes #3782, closes #3728
@bpmn-io-tasks bpmn-io-tasks bot added the needs review Review pending label Aug 30, 2023
@bpmn-io-tasks bpmn-io-tasks bot removed the fixed upstream Requires integration of upstream change label Aug 30, 2023
@bpmn-io-tasks bpmn-io-tasks bot removed the needs review Review pending label Aug 30, 2023
nikku pushed a commit that referenced this issue Aug 30, 2023
- @bpmn-io/properties-panel@3.4.0
- bpmn-js-element-templates@1.4.0
- bpmn-js-properties-panel@5.1.0
- camunda-bpmn-js@3.2.0

closes #3793, closes #3756, closes #3780, closes #3782, closes #3728
@philippfromme
Copy link
Contributor

Integrated into Camunda Modeler:

electron_0BOkg0Ib0p

@barmac
Copy link
Collaborator

barmac commented Nov 27, 2023

This is cool but we forgot to document it at https://docs.camunda.io/docs/next/components/modeler/bpmn/call-activities/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BPMN Camunda 8 Flags an issue as related to Camunda 8 enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants