{"id":16179379,"url":"https://github.com/valb3r/flowable-bpmn-intellij-plugin","last_synced_at":"2025-04-10T05:11:02.631Z","repository":{"id":37801335,"uuid":"261109342","full_name":"valb3r/flowable-bpmn-intellij-plugin","owner":"valb3r","description":"Flowable, Activiti, Camunda BPMN engines process editor plugin for IntelliJ. Pure Kotlin (and some Java)","archived":false,"fork":false,"pushed_at":"2025-04-04T09:15:12.000Z","size":5160,"stargazers_count":169,"open_issues_count":102,"forks_count":38,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-10T05:10:52.312Z","etag":null,"topics":["activiti","bpmn","bpmn-diagram","bpmn-editor","bpmn-process","bpmn-viewer","camunda","code-navigation","flowable","integration","intellij-plugin","modeler","navigation"],"latest_commit_sha":null,"homepage":"https://plugins.jetbrains.com/plugin/14318-flowable-bpmn-visualizer","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valb3r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-04T07:38:16.000Z","updated_at":"2025-04-02T11:23:53.000Z","dependencies_parsed_at":"2023-12-25T13:29:10.594Z","dependency_job_id":"e082e861-09c4-4ae1-958a-1960f5a33c03","html_url":"https://github.com/valb3r/flowable-bpmn-intellij-plugin","commit_stats":null,"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valb3r%2Fflowable-bpmn-intellij-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valb3r%2Fflowable-bpmn-intellij-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valb3r%2Fflowable-bpmn-intellij-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valb3r%2Fflowable-bpmn-intellij-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valb3r","download_url":"https://codeload.github.com/valb3r/flowable-bpmn-intellij-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248161276,"owners_count":21057555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["activiti","bpmn","bpmn-diagram","bpmn-editor","bpmn-process","bpmn-viewer","camunda","code-navigation","flowable","integration","intellij-plugin","modeler","navigation"],"created_at":"2024-10-10T05:27:34.826Z","updated_at":"2025-04-10T05:11:02.606Z","avatar_url":"https://github.com/valb3r.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/valb3r/flowable-bpmn-intellij-plugin/workflows/Java%20CI/badge.svg)](https://github.com/valb3r/flowable-bpmn-intellij-plugin/actions)\n[![codecov](https://codecov.io/gh/valb3r/flowable-bpmn-intellij-plugin/branch/master/graph/badge.svg)](https://codecov.io/gh/valb3r/flowable-bpmn-intellij-plugin)\n[![Gitter](https://badges.gitter.im/flowable-bpmn-intellij-plugin/community.svg)](https://gitter.im/flowable-bpmn-intellij-plugin/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n[![Made in Ukraine](https://img.shields.io/badge/made_in-ukraine-ffd700.svg?labelColor=0057b7)](https://stand-with-ukraine.pp.ua)\n\n[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://stand-with-ukraine.pp.ua)\n\n# What is this\n\nThis project provides BPMN modeler plugin for these BPMN-engines:\n - [Flowable BPMN engine](https://github.com/flowable/flowable-engine)\n - [Activiti BPMN engine](https://github.com/Activiti/Activiti)\n - [Camunda BPMN engine](https://github.com/camunda/camunda-bpm-platform)\n\nKey goals are: process editing integration into IntelliJ, code navigation support between BPMN diagram and your classes including Spring beans.\n\n**Currently, it is work-in-progress.**\n\n\n# Questions and propositions\n\nDon't hesitate - ask or tell your opinion in gitter:\n\n[![Gitter](https://badges.gitter.im/flowable-bpmn-intellij-plugin/community.svg)](https://gitter.im/flowable-bpmn-intellij-plugin/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n\n# Key features\n\n1. BPMN process editing (BPMN modeler) - adding/removing elements, changing their properties, undo/redo, bulk drag-n-drop, bulk removal of elements\n1. Code navigation - jump from `Delegate Expression` **(IntelliJ Ultimate)** or `Class` **(IntelliJ Community)** property directly to bean/function/class in code\n1. IntelliJ refactorings propagation to backing XML file of the process (i.e. rename bean) **(IntelliJ Ultimate)**\n1. Jump from an element to the underlying XML **(IntelliJ Ultimate)**\n1. BPMN process 'debugging' by allowing to see steps (and their order) done for latest process execution directly in plugin **(IntelliJ Ultimate)**\n\n\n# Installation\n\nYou can install the plugin from JetBrains plugin repository (just search for \n[`Flowable BPMN visualizer`](https://plugins.jetbrains.com/plugin/14318-flowable-bpmn-visualizer) \nor [`Activiti BPMN visualizer`](https://plugins.jetbrains.com/plugin/15222-activiti-bpmn-visualizer) \nor [`Camunda BPMN visualizer`](https://plugins.jetbrains.com/plugin/17844-camunda-bpmn-visualizer) depending on engine you need\n) like any other plugin.\n\n**Bleeding edge**:\nYou can install the latest build of the plugin from ZIP file provided at releases page of this repository \nor from alpha-channel of JetBrains plugin repository.\n\n## From GitHub releases\n\nInstall the latest plugin version plugin from the releases page:\n[Releases page](https://github.com/valb3r/flowable-bpmn-intellij-plugin/releases/)\n\n**NOTE: The plugin requires 'Ultimate Edition' of IntelliJ for code navigation**\n\nInstallation guideline video:\n\n[![Install plugin](https://img.youtube.com/vi/tfSAEMSIrqA/0.jpg)](https://www.youtube.com/watch?v=tfSAEMSIrqA)\n\n\n## From IntelliJ plugins alpha-channel repository\n\n1. Open `File -\u003e Settings -\u003e Plugins`\n1. In opened window, click on `Gear` button (Manage plugins, repositories) -\u003e `Manage Plugin Repositories`\n1. Add Alpha releases channel - `https://plugins.jetbrains.com/plugins/alpha/list` to repositories list\n1. Now you are able to list and install `Flowable bpmn visualizer` plugin directly from plugin search window\n\nIntelliJ docs on this topic:\n\n[How to configure and use alpha channel](https://plugins.jetbrains.com/docs/marketplace/custom-release-channels.html#CustomReleaseChannels-ConfiguringaCustomChannelinIntelliJPlatformBasedIDEs)\n\n\n# Building from sources\n\nIf you want to build plugin directly from sources (i.e. from `master` branch `HEAD` for bugfixes), simply execute \nin project root this command:\n\n```shell script\n./gradlew clean buildPlugin\n```\n\nIt will create `flowable-intellij-plugin/build/distributions/bpmn-intellij-plugin.zip` file that contains plugin distributive.\nYou can install it by following steps [here](#from-github-releases).\n\nIf you want just to run the plugin in the `sandbox` you can execute\n\n**Flowable:**\n\n```shell script\n./gradlew clean :flowable-intellij-plugin:runIde\n```\n\n**Activiti:**\n\n```shell script\n./gradlew clean :activiti-intellij-plugin:runIde\n```\n\n**Camunda:**\n\n```shell script\n./gradlew clean :camunda-intellij-plugin:runIde\n```\n\n# Workflow\n\n\n## Plugin usage:\n\n\n### Basic usage\n\n[![Work with plugin](https://img.youtube.com/vi/8-_XmOlEyXM/0.jpg)](https://youtu.be/8-_XmOlEyXM)\n\n\n### Adding new elements\n\n[![Work with plugin](https://img.youtube.com/vi/cyLbEeaMDvI/0.jpg)](https://youtu.be/cyLbEeaMDvI)\n\n\n### BPMN-Java-XML 'gluing' usage (IntelliJ Ultimate, only classes for IntelliJ Community)\n\n[![Work with plugin](https://img.youtube.com/vi/BQf0eglY2vo/0.jpg)](https://youtu.be/BQf0eglY2vo)\n\n\n### Debugging BPMN process with the plugin\n\n[![Debug BPMN with plugin](https://img.youtube.com/vi/_zQ1zy_0Qfc/0.jpg)](https://youtu.be/_zQ1zy_0Qfc)\n\n\n# Navigation/editing guideline\n\n1. To open BPMN diagram in the plugin - left mouse button on XML file and select `View BPMN Diagram`\n1. To move diagram up/down/left/right - click mouse wheel and start moving your mouse - diagram will follow \n(like dragging with mouse wheel) or Shift + Left Mouse Button\n1. Zoom in/out - mouse wheel rotation\n1. To **add a new element** - click with right mouse button and popup menu with new element selection will appear \n1. To **Copy or cut element(s)** - select elements you want to copy/paste and click with right mouse button on them to \nsee popup menu, there select cut or copy menu item\n1. To **Paste element(s)** - (copy/cut before) click with right mouse button on the desired location and \nselect 'Paste' popup menu item\n1. To select element click on it with mouse\n\n\n# FAQ\n\n### Q: My files for Activiti/Flowable engine have `.bpmn` extension and not `bpmn20.xml`, how can I open them.\n\n**A**: Navigate to **File** \u003e **Settings** \u003e **Tools** \u003e **Activiti BPMN Plugin config** (or **Flowable BPMN Plugin config**). \nIn the field **Supported extensions** add `bpmn`, so that field value is `bpmn20.xml,bpmn`. Now you should be able to open it.\n[Animation to configure plugin for opening files with custom extension](docs/img/faq/how-to-open-bpmn.gif)\n\n\n### Q: Some feature/bug was closed, but I can't find new release.\n\n**A**: Check [this link](https://github.com/valb3r/flowable-bpmn-intellij-plugin/projects/1) for the status of your feature. \nIf it is in 'Done' (or Closed) column this doesn't mean it is released - it must proceed to next columns to appear in \nany kind of release-artifact. After a feature is 'Closed' it will wait for GitHub release \nat [Releases](https://github.com/valb3r/flowable-bpmn-intellij-plugin/releases) page and after that it will be \npublished to JetBrains marketplace. It can take up to two days for plugin to be available on JetBrains marketplace.\n\n\n# Technical details\n\n\n## Architectural diagrams\n\n### Plugin modules\n\n![Modules diagram](http://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/valb3r/flowable-bpmn-intellij-plugin/master/docs/img/module_architecture.puml\u0026fmt=svg\u0026vvv=3\u0026sanitize=true)\n\n\n# Flowable XML subset support\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003eView summary table\u003c/b\u003e\u003c/summary\u003e\n\n\n|            XML element           | Supported |\n|:--------------------------------:|:---------:|\n|          adHocSubProcess         |     Y     |\n|            association           |           |\n|           boundaryEvent          |     P     |\n|        bpmndi:BPMNDiagram        |     Y     |\n|          bpmndi:BPMNEdge         |     Y     |\n|         bpmndi:BPMNPlane         |     Y     |\n|         bpmndi:BPMNShape         |     Y     |\n|         businessRuleTask         |     Y     |\n|           callActivity           |     Y     |\n|       cancelEventDefinition      |     P     |\n|     compensateEventDefinition    |     P     |\n|        completionCondition       |     P     |\n|             condition            |     P     |\n|    conditionalEventDefinition    |     P     |\n|        conditionExpression       |     Y     |\n|            dataObject            |           |\n|            definitions           |           |\n|           documentation          |     Y     |\n|             endEvent             |     Y     |\n|       errorEventDefinition       |     P     |\n|     escalationEventDefinition    |     P     |\n|         eventBasedGateway        |     P     |\n|         exclusiveGateway         |     Y     |\n|         extensionElements        |           |\n|      flowable:eventListener      |           |\n|    flowable:executionListener    |           |\n|          flowable:field          |     Y     |\n|            flowable:in           |           |\n|           flowable:out           |           |\n|          flowable:string         |     Y     |\n|          flowable:value          |     Y     |\n|         inclusiveGateway         |     Y     |\n|      intermediateCatchEvent      |     P     |\n|      intermediateThrowEvent      |     P     |\n|          loopCardinality         |           |\n|              message             |           |\n|      messageEventDefinition      |           |\n| multiInstanceLoopCharacteristics |           |\n|           omgdc:Bounds           |     Y     |\n|          omgdi:waypoint          |     Y     |\n|          parallelGateway         |     P     |\n|              process             |     P     |\n|            receiveTask           |     P     |\n|              script              |     Y     |\n|            scriptTask            |     Y     |\n|           sequenceFlow           |     Y     |\n|            serviceTask           |     Y     |\n|       signalEventDefinition      |     P     |\n|            startEvent            |     Y     |\n|            subProcess            |     Y     |\n|     terminateEventDefinition     |     P     |\n|               text               |     P     |\n|          textAnnotation          |     P     |\n|             timeDate             |     P     |\n|       timerEventDefinition       |     P     |\n|            transaction           |     Y     |\n|             userTask             |     Y     |\n\n**Legend**:\n\n**Y** - Mostly or fully supported\n\n**P** - Partially supported\n\n**Blank** - Mostly unsupported\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalb3r%2Fflowable-bpmn-intellij-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalb3r%2Fflowable-bpmn-intellij-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalb3r%2Fflowable-bpmn-intellij-plugin/lists"}