Giter Club home page Giter Club logo

camunda-modeler-plugins's Introduction

Looking for a starting point to create you own plugin? Checkout our plugin starter project or consult the plugins documentation.

Camunda Modeler Plugins ๐Ÿ”Œ

CI

This repository contains a number of plugins for the Camunda Modeler. You can also find it in an accessible and structured manner via the plugins.json file.

Checkout our contribution guidelines to add more plugins to the list.

General

bpmn-js

dmn-js

Other

Plugins in other repositories

General

bpmn-js

dmn-js

  • DMN Testing Plugin - A plugin to test your DMN decision tables and decision graphs using an embedded Camunda decision engine.
  • Excel Import Plugin - A plugin to import Excel Sheets to DMN Tables.

Linter Rules

Contribute

Would you like to contribute to this list? Propose your addition by editing the plugins list.

Add your plugin to the plugins.json to make it accessible in a structured manner.

 {
  "id": "my-plugin",
  "displayName": "Example Plugin",
  "version": "0.1.0",
  "description": "A Camunda Modeler example plugin",
  "url": "https://github.com/example/camunda-modeler-example-plugin",
  "category": "General"
}

Additional Resources

License

MIT (unless noted otherwise)

camunda-modeler-plugins's People

Contributors

asys3 avatar dependabot[bot] avatar dominikhorn93 avatar falko avatar felix-mueller avatar franzheidl avatar gexclaude avatar hkupitz avatar hlucasfranca avatar ichigo85 avatar jonathanlukas avatar marstamm avatar maxtru avatar nikku avatar philippfromme avatar psub avatar rnschk avatar shepda 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

camunda-modeler-plugins's Issues

Camunda Modeler Plugin to show Transaction Boundaries is "not a registered action"

The Bug and How to Reproduce

After copying the camunda-modeler-token-simulation-plugin files from https://github.com/camunda/camunda-modeler-plugins.git into the specified ~/Library/Application Support/camunda-modeler/resources/plugins directory the Desktop Camunda Modeler recognises the plugin. However, when the menu item Plugins / Transaction Boundaries / Toggle Transaction Boundaries is selected the following error is generated:

toggleTransactionBoundaries is not a registered action
    at a (webpack://camundanode_modules/diagram-js/lib/features/editor-actions/EditorActions.js:266:9)
    at error (webpack://camundanode_modules/diagram-js/lib/features/editor-actions/EditorActions.js:175:10)
    at Uc.<anonymous> (webpack://camunda-modeler-token-simulation-plugin/node_modules/bpmn-js-token-simulation/lib/features/disable-modeling/DisableModeling.js:111:0)
    at obj.<computed> (webpack://camunda-modeler-token-simulation-plugin/node_modules/bpmn-js-token-simulation/lib/features/disable-modeling/DisableModeling.js:36:0)
    at trigger (webpack://camunda-modeler-client/src/app/tabs/cloud-bpmn/BpmnEditor.js:709:40)
    at triggerAction (webpack://camunda-modeler-client/src/app/tabs/MultiSheetTab.js:269:18)
    at triggerAction (webpack://camunda-modeler-client/src/app/tabs/EditorTab.js:36:33)
    at file:///Applications/Camunda%20Modeler.app/Contents/Resources/app.asar/public/bundle.js:2:3584297
    at fn (webpack://camunda-modeler-client/src/app/App.js:2447:19)
    at file:///Applications/Camunda%20Modeler.app/Contents/Resources/app.asar/public/bundle.js:2:3588837 [ error ]
This error may be the result of a plug-in compatibility issue. [ info ]

Expected Behavior

I would expect the BPMN diagram to show the red lines as per
image

Environment

  • Version: 5.23.0
  • Operating System: Mac OS 10.15.7
  • Plugins: bpmn-js Token Simulation, Transaction Boundaries
  • Execution Platform: BPMN - Camunda 8

Fix compatibility with Modeler v4.6

Still working on 4.5, on 4.6:

Cannot read property '$type' of undefined
at TransactionBoundaries../node_modules/camunda-transaction-boundaries/lib/TransactionBoundaries.js.TransactionBoundaries._getTransactionBoundaries (webpack:///node_modules/camunda-transaction-boundaries/lib/TransactionBoundaries.js:67:0)
at file:///C:/Users/Rob/AppData/Roaming/camunda-modeler/resources/plugins/camunda-transaction-boundaries-plugin/client/client-bundle.js:387:38
at file:///C:/tools/camunda-modeler/resources/app.asar/public/2.2.js:1:14123
at Array.forEach ()
at forEach (webpack:///node_modules/diagram-js/lib/core/ElementRegistry.js:181:19)
at TransactionBoundaries../node_modules/camunda-transaction-boundaries/lib/TransactionBoundaries.js.TransactionBoundaries._getTransactionBoundaryElements (webpack:///node_modules/camunda-transaction-boundaries/lib/TransactionBoundaries.js:105:0)
at TransactionBoundaries../node_modules/camunda-transaction-boundaries/lib/TransactionBoundaries.js.TransactionBoundaries.show (webpack:///node_modules/camunda-transaction-boundaries/lib/TransactionBoundaries.js:204:0)
at TransactionBoundaries../node_modules/camunda-transaction-boundaries/lib/TransactionBoundaries.js.TransactionBoundaries.toggle (webpack:///node_modules/camunda-transaction-boundaries/lib/TransactionBoundaries.js:280:0)
at Object.toggleTransactionBoundaries (webpack:///client/module.js:9:0)
at opts (webpack:///node_modules/diagram-js/lib/features/editor-actions/EditorActions.js:170:31) [ error ]
This error may be the result of a plug-in compatibility issue. [ info ]
Disable plug-ins (restarts the app) [ info ]

bpmn-js-embedded-comments.js is missing in /client

Hi, i'm want to write a small plugin for camunda and I'm studying other plugins right now, to better understand how to do it. I'm quite interested in the bpmn-js-embedded-comments plugin, but I only found the browserified client-bundle.js, not the original source file. Would it be possible to upload the source file, so I could study it?
Thanks a lot.

Dracula plugin sets the color of labels

Describe the Bug

When I edit a BPMN model with the Dracula plugin installed, it changes the color of all labels from:

<bpmndi:BPMNLabel>

to:

<bpmndi:BPMNLabel color:color="rgb(207, 205, 205)">

Steps to Reproduce

  1. install Dracula plugin
  2. open the Modeller
  3. open a BPMN
  4. change something
  5. save
  6. examine the updated BPMN

Expected Behavior

It should never change the color in the BPMN.

Environment

  • OS: MacOS 14.4.1
  • Camunda Modeler Version: 5.21.0

Properties Panel and Moddle not working

The logging project is not working
The moddle project is not working...

Alpha versions of some packages give problems. Many of the compilations are not captured.

Many plugins that work are only loaded in Camunda 7 bpms, not in Camunda 8.

Ensure plugin information is clear once they become available for cloud

What we should do:

We should ensure that all of our plugins are up to date their usage made clear, this means we want to have them all:

  • Version bumped
  • Have information regarding modeler version compatibility
  • Have information regarding platform compatibility

The goal of this is to provide a readable overview of compatibility to any users.

Build a plugin example to showcase communication between different modules

What should we do?

Create a multi-module plugin showcasing interaction between multiple extensions of multiple types (bpmn, dmn, menu and react).

Why should we do it?

It is currently not very obvious how a plugin developer can send signals between the different types of extensions on the modeler. Such an example would be very useful to plugin developers to be able to create more complex interaction with our embedded editors.

Define structured way to host plug-in meta-data

What shall we do

As a integration author I love to discover available plug-ins in a structured manner. At the same time I'd like to understand an individual plug-ins context (i.e. compatibility) in a structured manner (currently represented as a compat table + badge)), too.

Why shall we do it

Providing both in a structured way allows us to build tooling for plug-in discovery, installation, and upgrading (i.e. mopl, just without crawling).

style-plugin - documentation

Hello,

Is there any documentation with all the possible stylesheet elements for Camunda Modeler which can be changed? I am more interested in the css element which holds the Script textbox for Connector tab (Input Parameter section).

Thank you!
Andrei

Custom React Component CSS issues when inside Camunda Modeler

Describe the Bug

I am adding a plugin to the Properties Panel and setting a custom component. A ("npm i react-calendar").
But the Properties Panel CSS keeps forcing itself over my CSS when running inside Camunda Modeler.

Steps to Reproduce

  1. Create a Properties Panel Extenstion
  2. Add a component and some CSS to it via file import (import "./mystyle.css")
  3. Add this styles:
    .mycomponentstyleclass {
    color: white;
    font-size: 1;
    line-height: 1;
    font-weight: 1;
    box-sizing: content-box;
    }
  4. Styles don't work, class ".bio-properties-panel *" overrides everyone:
    image

If I force disable the style in the dev panel, the component CSS works:
image

Expected Behavior

How to avoid .bio-properties-panel inheritance? css "all: unset/initial" does not work.

Environment

  • Windows 10
  • Camunda Modeler 5

MessageFlow not supported

When using the Message Flow there is an error: MessageFlow not supported; should be included or ignored for the token simulation

Modeler inline comment plugin does not store the comments

Describe the bug

I installed the plugin: bpmn-js-plugin-embedded-comments ("Embnedded Comments") in Modeler's plugin-directory under Windows 10. Modeler version is 5.10.0. I can add comments during the modelling session. But after save and restart of Modeler, the comments are lost.

Steps to reproduce

  1. add the plugin
  2. start Modeler under Windows and verify if plugin is listed in menu "Plugins"
  3. open a model or create one and add a comment
  4. save the model; ensure no other change happens
  5. close Modeler and restart
  6. open the model and look at the comment: it is gone (at least for me)

Expected behavior

The comments added to a model have to be poersisted after saving the model.

Environment

  • OS: Windows 10
  • Camunda Modeler Version: 5.10.0
  • Execution Platform: standalone
  • Installed plug-ins: Embedded Comments, Spectrum Colorpicker

Additional context

Root cause analysis in #100 (comment).

bpmn-js-plugin-embedded-comments: comments not persitent

Hi,

To my understanding the 'bpmn-js-embedded-comments' project supports writing comments into the bpmn:documentation tag and makes them persistent. I.e. once the process model is saved the comments are too.
But when I use the plugin 'bpmn-js-plugin-embedded-comments' in my modeler, comments are not made persistent. Next time I open the model all comments are gone.

Is this a bug in the plugin?

bpmn-js-plugin-embedded-comments conflict with documentation element

Hi,

there is a strange behavior in combination with embedded comments and the documentation element. As I can see, the comments are stored in bpmn:documentation-elements with the attribute textFormat="text/x-comments". OK, its fine for me.
But now I found a difference between first adding comments and then add my own documentation and first adding my own documentation and then add comments.

scenario 1, first comments:
An element with textFormat="text/x-comments" is added and shown as documentation in properties panel. When I add my own documentation the attribute textFormat is lost and all comments are part of the normal documentation element. But, now it get really strange, its removed in the XML but the plugin seems to use the known comments only. If I now add a new comment, all other comments are gone, only the new one(s) are shown as comments. The former comments are now plain documentation too.
I think this isn't a correct behavior.

scenario 2, first documentation:
An element without textFormat appears in the XML. When adding comment(s) now, another element with textFormat is added after the first plain documentation element. The plugin knows to use only the comments. The properties panel documentation element only shows my own documentation. And even the property info plugin knows, that only the first plain documentation element is to use. This sounds really like the desired behavior. Now try to delete the plain comment... The modeller removes all documentation elements for the BPMN-element, including the comments. But some caches do the magic, the plugin continues showing the comments. Unfortunately the cached comments do not survive closing and reopening the BPMN-model.

My suggestion:
When the first comment is added, check for other documentation elements and add the one with textFormat at the end. If no other documentation is availabe, add an empty plain documentation element first.
But at the other side, the modeler itself need a fix. When deleting the plain documentation, its not a good idea to delete all documentation elements. Maybe an empty element must remain if other documentation elements are available at the BPMN-element.

Sorry for this long text. But I hope it can help to understand the problem better :)

Regards
Frank

some objects are not supported

Hi Philipp,

I'm a new user and I tried to use this plugin on a few BPMN diagrams. After I run the simulation I receive ''Not Supported'' message on some of the objects. Do they need a specific configuration?
What is the minimum configuration required for them to run?

Thanks!
Shahab

Custom React component does not render

Describe the Bug

Depending on the Webpack configuration, Properties Panel Extension components cannot render.

If you clone any example repos out there that use TextEntryField to customize the properties panel, if you export that library to Camunda Modeler (instead of using a React web-modeler), several issues emerge, that can be fixed by a webpack configuration, but then... no component that is custom gets rendered (a "react-calendar" for example).

Steps to Reproduce

  1. Build or clone any repo with a Properties Panel Extension, something like: https://github.com/bpmn-io/bpmn-js-examples/tree/master/properties-panel-extension
  2. Update the imports to "@bpmn-io/properties-panel:^13.2" and "bpmn-js-properties-panel:^1.0.0"
  3. Change the webpack distribuition to be able to import the plugin to Camunda Modeler: https://github.com/pinussilvestrus/camunda-modeler-excel-import-plugin/blob/main/webpack.config.js
  4. Add a "react-calendar" (npm install react-calendar) component and render it somewhere inside the Properties Panel
  5. Export the plugin to Camunda Modeler
  6. Issues emerge.

Option 1: Change the webpack to something like: https://github.com/pinussilvestrus/camunda-modeler-excel-import-plugin/blob/main/webpack.config.js

  • does not render inside the Properties Panel. useState does not work for your components, for the TextField it does.

Option 2: Change the webpack to somethin like: https://github.com/bpmn-io/bpmn-js-examples/blob/master/properties-panel-extension/webpack.config.js

  • TextFieldEntry does not render/hooks don't work.

Expected Behavior

Both components to render (<Calendar /> and <TextFieldEntry />) and be able to import and use "useState" and other hooks, those are ALWAYS null/undefined.

Environment

  • OS: Windows 10
  • Camunda Modeler Version: 5.0.0

Change wording for Modeler plugins based on bpmn-js extensions

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

I have seen multiple customers and training participants accidentally download the wrong files when wanting to install a Desktop Modeler plugin that is based on a bpmn-js extension.

image

Describe the solution you'd like

The link wording could be changed to something like:

Token Simulation Plugin (Camunda Modeler plugin based on bpmn-js-token-simulation)

Describe alternatives you've considered

Alternatively we could remove the link leading to the bpmn-js extensions.

Please add an example to integrate a custom properties provider

Hi! I am working on my plugins, compatible to Camunda Modeler 4.x, to make them working on Camunda Modeler 5.x. I found really helpful the autosave plugin and the bpmn-js properties-panel-extension example to start, but they use two different aliases for react in their webpack configuration.
Now, if I use the 'camunda-modeler-plugin-helpers/react' alias, the plugin works without errors but the "useService" function does not work.
If I change the alias to preact-compat, I have this error
Invariant Violation: Minified React error #284;

I think that a new camunda modeler plugin example to integrate a custom properties panel would be really helpful to understand the potential of your new major update.
Also, some help would really be appreciated ๐Ÿ˜‰ Thank you!

TX Plugin: TX boundaries are displayed on Event-based Gateways

image

Transaction boundaries should not be displayed on Event-based Gateways unless they have asyncBefore=true. My customer today got confused by this into thinking that the event subscriptions after the Gateway are executed in a separate transaction and was afraid of race conditions.

All flow nodes that are allowed after an Event-based Gateways are wait states and have TX boundaries correctly displayed on them. So we can simply remove the TX boundary before the Gateway.

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.