bpmn-visualization-js icon indicating copy to clipboard operation
bpmn-visualization-js copied to clipboard

[FEAT] Detect the Compensation Marker of an activity

Open csouchet opened this issue 5 years ago • 5 comments

Is your feature request related to a problem? Please describe. BPMN specifies three types of markers for Task: a Loop marker or a Multi-Instance marker and a Compensation marker. A Task MAY have one or two of these markers.

image

image

Additional context The final shape rendering of the compensation marker won't be done as part of this issue and will be managed later, see #355.

⚠️ Check the contribution guidelines for BPMN support prior starting the implementation. For additional help about this specific issue, see https://github.com/process-analytics/bpmn-visualization-js/issues/347#issuecomment-1284336180

csouchet avatar Jun 24 '20 13:06 csouchet

Additional information for the implementation

Note: based on the v0.27.1 code base

Parsing tests All marker parsing tests are in BpmnJsonParser.marker.test.ts and involve task, subprocess, call activity Add a test for the compensation marker (in addition to existing tests for LOOP or MULTI_INSTANCE_PARALLEL) Add test for several markers

  • for all kind of activities: a Loop marker or a Multi-Instance marker and a Compensation marker
  • for subprocess/call activity: also add an additional test with a Loop marker or a Multi-Instance marker, a Compensation marker and an expand marker

Visual tests They test the marker position, defined in markers.01.positioning.bpmn Some use cases involving several markers are missing so the diagram must be updated, for instance

  • sub-process multi instantiation, compensation and expand
  • compensation and loop/multi-instantiation

image

Parsing code ProcessConverter buildMarkers: consider the isForCompensation field, try to remove the existing ts-ignore directives as the function has a TActivity parameter that has the right type.

Rendering code (remember that only the inital rendering is implemented as part of this issue) The marker order is already defined: see orderActivityMarkers in render/utils.ts, so the markers will be rendered in the right order The rendering code is located in BaseActivityShape

  • Update getMarkerIconOriginFunction to support more than 2 markers
  • Update paintMarkerIcons to render the compensation marker

tbouffard avatar Oct 19 '22 17:10 tbouffard

@fatimabailoun welcome aboard, I have assigned the issue to you

tbouffard avatar Oct 20 '22 08:10 tbouffard

@fatimabailoun I have just seen that you removed your assignment yesterday. Does that mean that you are not going to work on this issue?

tbouffard avatar Oct 28 '22 16:10 tbouffard

Hi thomas yes i did not know how to inform you so i just unassigned the issue, i am sorry for that i was having some personal issues.. Thank you and good luck 🤞

On Fri, Oct 28, 2022, 7:10 PM Thomas Bouffard @.***> wrote:

@fatimabailoun https://github.com/fatimabailoun I have just seen that you removed your assignment yesterday. Does that mean that you are not going to work on this issue?

— Reply to this email directly, view it on GitHub https://github.com/process-analytics/bpmn-visualization-js/issues/347#issuecomment-1295180652, or unsubscribe https://github.com/notifications/unsubscribe-auth/A3SDGWXKRO6ULSHM2PDH3RTWFP3GLANCNFSM4OGWA5NQ . You are receiving this because you were mentioned.Message ID: @.***>

ghost avatar Oct 28 '22 18:10 ghost

No problem @fatimabailoun, take care. Don't hesitate to post a comment if you want to try to contribute again in the future.

tbouffard avatar Oct 28 '22 18:10 tbouffard