bpmn-web
HTTP集成和web UI bpmn-server.
可重用的 WebApp 主机独立于任何特定的工作流
应用程序。应用程序提供自己的工作流定义,
配置、持久化适配器和服务实现
WorkflowApplication通常通过 start(). 示例应用程序及其过程,
连接器和委托,以及bpmn-web的测试 testSampleApp/ 在存储库根目录下。
安装
要求
- Node.js >= 10.x
- NPM >= 6.x
- MongoDB >= 4.x
安装
设置。Env与您的mongodb连接字符串如下:
# PORT # for express application
PORT=3000
#API_KEY is used for remote access
API_KEY=12345
API_SERVICE_USER_NAME=integration
API_SERVICE_USER_GROUPS=SYSTEM
# Optional scope for a tenant service account:
# API_SERVICE_TENANT_ID=tenant-a
# API_SERVICE_MODELS_OWNER=tenant-a
# Separate credential for definition/model administration
ADMIN_API_KEY=replace-with-a-different-secret
# MongoDB Settings
MONGO_DB_URL=mongodb://0.0.0.0:27017/bpmn
#
... more settings
/api2 为每个API-key请求使用此配置的服务标识。这个
user 对象在请求体中被忽略。设置组和可选租户
到集成所需的权限。遗留 /api 路线仍然是一个
特权api密钥接口。
安装依赖关系
git clone https://github.com/bpmnServer/bpmn-web.git
npm install
npm run setup
使用
独立的
npm start 以默认值运行bpmn-web: models in ./processes, WebAppDelegate,无元素
模板。示例应用程序从存储库根目录(npm start)或 testSampleApp/.
命令行
同一服务器和数据库的控制台:启动进程,列出和调用项目,发送消息和信号,
列出型号和用户,设置用户密码(? 列出命令, q 退出):
npm run cli
命令也可以通过管道输入,例如: printf 'lo\nq\n' | npm run cli 列出未完成的项目。
模型编辑器
模型编辑器是从源代码中构建的 modeler/: bpmn-js的属性面板,显示设置
bpmn-服务器运行(用户分配,谁可以启动、服务名称、事件上的脚本、表单、输入和输出);
以及问题列表:bpmn-server在编辑模型时检查(verifyModel),问题带你到
它的元素和域。
npm start 和 npm run build 把它融入 public/modeler/;在工作时,用以下方法重建更改:
npm run watch:modeler
modeler / PROPERTIES.md 是面板的属性目录:按元素,每个是什么 写入模型文件,以及流程运行时bpmn-server对模型文件所做的操作。
测试模型
编辑器的 测试 TAB保存模型的测试场景,并一步一步地运行它们。 开始 启动
处理场景的启动数据,并显示等待下一步的用户任务和事件,每个任务和事件都带有
它的数据和实例页的按钮(执行 用户任务; 力 一个事件);运行一个步骤显示了什么
等待下一个,直到没有等待。数据选择分支和哪个
首先运行的步骤是在一起等待的元素(基于事件的网关的事件、边界)之间进行选择
定时器,并行任务)。您运行的步骤被保存为场景,因此 运行 和 运行所有 重复一遍。
在不停止的情况下新建实例,并检查场景在最后期望什么(状态、数据值、传递的元素)
通过)。每个场景都将其运行(最近的20个)与其实例保存在一起,因此是最后一个
Run在打开时显示,任何较早的Run都可以再次打开。 模拟 在图表上运行:
元素开始时变为蓝色,结束时变为绿色(连接网关等待其最后一个分支),变为橙色
如果它还在等待;按他们出发的顺序编号; 暂停, 继续 和 步骤 当它播放的时候。
测试运行是id以开头的普通实例 test-.
元素的模板
配置任务(使用输入调用给定服务的服务任务、给定组的用户任务)
元素模板是否在 camunda7模板格式,
一个或多个 *.json 文件中的 elementTemplatesPath 样品已经寄来了
testSampleApp/connectors/). 编辑把它们放在下面 模板 在
属性面板。
只有当bpmn-server运行它设置的所有内容时,才会提供模板: property 属性的绑定
引擎读取(服务名称、用户分配、表单键、决策、调用流程、脚本)、输入和
输出参数和JavaScript执行监听器。用于设置其他任何内容的模板(Java类,字段
注入,连接器, camunda:property, camunda:in/out)被忽略,原因在服务器日志中
在 GET /model/templates. 提供了一个模板来命名应用程序没有提供的服务,
附带一个警告。
模型由用户在 DESIGNER 组和管理员(ADMIN, SYSTEM)。
集 MODELER=classic 要使用以前的编辑器(预构建的 modeller-withPropertyPanel.js)。
在应用程序中嵌入web适配器
import { WebApp, defineWorkflowApplication } from 'bpmn-web';
import { configuration } from './workflow/configuration.js';
const workflowApplication = defineWorkflowApplication({ configuration });
const webApp = new WebApp(workflowApplication);
webApp.start();
构建 WebApp 组成Express应用程序和工作流运行时。
调用 start() 是显式的,以便可以装入测试或更大的应用程序
webApp.app 不打开另一个监听器。