bpmn-io / bpmn-io/variable-outline

Be able to understand reason for scope of a variable

Open
#13 0 comments 0 reactions 0 assignees View on GitHub
backlog enhancement
Dominant language
JavaScript
Stars
0
Forks
0
Avg merge
2d 14h
Merged PRs (30d)
1

Description

### Is your feature request related to a problem? Please describe.

Looking at the variables it's hard to understand the [scopes](https://docs.camunda.io/docs/components/concepts/variables):

> If a variable has the same name as a variable from a higher scope, it covers this variable. Activities in this scope observe only the value of this variable and not the one from the higher scope.

Due to how [variable propagation](https://docs.camunda.io/docs/components/concepts/variables/#variable-propagation) works:

> When variables are merged into a process instance (e.g. on job completion, on message correlation, etc.) each variable is propagated from the scope of the activity to its higher scopes.
>
> The propagation ends when a scope contains a variable with the same name. In this case, the variable value is updated.
>
> If no scope contains this variable, it's created as a new variable in the root scope.

[Input and output mappings](https://docs.camunda.io/docs/components/concepts/variables/#inputoutput-variable-mappings) further complicate things.

Users might see a variable scope and think there's a bug because they don't understand the reasons for the scope.

### Describe the solution you'd like

When I inspect a variable I can understand the reason for the scope of the variable. (e.g. this variable is in the root scope because no local variable with that name was created inside the sub-process)

### Additional context

Related to https://github.com/camunda/camunda-modeler/issues/5623
Related to https://github.com/camunda/camunda-modeler/issues/5612

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the variable scope and propagation documentation linked in the issue, then compare the related Camunda Modeler issues 5623 and 5612. Define how the component will explain why a variable resides in a particular scope, including the root-scope example. Done means inspecting a variable exposes an understandable reason for its scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.