怎么校验一个流程的准确性 #1455
Replies: 1 comment
-
根据你的描述,我将该问题从Issue转成了discussion。 logicflow目前没有提供流程校验相关的功能,原因是logicflow本身不具备任何流程图相关的规范或者规则,使用何种规则以及如何应用这种规则完全取决于使用者的需求,而且从反馈来看,绝大部分使用者都自己消化了流程校验这个问题,无论是在前端完成或是在后端完成(理论上camunda可以直接找到xml/bpmn文件中的错误)。 对于流程的执行,我们开源了logicflow-engine,你可以使用它来做流程的执行,可以自定义节点的执行逻辑,问题在于它还有很多的不足和不完善,仅仅做到了符合我们内部需求,但不代表它不能完成你的需求,它具有一定的扩展能力。我们目前还没有logicflow-engine相关的文档,使用上会有一些成本,使用方式也需要自己摸索(可以从提供的测试用例出发)。 再说说流程准确性校验本身,有两个校验时机,一种是运行时(过程中)校验,一种是静态(配置完成后)校验,静态校验相对复杂一些,需要自己做的事情多一些(可能有一些现成的库),这里只说运行时校验。 对于运行时校验,在配置一个节点或者一条边时,我们可以知道节点的前序节点等信息(已配置数据),我们可以利用状态机,在特定的时机触发并在事件回调中做校验,例如边添加时、节点添加时,实现上最关键的就是定义好符合你要求的状态机,其他的logicflow都可以支持,当然实现的方式很多。 另外你如果你们使用bpmn规范,可以使用bpmnjs/bpmnlint做流程的校验,甚至你可以阅读其源码知道它是如何完成流程校验的,在此基础上实现符合你自己规范的. 未来,logicflow也可以有一个支持自定义规范的校验器去做流程校验的事情,欢迎大家提PR,提供思路。 |
Beta Was this translation helpful? Give feedback.
-
背景&目的
我在做一个类似任务执行流程的东西,当我编辑完执行的流程 不知道用什么办法去检测流程是否完全正确,比如流程组件名称必填,流程是否包含开始结束起点 ,网关互斥的校验 这些
Beta Was this translation helpful? Give feedback.
All reactions