这是什么
本项目为以下BPMN引擎提供BPMN建模器插件:
主要目标是:将流程编辑集成到IntelliJ中,支持BPMN图与您的类(包括Spring bean)之间的代码导航。
目前仍在开发中。
问题和建议
请随时在Gitter上提出问题或分享您的意见:
主要功能
- BPMN流程编辑(BPMN建模器)- 添加/删除元素、更改属性、撤销/重做、批量拖放、批量删除元素
- 代码导航 - 从
委托表达式
**(IntelliJ Ultimate)或类
(IntelliJ Community)**属性直接跳转到代码中的bean/函数/类 - IntelliJ重构传播到流程的底层XML文件(如重命名bean)(IntelliJ Ultimate)
- 从元素跳转到底层XML (IntelliJ Ultimate)
- BPMN流程"调试",允许直接在插件中查看最新流程执行的步骤(及其顺序)(IntelliJ Ultimate)
安装
您可以从JetBrains插件仓库安装插件(搜索Flowable BPMN visualizer
或Activiti BPMN visualizer
或Camunda BPMN visualizer
,取决于您需要的引擎)。
最新版本: 您可以从本仓库的releases页面提供的ZIP文件或JetBrains插件仓库的alpha频道安装插件的最新构建版本。
从GitHub releases安装
从releases页面安装最新版本插件: Releases页面
注意:插件需要IntelliJ的"Ultimate版本"才能进行代码导航
安装指南视频:
从IntelliJ插件alpha频道仓库安装
- 打开
文件 -> 设置 -> 插件
- 在打开的窗口中,点击
齿轮
按钮(管理插件、仓库)->管理插件仓库
- 将Alpha发布频道 -
https://plugins.jetbrains.com/plugins/alpha/list
添加到仓库列表 - 现在您可以直接从插件搜索窗口列出并安装
Flowable bpmn visualizer
插件
IntelliJ关于此主题的文档:
从源代码构建
如果您想直接从源代码构建插件(例如,从master
分支的HEAD
获取错误修复),只需在项目根目录执行以下命令:
./gradlew clean buildPlugin
这将创建flowable-intellij-plugin/build/distributions/bpmn-intellij-plugin.zip
文件,其中包含插件发行版。
您可以按照这里的步骤安装它。
如果您只想在sandbox
中运行插件,可以执行
Flowable:
./gradlew clean :flowable-intellij-plugin:runIde
Activiti:
./gradlew clean :activiti-intellij-plugin:runIde
Camunda:
./gradlew clean :camunda-intellij-plugin:runIde
工作流程
插件使用:
基本使用
添加新元素
BPMN-Java-XML "粘合"使用(IntelliJ Ultimate,IntelliJ Community仅支持类)
使用插件调试BPMN流程
导航/编辑指南
- 要在插件中打开BPMN图,左键单击XML文件并选择
查看BPMN图
- 要上下左右移动图,按住鼠标中键并开始移动鼠标 - 图将跟随(如用鼠标中键拖动)或Shift + 左键
- 放大/缩小 - 滚动鼠标滚轮
- 要添加新元素,右键单击并弹出新元素选择菜单
- 要复制或剪切元素,选择要复制/粘贴的元素,右键单击它们以查看弹出菜单,然后选择剪切或复制菜单项
- 要粘贴元素,(先复制/剪切)右键单击所需位置并选择"粘贴"弹出菜单项
- 要选择元素,用鼠标单击它
常见问题
Q: 我的 Activiti/Flowable 引擎文件扩展名是 .bpmn
而不是 bpmn20.xml
,如何打开它们?
A: 导航至 文件 > 设置 > 工具 > Activiti BPMN 插件配置(或 Flowable BPMN 插件配置)。
在"支持的扩展名"字段中添加 bpmn
,使该字段的值变为 bpmn20.xml,bpmn
。现在您应该能够打开这些文件了。
配置插件以打开自定义扩展名文件的动画演示
Q: 某个功能/错误已被关闭,但我找不到新版本。
A: 请查看此链接了解您所关注功能的状态。 如果该功能位于"完成"(或"已关闭")列中,这并不意味着它已发布 - 它必须继续进入后续列才会出现在任何类型的发布版本中。功能"关闭"后,它将等待在 Releases 页面进行 GitHub 发布,之后才会发布到 JetBrains 市场。插件在 JetBrains 市场上可用可能需要长达两天的时间。
技术细节
架构图
插件模块
Flowable XML 子集支持
查看摘要表
XML 元素 | 是否支持 |
---|---|
adHocSubProcess | 是 |
association | |
boundaryEvent | 部分 |
bpmndi:BPMNDiagram | 是 |
bpmndi:BPMNEdge | 是 |
bpmndi:BPMNPlane | 是 |
bpmndi:BPMNShape | 是 |
businessRuleTask | 是 |
callActivity | 是 |
cancelEventDefinition | 部分 |
compensateEventDefinition | 部分 |
completionCondition | 部分 |
condition | 部分 |
conditionalEventDefinition | 部分 |
conditionExpression | 是 |
dataObject | |
definitions | |
documentation | 是 |
endEvent | 是 |
errorEventDefinition | 部分 |
escalationEventDefinition | 部分 |
eventBasedGateway | 部分 |
exclusiveGateway | 是 |
extensionElements | |
flowable:eventListener | |
flowable:executionListener | |
flowable:field | 是 |
flowable:in | |
flowable:out | |
flowable:string | 是 |
flowable:value | 是 |
inclusiveGateway | 是 |
intermediateCatchEvent | 部分 |
intermediateThrowEvent | 部分 |
loopCardinality | |
message | |
messageEventDefinition | |
multiInstanceLoopCharacteristics | |
omgdc:Bounds | 是 |
omgdi:waypoint | 是 |
parallelGateway | 部分 |
process | 部分 |
receiveTask | 部分 |
script | 是 |
scriptTask | 是 |
sequenceFlow | 是 |
serviceTask | 是 |
signalEventDefinition | 部分 |
startEvent | 是 |
subProcess | 是 |
terminateEventDefinition | 部分 |
text | 部分 |
textAnnotation | 部分 |
timeDate | 部分 |
timerEventDefinition | 部分 |
transaction | 是 |
userTask | 是 |
图例:
是 - 大部分或完全支持
部分 - 部分支持
空白 - 大部分不支持