设计工作流程
了解您的业务
在设计工作流程之前,请先研究工作流程建模所基于的业务流程。 确保您了解流程中的每个步骤以及每个人员或部门必须完成的任务。 开始之前,请确保您对业务流程有清楚的了解。 此外,还请确保您了解谁需要批准您的设计以及批准流程的运作方式。 您将希望与项目干系人共享设计,并根据他们的输入进行修订。
计划工作流过程
了解业务流程后,请计划工作流程的设计。 您可能有多种方法可以对其进行处理。 在继续之前,请考虑每种方法的优缺点。
- 工作流程的驱动因素是什么? 您是需要多个工作流程,还是可以使用一个工作流程,并应用工作流程属性中适用性上的条件? 例如,是否有不同的工作流程基于该对象中的值?
- 工作流程有多大? 您可以将大型工作流程拆分成多个较小的工作流程。 要将工作流程链接到一起,可定义用于启动相关对象的工作流程的操作,以及结束相同对象的工作流程的结束阶段。 添加验证,使工作流程基于特定情况或结果相互依赖。
请确保不会造成工作流程进入无限循环并使系统超负荷的情况。 例如,当一个工作流程启动 1000 个工作流程,其中每个 1000 个工作流程启动另一个 1000 个工作流程时,您可能会无意中创建级联效应,依此类推。 为了避免此类问题,已经落实了相应的保护措施,但这些措施并未涵盖所有可能性。
- 工作流程是自动启动还是手动启动?
- 工作流程是否按设置的时间表启动?
- 有多少个阶段? 每个阶段都会创建一个任务。
- 每次阶段更改时,需要发生什么情况? 针对每个阶段更改,需要执行哪些验证? 需要发生哪些操作? 是否需要设置字段或计算字段值?
- 您希望工作流程中的哪些阶段允许用户以批量工作流程操作的方式来完成? 对于这些阶段,用户可以从使用批量工作流程操作方式完成任务窗口访问任务。 它使用户能够更快速高效地完成必须完成的任务。
- 操作按钮上有哪些选项? 必须满足哪些条件才能显示选项? 如果操作按钮上的选项仅向特定用户显示,请将相关文本添加到用户指南,以便其他用户了解不显示任何选项的原因。
- 用户完成操作时,可以提供注释吗? 如果可以,注释是可选还是必需的? 例如,批准阶段上的拒绝操作可以定义为要求用户输入注释。 在工作流程中,除了初始操作(从开始阶段到第一个标准阶段之间的操作)外,您可为其他所有操作配置注释。 计划您希望如何使用注释信息,并使其向其他用户显示。 用于注释文本、注释所有者和注释日期的工作流程系统字段可以包含在“任务视图”和电子邮件通知中。
- 规划用户在工作流程中接收电子邮件通知的频率。 每次阶段更改,以及工作流程结束时都可以发送电子邮件通知。 规划电子邮件通知,以便通知用户但不会因电子邮件而超负荷。
- 用户收到电子邮件提示时的计划。 可以在相对于阶段的到期日期的重复调度上发送电子邮件提示。 对电子邮件提示进行规划,以便有效地帮助用户完成工作。 电子邮件提醒以摘要电子邮件形式发送,这意味着用户每天接收一封电子邮件,而不管生成提醒的任务数。
- 工作流程中是否有需要启动相关对象的其他工作流程的点?
- 工作流程中是否有需要创建子对象的点?
- 当需要运行计算时,工作流程中是否有任何点?
- 工作流程中的取消或拒绝路径是什么? 在哪个点用户可以取消任务?取消操作会使用户返回到哪个阶段? 一个字段设置了其他字段时,现在需要清除哪些被设置字段? 如果受让人必须回去,他们需要重复多少工作? 根据您的业务流程需求,计划工作流程中的向前和向后路径。
- 有多少种方法可结束工作流程? 如果工作流程可以在不同场景中结束,那么可以定义多个结束阶段。 例如,您可能有一个工作流程可以通过以下三种方式之一结束。
- 结束阶段 A:工作流程成功完成,并且对象上的字段 1、2 和 3 分别设置为值 A、B 和 C。
- 结束阶段 B:工作流程成功完成,并且对象上的字段 1、5 和 6 分别设置为值 B、Z 和 Y。
- 结束阶段 C:工作流程已取消,并且不执行任何操作。
- 工作流程结束时,谁需要接收电子邮件通知? 工作流程结束时,监管用户以及您指定的其他任何用户都可以收到电子邮件通知。
- 对象在工作流程结束时完成,还是需要启动该对象的其他工作流程?
- 工作流程完成后,需要保留哪些工作流程信息? 工作流程完成后,不会再显示有关对象的工作流程信息。 您需要将工作流程信息保存到对象,才可保留工作流程信息(例如,完成日期和受理人)。
查看对象结构
了解对象结构。 创建对象的工作流程操作只能创建直接子对象。 但工作流属性和条件的适用性以及对操作和结束阶段的验证可以基于相关对象(直接子代、直接父代、祖先代或后代对象)上的字段值。
计划工作流程参与者
计划工作流程的设计时,请确定工作流程参与者。
- 谁可以启动工作流程? 您可以通过在工作流程属性中应用适用性上的条件来限制谁可以启动工作流程。
启动工作流程的用户将保存在
System Workflow Fields:Workflow Start User中。 可以选择当前对象中的字段或相关对象中的字段的条件可基于此字段中的值。 - 工作流程的监管用户是谁? 监管用户在工作流程属性中进行定义。
- 每个阶段的受理人是谁? 受理人按阶段进行定义。 每次阶段更改时,受理人都会获得新任务。 如果阶段的受理人是用户组,那么该组中的所有用户都可在仪表板和“我的任务”选项卡上看到该任务。 组中的任何用户都可以选取并完成该任务。
最近完成操作的用户保存在
System Workflow Fields:Last Action User中。 可以选择当前对象中的字段或相关对象中的字段的条件可基于此字段中的值。 - 每个阶段的参与者是谁? 参与者按阶段进行定义。
- 还有谁有权访问工作流程的每个阶段? 是否应该允许不属于工作流程参与者的用户查看对象? 您可通过在阶段属性上设置“访问类型”字段来定义访问权。
计划任务视图
工作流程和“任务视图”密切配合使用。 对象类型的现有“任务视图”可能适合您的工作流程设计,也可能需要稍做更改。 例如,如果受让人必须在任务期间设置日期字段,请确保日期字段位于 "任务视图" 中。 如果没有现有“任务视图”适用于工作流程,那么可以创建新的“任务视图”。
有关工作流程使用的任务视图的信息,请参阅 定义标准阶段。
可以将工作流程字段添加到“任务视图”。 有关信息,请参阅 系统工作流程字段。
工作流程的操作中定义的操作按钮优先于“任务视图”中定义的操作按钮。
计划字段、区域、用户指南和关键字段时,请考虑如何使用每个阶段的“任务视图覆盖”。 可以使用“任务视图覆盖”来执行以下操作:
- 覆盖会使字段对于某个阶段隐藏或为只读。
- 隐藏“任务视图”中的区域或覆盖初始折叠设置。
- 使用针对阶段定义的用户指南覆盖 "任务视图" 中定义的用户指南。
- 将阶段上“任务视图覆盖”中定义的关键字段添加到用户指南面板中的关键字段列表,无论用户指南是在“任务视图”中定义的还是在指南文本覆盖中定义的。
您可能要执行的总体设计决策是在许多工作流程阶段中使用一个 "任务视图"。 要采用此决策,不要在“任务视图”中定义用户指南。 请在每个阶段的“任务视图覆盖”中定义非常具体的用户指南。 随后,您可以更精确地控制针对每个阶段显示的用户指南。 这将减少您要管理的“任务视图”。
您可能要执行的总体设计决策是在 "任务视图" 中省略用户指南中的关键字段。 请改为在阶段上的“任务视图覆盖”中定义关键字段。 随后,您可以更精确地控制针对每个阶段显示的关键字段。
为批量工作流程操作规划网格视图
如果正在使用批量工作流程操作功能,请确定现有网格视图是否足够,或者是否必须定义唯一的网格视图。 有关更多信息,请参阅 为批量工作流程操作定义网格视图。
查看样本工作流程
OpenPages® 提供了样本工作流程,您可以通过交付或修改这些工作流程来满足您的需求。 这些样本工作流程还可以用作您自己的工作流程的模板和学习工具。 有关更多信息,请参阅 IBM OpenPages Solutions Guide。
利用字段设置值
- 如果属性(如流程所有者、受让人或到期日)来自对象字段,则该字段的更改会反映在活动工作流实例中。
- 相反,如果属性被设置为静态值(如特定用户),则属性的更改会反映在所有新的工作流实例中,但现有的工作流实例需要手动刷新才能看到更改。
您还可以使用首选项对象。
利用首选项对象
- 可以在“首选项”对象中检索受理人。
- 可以在“首选项”对象中检索监管用户。
- 操作上的条件可以基于“首选项”对象。
- 工作流程不使用 "首选项组" 对象。 它们仅使用 "首选项" 对象。
- 使用的首选项对象是与发生工作流程操作的对象最接近的主业务实体父代 (或祖代) 相关联的对象。
- 工作流程中不使用非主业务实体的首选项对象。
- 当主父业务实体具有多个 "首选项" 对象时,您可以使用与主父业务实体关联的所有 "首选项" 对象。 设计工作流程以处理多个首选项对象,例如使用适用性规则或条件。注: OpenPages 随附的一些样本工作流程并非旨在管理业务实体的多个首选项对象。 运行其中一个样本工作流程时,可能会发生错误,例如
Invalid field assignment或Multiple Preference objects on same entity causes workflow to fail: OP-08521.
有关首选项对象的更多信息,请参阅 IBM OpenPages 解决方案指南。
计划到期日期
工作流程有总体到期日期,并且每个状态也都有到期日期。 有关更多信息,请参阅解释和查看到期日期。