Giter VIP home page Giter VIP logo

camunda-modeler-token-simulation-plugin's Introduction

Camunda Modeler Token Simulation Plug-in

Build Status Compatible with Camunda Modeler version 5 Plugin Type

bpmn-js-token-simulation as a plugin for the Camunda Modeler.

Screenshot

How to use

  1. Download and copy this repository into the plugins directory of the Camunda Modeler
  2. Start the Camunda Modeler
  3. Simulate tokens in a regular BPMN tab

Installing on macOS

Open a Terminal window and run the following commands:

  1. cd ~/Library/Application Support/camunda-modeler
  2. mkdir -p resources/plugins
  3. cd resources/plugins
  4. git clone https://github.com/camunda/camunda-modeler-token-simulation-plugin

Restart Camunda Modeler.

Compatibility Notice

Plugin Version Compatible With Camunda Modeler
0.8.0 - 0.15.0 2.2 - 4.x
0.16.0+ 5.0.0+

Additional Resources

Licence

MIT

camunda-modeler-token-simulation-plugin's People

Contributors

barmac avatar davidgs avatar dependabot[bot] avatar do-min-ik avatar marstamm avatar maxtru avatar nikku avatar philippfromme avatar skaiir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

camunda-modeler-token-simulation-plugin's Issues

Pausing of token disabled if process is modeled inside process pool

Describe the Bug

When I try to pause a running token simulation, the pause button is disabled if a process is modeled inside a pool element.

Steps to Reproduce

  1. Model simple process
  2. Wrap a bpm pool element around
  3. Start token simulation
  4. Try to use the "pause" button

Expected Behavior

The pause button should function the same way as it does without a pool element.

Environment

  • Modeler: 4.7.0
  • OS: [Ubuntu 20.04.2 LTS]

bug_pausing_token_inside_pool

Parallel gateway join is not spec compliant (does not account for tokens on all incoming flows)

Describe the Bug

When multiple tokens (2 or more) arrive at a parallel gateway from a single flow, two of them merge and one token will continue (e.g., if there were 3 tokens, 2 will merge, and only 1 will be stuck there).

It is wrong, and all three tokens should get stuck there, since it waits for the merge on ALL the incoming flows.

How it should be:
image

How it is:
image

Parallel gateway waits for as many tokens as there are incoming flows, not necessarily for all the tokens from all sides to be merged.

Steps to Reproduce

Have a model (e.g., like one I showed), and then have a situation, when 0 tokens come from one path to a parallel gateway, and all the tokens come from a single path, and then see how each 2 tokens would merge.

6_V_powerpoint.mp4
V6_camunda_modeler.mp4

Expected Behavior

Parallel gateway MUST wait for tokens from ALL incoming paths (i.e., a token coming from two paths can be merged, and two tokens from one path - cant).

I believe it is because a gateway merges the tokens automatically, depending on the number of incoming flows

P.S.
We are the researchers trying to use CAMUNDA token modeler for better teaching of the students, we were thinking if we can contact somehow the person, who could help with fixing the bug? Thanks!


Depends on bpmn-io/bpmn-js-token-simulation#130

Migrate to supported node version (doesn't bundle with Node>16)

What should we do?

Migrate to supported node version (doesn't work with Node>16). This is probably related to Webpack update.

Why should we do it?

Bundle fails when using Node 18 or 20.

❯ npm run all

> [email protected] all
> run-s bundle


> [email protected] bundle
> webpack

node:internal/crypto/hash:69
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:133:10)
    at BulkUpdateDecorator.hashFactory (/Users/maciej/workspace/bpmn-io/camunda-modeler-token-simulation-plugin/node_modules/webpack/lib/util/createHash.js:144:18)
    at BulkUpdateDecorator.update (/Users/maciej/workspace/bpmn-io/camunda-modeler-token-simulation-plugin/node_modules/webpack/lib/util/createHash.js:46:50)
    at OriginalSource.updateHash (/Users/maciej/workspace/bpmn-io/camunda-modeler-token-simulation-plugin/node_modules/webpack/node_modules/webpack-sources/lib/OriginalSource.js:104:8)
    at NormalModule._initBuildHash (/Users/maciej/workspace/bpmn-io/camunda-modeler-token-simulation-plugin/node_modules/webpack/lib/NormalModule.js:867:17)
    at handleParseResult (/Users/maciej/workspace/bpmn-io/camunda-modeler-token-simulation-plugin/node_modules/webpack/lib/NormalModule.js:933:10)
    at /Users/maciej/workspace/bpmn-io/camunda-modeler-token-simulation-plugin/node_modules/webpack/lib/NormalModule.js:1025:4
    at processResult (/Users/maciej/workspace/bpmn-io/camunda-modeler-token-simulation-plugin/node_modules/webpack/lib/NormalModule.js:742:11)
    at /Users/maciej/workspace/bpmn-io/camunda-modeler-token-simulation-plugin/node_modules/webpack/lib/NormalModule.js:806:5 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.17.0
ERROR: "bundle" exited with 1.

Generic ThrowEvent support

Throw events is not supported now so simulation fails.

Please, add support, it's do the same thing as any service task from tokens perspective, so it's should not be a problem

image

Collapsed Subprocess will pause the simulation

Describe the Bug

When modeling a collapsed subprocess and the subprocess is not modeled, the simulation will pause. Boundary Events can be triggered, but the subprocess cannot be "completed".

image

Steps to Reproduce

  1. Open Diagram
    BoundaryEventTimer.bpmn.txt

  2. Start Token Simulation

  3. Start Process at Start Event "Start"

  4. Token waits at collapsed Subprocess "A"

Expected Behavior

I expect the behavior to be the same as when using e.g. a call activity, when the subprocess is "empty".

image

How you could still do the simulation currently:

  • Use a Call Activity so you can still highlight that multiple steps are being executed for that activity (not the same semantic)
  • Model the Subprocess. That could also be only a placeholder e..g with one start and end event.

Environment

  • OS: Windows 10
  • Plugin version: 0.16.0

Token Simulation Plugin crashes Camunda Modeler

Today's Camunda Modeler nightly build crashes when Token Simulation Plugin is installed and a BPMN model is opened.

JavaScript Console Output

index.js:112412 events invoke +7s (2) ["input:focused", FocusEvent]
index.js:112412 base-component invoke +0ms (2) ["create-bpmn-diagram", MouseEvent]
index.js:112412 app trigger-action +10s create-bpmn-diagram MouseEvent {isTrusted: true, screenX: 385, screenY: 571, clientX: 336, clientY: 547, …}
index.js:112412 bpmn-provider create BPMN file +0ms
index.js:112412 multi-editor-tab create editors +0ms (2) [{…}, {…}]
index.js:112412 diagram-editor [#update] skipping (not mounted) +0ms
index.js:112412 xml-editor [#update] skipping (not mounted) +0ms
index.js:112412 app selecting tab +3ms
index.js:112412 diagram-editor [#update] skipping (not mounted) +1ms
index.js:112412 app - external change skipping (unsaved) +10s
index.js:112412 main-loop update +10s
index.js:112412 scroll-tabs update +7s
index.js:112412 drag-tabs update +10s
index.js:112412 base-component invoke +19ms [div.editor-container]
index.js:112412 base-editor mount +0ms
index.js:48940 unhandled error in event listener
EventBus._invokeListener @ index.js:48940
EventBus._invokeListeners @ index.js:48914
EventBus.fire @ index.js:48878
Diagram @ index.js:46647
Viewer._init @ index.js:30767
Viewer @ index.js:30428
Modeler @ index.js:30159
BpmnEditor.createModeler @ index.js:2301
BpmnEditor.getModeler @ index.js:2234
DiagramEditor.update @ index.js:3020
BaseEditor.mountEditor @ index.js:1824
actionHandler @ index.js:5500
(anonymous) @ index.js:8215
Observer.observe.characterData @ index.js:157425
characterData (async)
(anonymous) @ index.js:157435
unhook @ index.js:7948
removeProperty @ index.js:166744
applyProperties @ index.js:166711
applyPatch @ index.js:166962
applyPatch @ index.js:167141
patchRecursive @ index.js:167119
patch @ index.js:167100
(anonymous) @ index.js:7875
requestAnimationFrame (async)
module.exports @ index.js:158980
update @ index.js:7870
(anonymous) @ index.js:153832
setTimeout (async)
(anonymous) @ index.js:153831
emitNone @ index.js:147052
emit @ index.js:147128
App.selectTab @ index.js:1121
App.openTabs @ index.js:797
App.openTab @ index.js:810
App.createDiagram @ index.js:761
App.triggerAction @ index.js:614
actionHandler @ index.js:5500
index.js:48941 Error: undo is already registered
    at error (index.js:54484)
    at BpmnEditorActions.EditorActions._registerAction (index.js:54444)
    at BpmnEditorActions.EditorActions.register (index.js:54428)
    at BpmnEditorActions.EditorActions._registerDefaultActions (index.js:54310)
    at BpmnEditorActions._registerDefaultActions (index.js:34707)
    at index.js:54275
    at invokeFunction (index.js:49046)
    at EventBus._invokeListener (index.js:48926)
    at EventBus._invokeListeners (index.js:48914)
    at EventBus.fire (index.js:48878)
EventBus._invokeListener @ index.js:48941
EventBus._invokeListeners @ index.js:48914
EventBus.fire @ index.js:48878
Diagram @ index.js:46647
Viewer._init @ index.js:30767
Viewer @ index.js:30428
Modeler @ index.js:30159
BpmnEditor.createModeler @ index.js:2301
BpmnEditor.getModeler @ index.js:2234
DiagramEditor.update @ index.js:3020
BaseEditor.mountEditor @ index.js:1824
actionHandler @ index.js:5500
(anonymous) @ index.js:8215
Observer.observe.characterData @ index.js:157425
characterData (async)
(anonymous) @ index.js:157435
unhook @ index.js:7948
removeProperty @ index.js:166744
applyProperties @ index.js:166711
applyPatch @ index.js:166962
applyPatch @ index.js:167141
patchRecursive @ index.js:167119
patch @ index.js:167100
(anonymous) @ index.js:7875
requestAnimationFrame (async)
module.exports @ index.js:158980
update @ index.js:7870
(anonymous) @ index.js:153832
setTimeout (async)
(anonymous) @ index.js:153831
emitNone @ index.js:147052
emit @ index.js:147128
App.selectTab @ index.js:1121
App.openTabs @ index.js:797
App.openTab @ index.js:810
App.createDiagram @ index.js:761
App.triggerAction @ index.js:614
actionHandler @ index.js:5500
index.js:54484 Uncaught Error: undo is already registered
    at error (index.js:54484)
    at BpmnEditorActions.EditorActions._registerAction (index.js:54444)
    at BpmnEditorActions.EditorActions.register (index.js:54428)
    at BpmnEditorActions.EditorActions._registerDefaultActions (index.js:54310)
    at BpmnEditorActions._registerDefaultActions (index.js:34707)
    at index.js:54275
    at invokeFunction (index.js:49046)
    at EventBus._invokeListener (index.js:48926)
    at EventBus._invokeListeners (index.js:48914)
    at EventBus.fire (index.js:48878)
error @ index.js:54484
EditorActions._registerAction @ index.js:54444
EditorActions.register @ index.js:54428
EditorActions._registerDefaultActions @ index.js:54310
BpmnEditorActions._registerDefaultActions @ index.js:34707
(anonymous) @ index.js:54275
invokeFunction @ index.js:49046
EventBus._invokeListener @ index.js:48926
EventBus._invokeListeners @ index.js:48914
EventBus.fire @ index.js:48878
Diagram @ index.js:46647
Viewer._init @ index.js:30767
Viewer @ index.js:30428
Modeler @ index.js:30159
BpmnEditor.createModeler @ index.js:2301
BpmnEditor.getModeler @ index.js:2234
DiagramEditor.update @ index.js:3020
BaseEditor.mountEditor @ index.js:1824
actionHandler @ index.js:5500
(anonymous) @ index.js:8215
Observer.observe.characterData @ index.js:157425
characterData (async)
(anonymous) @ index.js:157435
unhook @ index.js:7948
removeProperty @ index.js:166744
applyProperties @ index.js:166711
applyPatch @ index.js:166962
applyPatch @ index.js:167141
patchRecursive @ index.js:167119
patch @ index.js:167100
(anonymous) @ index.js:7875
requestAnimationFrame (async)
module.exports @ index.js:158980
update @ index.js:7870
(anonymous) @ index.js:153832
setTimeout (async)
(anonymous) @ index.js:153831
emitNone @ index.js:147052
emit @ index.js:147128
App.selectTab @ index.js:1121
App.openTabs @ index.js:797
App.openTab @ index.js:810
App.createDiagram @ index.js:761
App.triggerAction @ index.js:614
actionHandler @ index.js:5500
index.js:112412 base-component invoke +37ms [div.properties-container]
index.js:112412 bpmn-editor mount properties +0ms
index.js:48940 unhandled error in event listener
EventBus._invokeListener @ index.js:48940
EventBus._invokeListeners @ index.js:48914
EventBus.fire @ index.js:48878
Diagram @ index.js:46647
Viewer._init @ index.js:30767
Viewer @ index.js:30428
Modeler @ index.js:30159
BpmnEditor.createModeler @ index.js:2301
BpmnEditor.getModeler @ index.js:2234
BpmnEditor.resize @ index.js:2341
(anonymous) @ index.js:153832
setTimeout (async)
(anonymous) @ index.js:153831
emitNone @ index.js:147052
emit @ index.js:147128
(anonymous) @ index.js:4622
emitNone @ index.js:147052
emit @ index.js:147128
App.selectTab @ index.js:1114
App.openTabs @ index.js:797
App.openTab @ index.js:810
App.createDiagram @ index.js:761
App.triggerAction @ index.js:614
actionHandler @ index.js:5500
index.js:48941 Error: undo is already registered
    at error (index.js:54484)
    at BpmnEditorActions.EditorActions._registerAction (index.js:54444)
    at BpmnEditorActions.EditorActions.register (index.js:54428)
    at BpmnEditorActions.EditorActions._registerDefaultActions (index.js:54310)
    at BpmnEditorActions._registerDefaultActions (index.js:34707)
    at index.js:54275
    at invokeFunction (index.js:49046)
    at EventBus._invokeListener (index.js:48926)
    at EventBus._invokeListeners (index.js:48914)
    at EventBus.fire (index.js:48878)
EventBus._invokeListener @ index.js:48941
EventBus._invokeListeners @ index.js:48914
EventBus.fire @ index.js:48878
Diagram @ index.js:46647
Viewer._init @ index.js:30767
Viewer @ index.js:30428
Modeler @ index.js:30159
BpmnEditor.createModeler @ index.js:2301
BpmnEditor.getModeler @ index.js:2234
BpmnEditor.resize @ index.js:2341
(anonymous) @ index.js:153832
setTimeout (async)
(anonymous) @ index.js:153831
emitNone @ index.js:147052
emit @ index.js:147128
(anonymous) @ index.js:4622
emitNone @ index.js:147052
emit @ index.js:147128
App.selectTab @ index.js:1114
App.openTabs @ index.js:797
App.openTab @ index.js:810
App.createDiagram @ index.js:761
App.triggerAction @ index.js:614
actionHandler @ index.js:5500
index.js:54484 Uncaught Error: undo is already registered
    at error (index.js:54484)
    at BpmnEditorActions.EditorActions._registerAction (index.js:54444)
    at BpmnEditorActions.EditorActions.register (index.js:54428)
    at BpmnEditorActions.EditorActions._registerDefaultActions (index.js:54310)
    at BpmnEditorActions._registerDefaultActions (index.js:34707)
    at index.js:54275
    at invokeFunction (index.js:49046)
    at EventBus._invokeListener (index.js:48926)
    at EventBus._invokeListeners (index.js:48914)
    at EventBus.fire (index.js:48878)
error @ index.js:54484
EditorActions._registerAction @ index.js:54444
EditorActions.register @ index.js:54428
EditorActions._registerDefaultActions @ index.js:54310
BpmnEditorActions._registerDefaultActions @ index.js:34707
(anonymous) @ index.js:54275
invokeFunction @ index.js:49046
EventBus._invokeListener @ index.js:48926
EventBus._invokeListeners @ index.js:48914
EventBus.fire @ index.js:48878
Diagram @ index.js:46647
Viewer._init @ index.js:30767
Viewer @ index.js:30428
Modeler @ index.js:30159
BpmnEditor.createModeler @ index.js:2301
BpmnEditor.getModeler @ index.js:2234
BpmnEditor.resize @ index.js:2341
(anonymous) @ index.js:153832
setTimeout (async)
(anonymous) @ index.js:153831
emitNone @ index.js:147052
emit @ index.js:147128
(anonymous) @ index.js:4622
emitNone @ index.js:147052
emit @ index.js:147128
App.selectTab @ index.js:1114
App.openTabs @ index.js:797
App.openTab @ index.js:810
App.createDiagram @ index.js:761
App.triggerAction @ index.js:614
actionHandler @ index.js:5500
index.js:112412 app workspace persisted? +102ms null

Plugin broken when working with camunda modeler 4.11.1

Starting the token simulator while working with camunda modeler 4.11.1 causes this exception:

A DOM element reference is required
at new (webpack:///node_modules/min-dom/dist/index.esm.js:75:0)
at classes (webpack:///node_modules/min-dom/dist/index.esm.js:63:0)
at file:///C:/Users/LENOVO/Desktop/camunda-modeler-4.11.1-win-x64/resources/plugins/bpmn-js-token-simulation-plugin/client/client.bundle.js:123:7
at file:///C:/Users/LENOVO/Desktop/camunda-modeler-4.11.1-win-x64/resources/app.asar/public/2.2.js:1:50766
at listener (webpack:///node_modules/diagram-js/lib/core/EventBus.js:371:33)
at _invokeListener (webpack:///node_modules/diagram-js/lib/core/EventBus.js:352:23)
at _invokeListeners (webpack:///node_modules/diagram-js/lib/core/EventBus.js:313:23)
at ToggleMode../node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js.ToggleMode.toggleMode (webpack:///node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js:63:0) [ error ]
This error may be the result of a plug-in compatibility issue. [ info ]

Plugin doesn't support Camunda Modeller 4.7.0

The plugin doesn't support the latest version of the Camunda Modeller. When the Token Simulation is toggled in the Modeller 4.7.0 the following error message is logged:

[/Users/christian/Downloads/diagram_1.bpmn] A DOM element reference is required
at new (webpack:///node_modules/min-dom/dist/index.esm.js:75:0)
at classes (webpack:///node_modules/min-dom/dist/index.esm.js:63:0)
at file:///Users/christian/Library/Application%20Support/camunda-modeler/resources/plugins/bpmn-js-token-simulation-plugin-master/client/client.bundle.js:123:7
at file:///Applications/Camunda%20Modeler.app/Contents/Resources/app.asar/public/2.2.js:1:49241
at listener (webpack:///node_modules/diagram-js/lib/core/EventBus.js:371:33)
at _invokeListener (webpack:///node_modules/diagram-js/lib/core/EventBus.js:352:23)
at _invokeListeners (webpack:///node_modules/diagram-js/lib/core/EventBus.js:313:23)
at ToggleMode../node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js.ToggleMode.toggleMode (webpack:///node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js:63:0)
at apply (webpack:///node_modules/@sentry/browser/esm/helpers.js:71:22) [ error ]
This error may be the result of a plug-in compatibility issue. [ info ]
Disable plug-ins (restarts the app) [ info ]

Steps to Reproduce

  1. Install Camunda Modeller 4.7.0
  2. Toggle the Token Simulation

Environment

  • OS: macOs Big Sur (11.2.3)
  • Latest version of the plug in

Disabling token simulation doesn't work in Camunda Desktop Modeler v5.12.0

Describe the Bug

Disabling the token simulation mode in the current version of the Camunda Desktop Modeler doesn't work properly, producing the following error:

[diagram_1.bpmn] A DOM element reference is required
    at new (webpack://camunda-modeler-token-simulation-plugin/node_modules/min-dom/dist/index.esm.js:75:0)
    at classes (webpack://camunda-modeler-token-simulation-plugin/node_modules/min-dom/dist/index.esm.js:63:0)
    at file:///D:/Camunda%20Modeler/camunda-modeler-5.12.0/plugins/camunda-modeler-token-simulation-plugin-master/client/client.bundle.js:46:55
    at file:///D:/Camunda%20Modeler/camunda-modeler-5.12.0/resources/app.asar/public/656.js:2:27386
    at listener (webpack://camundanode_modules/diagram-js/lib/core/EventBus.js:423:33)
    at _invokeListener (webpack://camundanode_modules/diagram-js/lib/core/EventBus.js:397:23)
    at _invokeListeners (webpack://camundanode_modules/diagram-js/lib/core/EventBus.js:345:23)
    at ToggleMode.toggleMode (webpack://camunda-modeler-token-simulation-plugin/node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js:84:0)
    at HTMLDivElement.<anonymous> (webpack://camunda-modeler-token-simulation-plugin/node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js:55:0) [ error ]

The token simulation mode subsequently remains enabled and functional but can only be exited by closing the BPMN diagram.

Steps to Reproduce

  1. Install a vanilla copy of the Camunda Desktop Modeler v5.12.0
  2. Install the Token Simulation Plugin
  3. Create a new BPMN diagram
  4. Click on the "Token Simulation" toggle button or press T to enable the token simulation mode
  5. Click on the "Token Simulation" toggle button or press T to disable the token simulation mode

Expected Behavior

Toggling the token simulation mode should work without any issue.

Environment

Not able to install

@philippfromme, I added your BPMN simulation plugin as a folder "bpmn-js-token-simulation-plugin" into "plugins" directory in Camunda Modeler (on Mac), but "Token Simulation" button doesn't seem to appear on the board as illustrated in your gif animation tutorial. I tried to restart modeller, but nothing seems to help. Do you have any hints?

Menu Plugin Included in Camunda Cloud BPMN Tab

Describe the Bug

Even though Camunda Cloud BPMN plugins aren't supported the menu and style plugins are included regardless. When using the menu plugin there is an error since the bpmn-js plugin wasn't included.

wbs4j4rVJN

This isn't necessarily a bug but could also require a fix in the Camunda Modeler.

Steps to Reproduce

  1. Install plugin
  2. Create Camunda Cloud BPMN tab
  3. Use menu plugin
  4. Error in log

Expected Behavior

Menu plugin not included if Camunda Cloud BPMN tab.

Environment

  • Library version: 0.15.0

Rename and move this project

What should we do?

Rename this library to make clear it is a Camunda Modeler plug-in. I could imagine something simple like camunda-modeler-token-simulation-plugin or short token-simulation-plugin.

Move it to the camunda organization.

Why should we do it?

The current name and location makes no sense. We do not plug into bpmn-js.

Provide support for more elements and skip documentation elements

Hi, great plugin, thanks,
but it's seems to be not very usable on realworld schemas, because a lack of support of some elements. It's fails on documentation elements like message flows either.

I have intermediate events for status tracking on scheme which is very basic one and get error messages about unsupported elements.
It contains message flow elements which is no supported ether, but flow elements uses only for documentation purposes
and could be omitted by token emulation.

Token simulation makes endless loop in optional back loops

I have a process that consists of a user task and a service task. The service task should read data from a separate system. Based on that data, the human task needs to be repeated or the process ends. I modeled that with two exclusive gateways, one before the user task (joining the branches together) and one after the service task, routing the flow back to the first gateway, if the condition is met.
I would have expected, that the token simulation either neglects the optional back loop, or goes once through the loop and then continues towards the process end. But even if I make the flow towards the end event the default flow, it does not change anything. That's really a pity. Otherwise it's a nice tool.

Pressing "R" while in modeling mode enables simulation features

Describe the Bug

Pressing "R" on the keyboard when the "Token simulation" mode is disabled turns on simulation capabilities without hiding the palette or disabling the modeling mode.

Clicking the simulation mode toggle button twice resets the erroneous state back to default.

Token_Simulation_Plugin_Bug

This only seems to be a bug with the Desktop Modeler plugin. Testing with bpmn-js-token-simulation itself or the C8 Web Modeler doesn't show this issue.

Steps to Reproduce

  1. Draw a basic process model with at least one element.
  2. Make sure that "Token simulation" is turned off.
  3. Press "R" on your keyboard.
  4. Manipulate the process model while simulation capabilities are enabled.

Expected Behavior

Pressing "R" on the keyboard should do nothing when the simulation mode is disabled.

Environment

  • OS: Windows 10
  • Desktop Modeler version: 5.5.1
  • Plugin version: 0.16.0

How to install plugin in Mac OS X

Hi,
I tried to install the plugin in the latest OSX version of the Camunda Modeler. I tried two approaches:

  • a resources/plugins dictionary at the same level as the Camunda Modeler.app file
  • adding the plugin folder to the Ressources folder inside the Camunda Modeler.app.
    In both cases the plugin wasn't recognized.

How can the plugin be installed in OSX?

Christian

The plugin does not support Camunda modeler 5.12

When I toggle token simulation on, I get this output.

[diagram_1.bpmn] A DOM element reference is required
    at new (webpack://camunda-modeler-token-simulation-plugin/node_modules/min-dom/dist/index.esm.js:75:0)
    at classes (webpack://camunda-modeler-token-simulation-plugin/node_modules/min-dom/dist/index.esm.js:63:0)
    at file:///Users/hannes/Library/Application%20Support/camunda-modeler/resources/plugins/camunda-modeler-token-simulation-plugin/client/client.bundle.js:46:55
    at file:///Applications/Camunda%20Modeler.app/Contents/Resources/app.asar/public/656.js:2:27386
    at listener (webpack://camundanode_modules/diagram-js/lib/core/EventBus.js:423:33)
    at _invokeListener (webpack://camundanode_modules/diagram-js/lib/core/EventBus.js:397:23)
    at _invokeListeners (webpack://camundanode_modules/diagram-js/lib/core/EventBus.js:345:23)
    at ToggleMode.toggleMode (webpack://camunda-modeler-token-simulation-plugin/node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js:84:0)
    at HTMLDivElement.<anonymous> (webpack://camunda-modeler-token-simulation-plugin/node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js:55:0)
    at apply (webpack://camunda-modeler-client/node_modules/@sentry/browser/esm/helpers.js:72:22) [ error ]
This error may be the result of a plug-in compatibility issue.

Steps to Reproduce

Install Camunda Modeller 5.12
Toggle the Token Simulation

Environment

OS: macOs Ventura 13.4
Latest version of the plug in

Provide support for ReceiveMessageTask

Token simulation fails on message receive task.

Please provide support, it's shouldn't be a problem, cause you're already have support for ThrowMessageEvent

image

3.0.0-nightly: Token Simulation doesn't turn off

In today's nightly build of Camunda Modeler 3.0.0 the Token Simulation does not turn off using its button keyboard shortcut. That leaves the current models tab unusable and unsaved changes are lost.

Active sequence flow after XOR is not highlighted

In previous versions (and in https://bpmn-io.github.io/bpmn-js-token-simulation/modeler.html?e=1) the choosen outgoing sequence flow after an XOR is highlighted (or to be more precise: the inactive ones are rendered as disabled). This does not work in Camunda Modeler anymore.
All sequence flows look alike, that makes it difficult to control the flow during the simulation.

Expected Behavior
The activated outgoing sequence flows should be visibly highlighted.

Environment

  • OS: Mac OS BigSur
  • Camunda Modeler 4.8.1

Message flow support

Token Simulation fails due to Message Flow is unsupported element.

Please, support message flow in your plugin. It's exists only for documentation purpose in Camunda, so your plugin should just skip it.

image

Wrong boundary event being triggered.

Describe the Bug

When there are two boundary events, one interrupting and one non-interrupting on a receive task manually triggering the non-interrupting event appears to trigger the other one instead.

wrongEvenTriggered

Steps to Reproduce

  1. Build a model with a receive task
  2. add two timer boundary events (one interrupting one not)
  3. start simulation
  4. when the token is waiting on the task trigger the non-interrupting event

Expected Behavior

A new token is created leaving the non-interrupting event

Environment

  • OS: Windows 10
  • Modeler version: 5.0.0
  • Library version: latest

Upgrade to new token-simulation core

Is your feature request related to a problem? Please describe

We are currently at [email protected]. A lot of cool features shipped in newer versions.

Describe the solution you'd like

Updated to v0.24.0 so we have access to token sinks, pause at node and more.

Describe alternatives you've considered

None.


In addition we could establish a dependabot rule to automatically bump token-simulation in this plug-in.

Play-Button is not reactivated after simulation finishes in multi pool models

Describe the Bug
When a BPMN contains not only multiple lanes in a single pool, even if there are multiple pools with 1 or more lanes, each process start event has a "play button". When I choose one of the events to run the simulation, it all runs fine (in the newest version with a lot more supported elements (y) ). After the simulation run is over, in nearly all scenarios of model designs all start events get back their play button. But if you have 2 or more pools in a model, only the play button of the started pool reapears. I need to shut down token simulation an start it again, then all start events are runnable again. This is what I expect after finishing too.

Steps to Reproduce
1.) create a new pool
2.) add a simple process to simulate in pool 1
3.) create another new pool
4.) add a simple process to simulate again in pool 2
5.) run simulation in any pool
6.) after finishing of simulation 1 try to start to simulate the other one ;)

Expected Behavior
I expect the same behavior like at the beginning, when i activate the plugin and set Token Simulation to green. Then all pools can be simulated.

Environment
Modeler 4.7.0 win-x64

Best regards
Frank

Terminate End Event in subprocess not handled correctly

Describe the Bug

If a subprocess contains a Terminate End Event (filled circle), the token simulator terminates the entire outer process. This is incorrect: the outer process should continue beyond the subprocess.

Steps to Reproduce

image

jaytest1.zip

Using the above workflow simulate the token and click on msg1 to simulate the msg1 message event. The token will proceed to the Terminate End Event and then display Finished, and will not continue to Final Task.

Expected Behavior

If this same diagram is run in Camunda then the process will continue to Final Task.

Environment

  • OS: Ubuntu 20.04
  • Camunda Modeller: 4.2.0
  • Library version: 0.15.0 a4ff8e6

Depends on #50.

inclusive gateway token sumilation issiue

Describe the bug

token simulation do not work if i incorporate this type of gateway on the canvas.

Steps to reproduce

implement inclusive gateway
start token simulation [comunda desktop + plugin]
"Found unsoppurted elements"

Expected behavior

proper token simulation

Environment

win 10

Additional context

No response

Can't toggle in Modeler 4.11

I follow the README to put the project in plugins, but it can't be toggled.

toggleTokenSimulation is not a registered action
    at o (webpack:///node_modules/diagram-js/lib/features/editor-actions/EditorActions.js:257:9)
    at error (webpack:///node_modules/diagram-js/lib/features/editor-actions/EditorActions.js:167:10)
    at trigger (webpack:///src/app/tabs/cloud-bpmn/BpmnEditor.js:529:40)
    at triggerAction (webpack:///src/app/tabs/MultiSheetTab.js:269:18)
    at triggerAction (webpack:///src/app/tabs/EditorTab.js:36:33)
    at triggerAction (webpack:///src/app/App.js:1782:15)
    at fn (webpack:///src/app/App.js:2250:19)
    at file:///D:/%E8%AF%BE%E4%BB%B6/%E6%AF%95%E8%AE%BE/camunda/camunda-modeler-4.11.1-win-x64/resources/app.asar/public/bundle.js:73:148465
    at exec (webpack:///src/app/AppParent.js:76:11) [ error ]
This error may be the result of a plug-in compatibility issue. [ info ]

What should I do?

Modeler Version 4.11.1
Window 10

Selected sequence flow @ gateway not indicated (Modeler v 4.8.1)

The toggle button "Set Sequence Flow" at gateways used to indicate the selected sequence flow by showing the disabled flow as light gray. This is no longer the case wit Modeler v. 4.8.1 (while the actual functionality works).

Tested with:
Modeler 4.8.1
MacOS Big Sur 11.2

Plugin changes modeling behavior regarding event-based gateway

Describe the Bug

The plugin seemingly changes the modeling behavior regarding the event-based gateway. As per the BPMN 2.0 specification targets of an event-based gateway must not have any other incoming sequence flows.

With a clean Modeler install, when connecting a second sequence flow to such an event, the already connected incoming sequence flow per default is deleted automatically:

WithoutPlugin

When the plugin is installed this doesn't happen, allowing two incoming sequence flows to be connected to the event:

WithPlugin

Steps to Reproduce

  1. Open test diagram
  2. Connect the event-based gateway to the intermediate message catch event again.
  3. See that the now illegal other flow to the catch event remains in place.

Expected Behavior

The incoming sequence flow that is already connected to the event following the event-based gateway should be removed when connecting a second element.

Environment

  • OS: Windows 10
  • Modeler version: 4.11.1
  • Plugin version: 0.14

Behaviour on synchronous communication

Describe the Bug

When modelling synchronous communication, the behaviour is not as expected. On arriving at the task, the token will wait. On continuing, the message is sent and the token continues, ignoring the returning message flow.

You will find the behaviour in the attached video.
https://user-images.githubusercontent.com/81753891/143849238-c353b166-5ef7-4808-8923-0aa35c3cd0d7.mov

Steps to Reproduce

  1. Model two processes in one diagram.
  2. Draw one step that communicates synchronous with the other process
  3. The token will be stuck at this point, see video

Expected Behavior

I would assume that on arriving at the synchronous communication task, the send message will be done. After this, the token will wait for the returning message and continue on arrival of this message.

Generally speaking (cf. #42 (comment), #42 (comment)) message flows shall execute in diagram direction (left-to-right).

Environment

  • Host (Browser/Node version), if applicable: Camunda Modeler, version 4.11.1
  • OS: MacOS Big Sur 11.6.1
  • Library version: 0.13.1

Unable to see which outgoing sequence flow of an exclusive gateway is selected

Describe the Bug

After updating to the latest version (0.10.0) of this plugin, I can't see which outgoing sequence flow of an exclusive gateway is selected. All sequence flows are painted black.

image

In the former version, only the selected flow was black and the other ones were painted grey.

Steps to Reproduce

  1. Install version 0.10.0 of the token simulation plugin in Camunda Modeler 4.3.0
  2. Model a process with an exclusive gateway and at least two outgiong sequence flows.
  3. enable the simulation. All sequence flows keep black. The token simulation works.

Expected Behavior

Only the selected flow is painted black, the other flows appear lighter grey.

image

Environment

  • Host Camunda Modeler 4.3.0
  • OS: Windows 10
  • Library version: 0.10.0

Incompatibility Issue with Modeler 3.0.1

After installing 3.0.1. I always get the following exception:

[diagram_1.bpmn] A DOM element reference is required
at new (webpack:///node_modules/min-dom/dist/index.esm.js:75:0)
at classes (webpack:///node_modules/min-dom/dist/index.esm.js:63:0)
at file:///Users/swiese/Library/Application%20Support/camunda-modeler/plugins/bpmn-js-token-simulation-plugin-0.8.0/client/client.bundle.js:123:7
at file:///Applications/Camunda%20Modeler.app/Contents/Resources/app.asar/public/0.0.js:1:214623
at listener (webpack:///node_modules/diagram-js/lib/core/EventBus.js:362:0)
at _invokeListener (webpack:///node_modules/diagram-js/lib/core/EventBus.js:348:0)
at _invokeListeners (webpack:///node_modules/diagram-js/lib/core/EventBus.js:310:0)
at ToggleMode../node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js.ToggleMode.toggleMode (webpack:///node_modules/bpmn-js-token-simulation/lib/features/toggle-mode/modeler/ToggleMode.js:63:0) [ error ]
This error may be the result of a plug-in compatibility issue. [ info ]
Disable plug-ins (restarts the app) [ info ]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.