ProcessMaker 概念
原文在这,有些不好理解,翻译为简体,ProcessMaker实际上是比较适合中国人使用的工作流引擎,工作流引擎的比较将来结合使用经验会有个比较,计划将ProcessMaker结合进Thinkphp。
学习ProcessMaker的第一步,是了解ProcessMaker中使用到的一些名词。基本上,ProcessMaker是与BPMN相容的,许多定义也是与BPMN标准相同,若您使用过BPMN相容的流程工具,下面很多名词与观念应该可以很容易了解。
一 流程定义(Process)
一个流程(Process),可对应到一个业务流程,是一些工作阶段(Task)的集合,这些工作阶段有一个或多个输入与输出,流程的输出可能是一个有形的物品或服务
二 流程实例(Case)
一个桉件(Case),是流程定义的一个实例,一个商业桉件(Business Case)可以说是一个进行中的工作(Word in Progress)。一个桉件就是执行一个流程的过程。一个桉件从开始到结束都使用相同的桉件编号。
三 流程实例变量(Case Variables)
桉件变数是ProcessMaker桉件执行过程中存放资讯的特殊变数,只有在桉件执行的过程中才有效。在动态输入表格(Dynaform)中的每一个栏位,如textboxes, checkboxes, dropdown boxes与grid objects等,都有一个相关的桉件变数,与该栏位名称相同,且会存放使用者在栏位中输入的值。当使用者在Dynaform中按下Submit按钮(或"下一步"连结)后,每个栏位对应的桉件变数就会被建立用来存放输入的值。
四 节点定义(Task)
一个关卡(Task)是一系列有相同目的的工作步骤(Steps)的组合。而关卡的集合形成一个流程。一个关卡(Task)与一个活动(activity)有点不同,一个活动(activity)是一个关卡(Task)的实例。关卡相对与活动就类似流程相对于桉件。 关卡与流程是定义,活动与桉件是实例(实际进行的工作)。
五 动态表格-节点视图(Dynaform)
Dynaform也称为Dynamic Forms,是在ProcessMaker中设计客製的输入表格,用来在桉件执行过程中与使用者互动的界面。Dynaform让使用者以图形化的界面查看与输入资料,在设计上,对任何使用者应该要直觉好用。
六 业务表单(Master Dynaform)
主动态表格用来呈现单笔记录,栏位预设是垂直排列的。 主动态表格是独立的表格,不可以嵌入到其它的表格中。
七 框格(Grid)
框格表格(Grid Form)用来呈现多笔记录,每一笔记录的栏位以水平方向排列,一笔记录一列。Grid form也可以使用特殊的彙整功能,如合计(sum)来进行特定栏位的加总计算。
八 插件(Plugin)
插件用来增加ProcessMaker额外的功能,或客製化界面与资料库。
九 流程图(Process Map)
流程图是商业流程各工作阶段与引导法则(如上个工作阶段到下个工作阶段的条件)的视觉表示法. Admin可以直接从流程图增加新的或修改现有的桉件与引导法则。
十 权限(Permissions)
赋予使用者或群组存取ProcessMaker特定元件(如文件,Dashboard, Case Notes)的法则(rule)。
十一 流程权限(Process Permissions)
流程权限用来给予使与者或群组对桉件或桉件中的物件(如DynaForms, Input Documents and Output Documents)唯读的权限 . 预设只有流程指定的使用者可以开启相关个桉. 为了允许其他使用者可以看到(但不能变更)桉件中的资料, 可以指定流程权限 给这些使用者. 流程权限也提供进阶的控制功能,设定其他使用者可以查看的是某些特定关卡的资讯.
十二 流程总管(Process Supervisor)
一个流程的流程总管有权检视该流程所有的桉件(Cases)。 通常一个组织的经理或部门主管会被指定为某个流程的总管。流程总管可以给定所有个桉读与写的权限。
十三 角色(Roles)
角色包含对ProcessMaker中特定范围,特定功能的权限。基本上ProcessMaker包含三种角色 PROCESSMAKER_ADMIN, PROCESSMAKER_MANAGER和PROCESSMAKER_OPERATOR, 这些角色可以设定存取 ADMIN 选单, Users tab等功能的权限.
十四 步骤(Steps)
一个步骤(Steps)是一个清楚定义的动作(action)。可能是人工的动作或自动化的动作。 一个关卡(Task)由一个或多个步骤所组成。例如: 上传一份文件,填写一个Dynaform, 下载一份PDF or DOC文件。
十五 事件(Events)
流程中多数的动作是由使用者手动执行。但某些动作需要在特定的时间执行. 在ProcessMaker中, 事件(events) 就是在一个工作阶段或一系列的工作阶段开始或结束时才能执行的行动(actions) , 因此事件需要排程器cron做正确的设定. 因为事件与工作阶段的运作紧密相关, 它们只有在工作阶段尚未结束时才能执行. 如果选定的工作已经完成(或这个个桉被暂停/取消或删除),这事件就不会执行.
事件可能是传送邮件讯息或执行一个trigger. 2.0版后增加了第三个事件"条件事件", 条件事件根据特定桉件的状态来执行. 注: 事件必须从第二个关卡以后(含)才能执行。