Flowable流程设计器节点扩展自定义属性
1. 一些前提
- 设计器前后端分离。
- 前端使用nginx进行代理访问,并增加转发的头部信息X-Authorization,其token值可以调用登录接口获取。保持接口登录状态
- 后台接口以jar包的形式引入相关接口,屏蔽掉idm等模块功能和配置。具体配置参见FlowableModelerRestApiAutoConfiguration自动配置类。最后复制flowable源码中org.flowable.ui.common.security.SecurityUtils.java文件到项目中,保持路径不变,用于覆盖源码的工具类以实现使用自定义的SecurityContext。
2. 设计器实现原理简述
- 设计器页面加载时访问后台接口,获取stencilset_bpmn.json文件内容,得到所有模具元素和相关属性配置。然后获取要编辑的流程的详情,最终完成页面渲染生成。
- stencilset_bpmn.json文件主要包含四个部分的内容,如下图所示
- 基本信息:设计器的基本属性(编辑器名称,命名空间,描述)
- 属性包:定义流程图中所有节点的属性,可以组合成不同的“属性包”。
- 模型:流程设计可使用的模型,即界面左侧可拖动放置的模具元素。其中包含该模具在画布上放置时的样式,以及多个“属性包”,当拖动一个模具到画布时,下方属性面板将渲染属性包的相关属性。
- 规则:定义一些限制规则,例如空的启动事件不允许有输入流,结束事件不允许有输出流


本文介绍如何在Flowable流程设计器中自定义扩展节点属性,包括前后端的修改步骤及注意事项,以UserTask为例,详细讲解了从原理理解到实际操作的过程。
最低0.47元/天 解锁文章
574





