elsa-workflows / elsa-workflows/elsa-studio

BPMN W14: visual editing of BPMN diagrams (v2)

Open
#1,004 0 comments 0 reactions 0 assignees View on GitHub
enhancement triaged
Dominant language
C#
Stars
301
Forks
181
Avg merge
17h 12m
Merged PRs (30d)
42

Description

Part of elsa-workflows/elsa-core#7909 (W14). **v2, explicitly not in v1.** Filed so the boundary of v1 is written down.

Visual editing of a BPMN diagram: move and resize shapes, reroute edges, add and remove elements and flows, edit labels, writing geometry back into BPMN DI and structure back into the document. Written against the view model (W9a) so it lands on both canvases at once.

Constraints already settled in #7909:

- D4: mutate the whole document in place and send the whole document back. Never reconstruct from the view model.
- D12: no BPMN semantics in Studio. Adding a gateway adds an element; whether the diagram is well-formed is the library's import analyzer's verdict, surfaced through the write-back endpoint's findings.
- The D4 round-trip regression test is the gate: import a Camunda file with `camunda:*` extensions, move one shape, save, export, and every extension element and every unedited waypoint is byte-identical.

Until this lands, the honest v1 answer for editing a diagram's shape is: edit it in Camunda Modeler or any BPMN tool, re-import with `DefinitionId`, and bindings (which live in the document as `elsa:` extensions) come along.

Contributor guide

Open the contributing guide

Research direction

Start by reading the W14 boundary and settled constraints in elsa-workflows/elsa-core#7909, then trace the W9a view model and the write-back endpoint. Use the D4 round-trip regression test with a Camunda file containing camunda:* extensions as the first validation. Done means visual edits write geometry and structure back while preserving every extension and unedited waypoint byte-for-byte.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.