自助搭建工作流的流程引擎梳理详解

工作流在企业中承担着“生命血液”的作用,让所有流程按部就班地创建、流转、完成,是办公线上化的重要功能。

流程引擎的作用即用户可自主搭建表单、配置/发布流程审批节点,不需要开发参与,或给开发提供高级功能,能快速搭建复杂表单,生成用户可使用的表单与工作流,不需要从头开发,从而达到快速上线新流程、流程功能/风格/配置统一的目的。

各大办公协作平台都有自己的流程引擎来配置工作流,如钉钉、飞书、企业微信的审批后台,也有专门做好工作流一件事的平台,比如轻流。通过体验、梳理这几个平台的相关功能,以及为自己公司设计了一版流程中心后,对工作流的特性、重点逐渐清晰。

一、流程中心总体架构

流程中心主要作用可分为前后端功能:

根据前文,流程引擎的主要内容有基础信息、表单设计、审批流程设计、以及提高能力的更多设置。

1. 基础信息

还有一种比较特殊的角色,比如流程负责人,也许不会在后台修改流程,但需要能看到所有人发起的所有流程实例从而进行管理和统计,此时可提供配置字段“可查看全部流程”来配置相关人员。

2. 表单设计

1)表单搭建

表单模块往往采用拖拉拽的形式,让用户选择需要的组件拖拽到画布中组成表单,至于拖拉拽的交互方式各个平台大同小异,而且也比较简单和成熟。

但提供的组件和其附有的功能能大大提升用户在填写表单时的体验,在维护表单组件时,就应考虑到填写表单时的验证、反馈、自动键盘等体验。

轻流组件示例

2)组件分类

表单组件首先可大致分为两类:

轻流组件示例

3)组件配置

每个组件在被选择后,即为表单中的一个字段,字段由表头、填写区域组成,需要配置相应的属性:

a. 字段属性

一个组件即表单中的一个字段,需要有字段名称。

b. 填写属性

c. 填写限制

字数限制、是否必填等。

d. 显示逻辑

流程设计对普通用户来说,大概是学习成本最大的一个模块,主要是选择审批人和审批方式的选项繁多,而且用词专业性较高,所以在当前的流程设计模块中,大部分字段后都跟着说明,来告知用户选择后的审批效果。

在流程设计模块中,首先通过可视化界面将流程架构搭建出来,常有以下节点:发起人、审批人、办理人、抄送、条件。

针对审批人、办理人、抄送人节点,需要设置每个流程实例的真实节点人员,以及该节点的权限。

1)设置审批/办理/抄送范围

主要可分为以下四类:

a. 发起人自选

需要发起人在创建流程实例时就填写该节点的审批人。

b. 指定成员

直接在流程引擎中选择审批人,所有用户创建的流程实例中节点审批人不会变化。

c. 角色

角色指一个人群的集合,通常有一个设置页专门维护角色里的人员。

d. 动态角色

动态角色也是一群人的集合,但不需要提供给用户配置页来维护角色中的人员,而是从系统抓取拥有这个角色的人,同时还会赋予审批条件流,通常需要开发来维护好供用户选择。

开发版流程中心设置动态角色

2)审批方式

审批方式常放在设置审批人之后,根据审批人数量决定是否显示多人设置,当多人审批时需选择审批方式:

飞书设置审批人

3)表单权限

每个节点可设置审批人对表单字段的查看/编辑权限。

钉钉设置表单权限

4)更多操作权限

常见的更多操作权限主要有是否可回退、回退节点、是否可转发、转派、撤回、打印等。

轻流设置节点操作权限

4. 更多流程设置

在搭建完流程主体之后,可对该流程进行整体配置,根据流程重要程度、业务需要赋予相应的功能,常见设置项如下:

飞书流程高级设置

三、总结

线上化办公已达到一定覆盖率,流程搭建线上化也是大势所趋,无论是使用已有平台提供的流程引擎或自主设计开发,都需要先对其中的字段、功能了解清楚,了解已有流程配置方式,再根据业务目标进一步优化,甚至可结合开发需求提供高级配置版本,提高表单开发效率,保证流程操作与页面的一致性。

作者:皮卡澈 公众号:澈儿的交互实习日记

本文由 @皮卡澈 。 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议