禅道企业版的工作流功能除了可以对内置流程进行自定义和扩展外,还可以添加全新的工作流程。
本文档主要就是介绍如何添加一个新工作流。
首先简单的说明一下,添加一个新流程的步骤:
- 整理新流程需求。
- 根据需求创建新流程,添加字段。
- 根据状态流转需要添加对应的动作,设置动作界面。
-
根据权限设置各动作的触发条件、数据校验、扩展动作以及设置提醒。
- 根据权限的需求,添加对应的标签。
- 在组织--权限中进行权限控制。
下面我们以新增会议室预定的新流程为例,来具体介绍如何新增工作流。
一、整理新流程的需求
首先我们要根据实际的使用需要,整理出新流程的需求,这些包含新流程的字段、动作、是否需要创建子流程、是否需要添加数据源、权限设置等信息。
以新增会议室预定为例,我们需要添加预定会议室这个主流程,还需要添加会议室这个子流程。
主流程:预定会议室
字段:编号、会议室、开始时间、结束时间、由谁预定、描述、父流程ID、由谁创建、创建日期、由谁编辑、编辑日期、是否删除。
动作:预定、编辑、详情、浏览列表、删除。
动作的数据校验:需要用户在提交预订时,如果该会议室已被预定,直接提示用户该会议室在该时段已被预定。
标签:所有预定、我的预定。
权限:根据动作和标签来设置。
子流程:会议室
字段:编号、名称、位置、容纳人数、设备、开放时间、父流程ID、由谁创建、创建日期、由谁编辑、编辑日期、是否删除。
动作:新建、编辑、详情、浏览列表、删除。
标签:所有会议室、一楼会议室、二楼会议室、三楼会议室。
数据源:会议室设备:电脑、音响、麦克风、投影仪、白板。会议室开放时间:周一、周二、周三、周四、周五、周六、周日。
权限:根据动作和标签来设置。
二、创建新流程,添加字段
新建会议室预定流程的需求整理差不多后,就可以开始创建新流程,且为新流程添加字段了。
1、创建预定会议室流程
点击工作流---流程列表页右上角的“新增流程”按钮,就可以开始创建我们的预定会议室的流程。
新增会议室流程:
添加成功的流程,显示在流程列表里。
点击“会议室预定”流程右侧操作栏的“子流程”,把“会议室”设置为“预定会议室”的子流程。
外键选择会议室。因为在“预定会议室”里,会议室字段的信息是来自子流程会议室的。
在下面添加字段时,我们会详细说明。
关于跨流程设置
禅道企业版3.5版本开始,子流程功能更改为跨流程设置。前置流程就是之前的子流程,后置流程就是之前的父流程。
跨流程设置,可以为一个流程设置多个后置流程。
目前内置流程不支持跨流程设置,新增的流程支持跨流程设置。
下面我们简单的介绍一下跨流程设置功能。
1、跨流程设置页面
点击流程列表的‘跨流程设置’按钮,就可以跳转到跨流程设置页面。
可以设置后置流程,外键,前置流程是否可以创建或批量创建后置流程。
一个流程可以设置多个后置流程。
2、注意事项
2.1 关于外键
外键是当前流程中用来关联显示前置流程数据的字段。设为外键的字段应该使用下拉菜单或者单选按钮作为控件。
如果设为外键的字段控件不是下拉菜单或者单选按钮,系统将默认更新控件为下拉菜单并选择数据源为前置流程。
例如会议室流程设置会议室预订为后置流程,外键为会议室,那么会议室预定这个流程里,会议室这个字段应该使用下拉菜单或者单选按钮为控件。
如下图所示:
2.2 前置流程可以创建或者批量创建后置流程
需要实现以上功能,管理员需要在组织--权限里分配该前置流程和后置流程的创建和批量创建的权限。
勾选了这两项后,以会议室和会议室预订这前置流程和后置流程为例,也就是在会议室这个流程里,也可以创建和批量创建提交会议室预定。
点击会议室操作按钮的预定,可以直接创建针对该会议室的预定。
全选后,批量创建会议室的预定按钮就是显示,点击也就可以批量创建会议室预订。
2、添加字段
添加流程后,系统会默认添加上一下字段,你可以根据实际需要做一下编辑操作。
你可以根据我们在“预定会议室”设计的字段,添加上系统没有的字段。
以添加“预定会议室”的字段“会议室”为例,我们来添加字段。
点击“会议室预定”流程右侧的“字段”按钮,进入字段列表页面,点击字段列表页面右上角的“添加字段”按钮,进入字段添加页面。
因为“预定会议室”里的“会议室”字段来自会议室子流程,所以在创建“会议室”字段时,要注意:
- 会议室的控件必须是下拉菜单,
- 数据源选择子流程,
- 外键要选择是。
预订会议室的其他字段,可以根据我们的需求设计,按照以下列表所列的字段一一添加即可。
根据需要设置字段的控件和验证规则。
子流程会议室的其他字段,可以根据我们的需求设计,按照以下列表所列的字段一一添加即可。
根据需要设置字段的控件和验证规则。
添加子流程的名称字段时,在这里,我们需要特别的说明一点。
就是下图红框位置圈出来的键值。你可以根据使用需要勾选键或值,可以可以键和值都勾选。
- 键值对在其他流程调用本流程数据时作为实际值和显示值。
- 键只能有一个,设置为键的字段必须添加唯一验证,默认使用id作为键。
- 值可以有多个,多个值在显示的时候拼接显示。
三、添加对应的动作,设置动作界面
会议室预订和会议室的字段我们添加完成后,现在就可以添加动作。
1、添加动作
这是工作流里默认的动作列表,根据我们设定的需求,修改为我们需要的动作或者是添加新的动作。
修改后的会议室预订的动作:
修改后的会议室的动作:
2、设置动作界面
添加完成动作后,我们需要来设置动作的界面。也就是设置动作的界面显示哪些字段,以及这些字段的验证规则、默认值。
挨个设置会议室预订的预订、编辑、详情、浏览列表页面即可。
工作流界面都默认显示了状态和子状态字段,如果我们不需要,直接不显示,隐藏掉就好。
会议室的动作页面设置:
四、设置动作的数据校验、设置提醒
添加动作和动作界面设置完成后,我们接下来要检查一下是否需要设置动作数据校验、是否要添加扩展动作、是否需要设置提醒。
以会议室预订为例,我们需要设置动作的数据校验、设置提醒。
1、动作的数据校验
会议室在提交预订和编辑操作时,需要做一下数据校验,如果提交预订和编辑的时候,查询到该会议室在该时段已经被预订,那么需要给用户一个提示信息。
会议室预订的预订动作的数据校验:
会议室预订的编辑动作的数据校验:
2、动作设置提醒
在会议室预订的预订和编辑动作执行时,我们需要给参与会议的人员发送提醒邮件,通知参会人员及时参加会议。
那么可以在预订和编辑动作里设置提醒。
需要提前先在后台---消息---邮箱配置里成功设置发信邮箱,且组织---用户信息里需要填写正确的邮箱地址。
五、根据需求,新增数据源
预定会议室和会议室会用到3个数据源:用户、设备、工作日。其中用户这个数据源,工作流里已默认存在,不需要额外创建。
在这里我们需要创建子流程会议室的数据源:设备、工作日。
点击工作流---数据源---添加数据源,就可以进入数据源的添加页面。
添加设备的数据源信息:
添加工作日的数据源信息:
六、根据权限设置添加对应的标签
为了方便查看会议室预定和信息和会议室信息。
我们可以根据需要添加标签。
点击动作列表右侧的“标签”按钮就可以进入标签列表页,然后点击页面右上角的“创建标签”,进入标签的提交页面。
工作流标签里默认会有“所有”标签,修改为我们需要的“所有预定”标签就可以。
其他的标签,直接点击页面右上角“创建标签”按钮来添加即可。
这样预定会议室的标签,我们就创建完成了。
你还可以随时根据实际使用需要来编辑或者是添加新标签。
子流程会议室的标签,同理按照以上的方法,添加就行。
七、根据需求在组织---权限里做权限控制
我们添加完预定会议室和会议室的标签和动作后,在组织--权限里,会默认加上对应权限。
浏览列表后面的“+”可以点击展开,里面可以分配列表标签的权限。
可以按照使用需要,灵活分配。
八、使用新流程功能
以上步骤完成后,我们的会议室预定的工作流就算完成的配置。
当然后期需要,也可以进行调整的。
下面我们来简单介绍一下,如何使用我们配置的会议室预订。
1、添加会议室
首先,我们需要添加会议室,要不提交会议室预订会导致无会议室可选。
点击会议室列表页面右上角的“新建”按钮,进入新建会议室页面。
以下就是我们设置会议室的新建页面,填写好信息保存即可。
会议室添加完毕:
2、提交会议室预订
会议室信息维护好了之后,我们就可以开始预订会议室了。
点击会议室预订列表页面右上角的“预订”按钮,进入预订会议室页面。
“会议室”字段是调用的子流程会议室数据。
如果子流程会议室的字段键值里勾选的是值,那么“会议室”字段里显示的值就把这些字段的值拼装起来显示。
这样比较方便直接查看全面的信息,不需要到子流程里重新查看。
以下截图中,
会议室字段:由我们设置的会议室名称、位置、设备字段的值拼装起来显示。
会议室这个流程中,我们把会议室的名称、位置、设备的键值都设置为了值。
在提交会议室预订时,会议室字段会自动把三个字段的值拼装出来显示。
提交成功后: