定义流程工作流

您正在阅读的是 5.5. 版本。关于最新版本,请前往 定义流程工作流 阅读 8.0 版本
 

Parent page: 流程与工作流

在 Altium Designer 的协同设计环境中,一块基石是对Workflows的支持,它们用于引导公司的设计人员完成典型的日常设计流程,例如请求新的 Workspace 库元件、执行设计评审以及创建新的 Workspace 项目。

用于实现某个特定设计流程的每个工作流,都是作为Process Definition的一部分创建的。因此,它也可以被称为该流程的底层工作流,或简称为Process Workflow。可以使用专用的Process Workflow Editor来创建新流程并编辑现有流程。本文将介绍如何访问该编辑器,并使用它来构建所需的流程工作流。

访问流程工作流编辑器

流程在 Workspace 浏览器界面的Processes区域(Admin – Processes)中创建和管理。

你必须以 Workspace 的管理员身份登录,才能看到界面中的Processes区域。

要访问Process Workflow Editor,请先激活你要在其中创建新流程的流程主题选项卡——Part RequestsProject ActivitiesProject Creations——然后点击页面右上角的按钮。

务必先激活主题,这样流程才会以正确的Type创建。

正在访问Process Workflow Editor。在访问前确保已激活所需的流程主题,将确保新的流程定义被设置为正确的主题类型。正在访问Process Workflow Editor。在访问前确保已激活所需的流程主题,将确保新的流程定义被设置为正确的主题类型。

Process Workflow Editor提供了一个画布,可用图示方式构建所需的工作流。编辑器的主要区域用于创建工作流图,而右侧的Properties窗格则显示与当前所选图形元素相关的属性。

当图中未选中任何已放置的元素时,Properties窗格将反映该流程定义的NameType(它属于哪个流程主题)。请为流程取一个有意义的名称,因为该名称会显示在 Workspace 的浏览器界面中,也会显示在 Altium Designer GUI 的相应入口处——以便设计人员能够发起该流程的一个实例(前提是该流程已被激活可用)。

工作流图

流程工作流图由多种元素构建,这些元素可从区域顶部的调色板中获取。

工作流图使用可用调色板中的元素构建。工作流图使用可用调色板中的元素构建。

下表列出了所有可能的图形元素:

图标 类型 说明
Connection 该元素用于在工作流中的事件点元素之间建立互连。其形状可通过图形方式修改;默认情况下其Name为空,但它可用于指示/描述从分支元素发出的各条路径。
Start 这是工作流的起点。Name会根据主题默认预填——Submit Request(Part Requests)、Start Activity(Project Activities)、Create Project(Project Creations)。可按需更改。有关为该元素关联表单默认添加的字段信息,请参见Built-in FieldsDefault Fields
对于 Project Activities 流程主题,该元素支持第二个Type——Start Release。它用于这样一种工作流:将已发布的项目发布到已集成的 PLM 实例中,且全部作为 Altium Designer  Project Releaser的一部分来完成。
对于 Project Creations 流程主题,额外的Default server folder属性允许指定新项目保存的基础文件夹路径。若已定义,它将成为该工作流的默认位置,并且用户可在New Project表单的Server Folder字段(Advanced选项卡)中覆盖该设置。
有关切换该元素类型的更多信息,请参见Changing the Type for a Workflow Element
Event

该元素可用于获取集成 PLM 实例中某个动作的结果(输出OKFAIL,并附带消息与日志)。为此,请根据主题相应设置Type ——PLM Part Completed(Part Requests)、PLM Publish Completed(Project Activities)、PLM Initialise Completed(Project Creations)。默认情况下,Name预填为Type 条目,但可按需更改。

该元素也可用于通过 Enterprise Server EDS 向第三方系统发送并接收通知(需要访问 Enterprise Server SDK)。将Type 相应设置为SendReceive(你需要在工作流中同时定义 Send 和 Receive 事件)。通知由唯一标识符Code和消息组成。注意,Send 与 Receive 事件的Code必须相同。

对于 Project Activities,该元素的类型还可设置为Related Tasks Completed。当评论已添加并作为任务分配给特定人员(与项目本身的活动相关联)时使用。这意味着该活动的流程工作流在所有相关任务——即已分配的评论——也都解决之前,无法完成。

End 这是工作流(或该工作流某个分支)的终点。该元素的Name可设置为CompletedRejectedCancelled
Task

该元素表示需要执行的一项任务——需要一个或多个用户完成的事项。在基于评审的 Project Activity 工作流中,这可能是作为评审的一部分提供反馈。在 Part Request 工作流中,这可能是处理某个被请求的特定元件,或仅处理其原理图符号或封装。

每个任务都通过专用的Form向用户提供数据或从用户获取数据——该表单包含实现任务目的所需的全部字段、变量和信息。更多信息请参见Building a Form

除标准的User Task(按需通过表单定义)外,每个流程主题还支持一种或多种附加类型——Create Part in PLM(Part Requests)、Collect Project DataPublish to PLM(Project Activities)、Initialise in PLM(Project Creations)。在每种情况下,Name默认设置为任务类型,但可按需更改。每种类型都必须定义额外设置,并且不同类型之间设置也不同,例如Assignee Task Ownership。对于与 PLM 相关的类型任务,它用于获取与 PLM 实例交互动作的结果(输出OKFAIL,并附带消息以及(针对 Project Activities 与 Project Creations 主题)属性)。
对于 Project Creations 流程主题,额外的Default server folder属性允许指定新项目保存的基础文件夹路径。若已定义,它将成为该工作流的默认位置,并且用户可在New Project表单的Server Folder字段(Advanced选项卡)中覆盖该设置。
有关切换该元素类型的更多信息,请参见Changing the Type for a Workflow Element

Branch 该元素用于根据流程中前一点获取的结果(例如获取用户选择或决策)对工作流进行分支。默认情况下Name为空。
Comment 该元素允许你为工作流添加注释,通常是在流程的每个节点添加说明,详细描述该节点应发生什么。默认情况下Name为空。

放置工作流元素

要从调色板放置一个元素:

  1. 点击调色板中该元素的条目。该元素的一个实例将出现,并以蓝色高亮显示,随光标浮动。
  2. 将元素定位到工作流画布上的所需位置并单击(或右键单击)以完成放置。当你在画布上移动元素时,会相对于现有已放置元素的水平与垂直中心显示对齐参考线。
  3. 要取消放置,请按Esc

在工作流画布上放置元素的示例(Start、End 和一个 User Task)。注意用于辅助放置的动态对齐参考线。
在工作流画布上放置元素的示例(Start、End 和一个 User Task)。注意用于辅助放置的动态对齐参考线。

连接工作流元素

要连接两个工作流元素:

  1. 点击调色板中的条目。
  2. 将光标移到要连接的第一个(源)元素上并单击。
  3. 移动光标,你会看到一条连接线开始从该元素延伸。将光标移到要连接的第二个(目标)元素上并单击。
元素之间的连接应从左到右流动,因为这是逻辑流程。系统会阻止你选择被认为连接无效的目标元素(例如尝试将End元素连接到Start元素)。在这种情况下,目标元素会显示为红色填充,连接线末端会保持“禁止”图标()。
  1. 继续放置更多连接,或右键单击,或按Esc退出。

工作流中元素连接示例。
工作流中元素连接示例。

移动工作流元素

要移动元素,单击并拖动到所需的新位置。如果该元素通过连接线与一个或多个其他元素相连,这些连接将被保留,并相应修改连接线路径。可使用出现的动态对齐参考线来辅助定位。

要移动多个元素,先选中它们——可以通过Ctrl+逐个单击所需元素,或单击并拖动选择框将这些元素框选起来。

单个元素以及多个已放置元素的移动示例。请注意,连接线除非属于所选内容的一部分,否则会被修改以相应地保持元素之间的连接。
单个元素以及多个已放置元素的移动示例。请注意,连接线除非属于所选内容的一部分,否则会被修改以相应地保持元素之间的连接。

修改连接线

当你将光标悬停在一条连接线上时,会出现各种编辑控件(或“手柄”)。这些控件允许以图形方式对连接线进行以下修改:

  • 单击并拖动 手柄,仅在垂直方向移动连接线。
  • 单击并拖动 手柄,仅在水平方向移动连接线。
  • 沿着连接线移动光标, 手柄会跟随光标移动。单击并拖动该手柄可为连接线创建一个新的顶点。
  • 单击并拖动 手柄以移动连接线的起点。你必须将该点拖到另一个现有元素上。
  • 单击并拖动 手柄以移动连接线的终点。你必须将该点拖到另一个现有元素上。
当移动连接线的起点或终点时,如果放置点无效,会通过元素填充为红色来高亮显示(并且在连接线末端出现 图标)。例如,当你尝试将连接线的起点移动到该连接线终点已连接的同一元素上时,就会发生这种情况。在这种情况下,请先移动终点,再移动起点。
此外,当某个元素正在被移动且连接线当前与其相连时,连接线会自动修改其路径以保持与该元素的连接。

使用悬停在连接线上时出现的各种编辑手柄,对现有连接线进行修改的示例。
使用悬停在连接线上时出现的各种编辑手柄,对现有连接线进行修改的示例。

修改元素属性

如前所述,Process Workflow Editor 的右侧提供了一个 Properties 窗格,用于显示当前所选工作流元素的属性。对于某些元素,例如 ConnectionBranchEndComment,其唯一可编辑的属性是 Name。对于其他元素,例如 StartTask,你可以定义相关设置,并且还可以按需编写关联的 Form。还要记住,工作流元素的属性可能会随着所定义流程所采用的流程主题而变化(以及在某个元素支持多种类型时,所选择的元素类型也会影响属性)。

属性窗格显示 Start 工作流元素的默认属性(在 Project Activities 主题下定义流程,并将该元素的 Type 设置为 Start Activity 时)。将鼠标悬停在图像上,可显示选择 Task 元素(配置为 User Task)时的默认属性。属性窗格显示 Start 工作流元素的默认属性(在 Project Activities 主题下定义流程,并将该元素的 Type 设置为 Start Activity 时)。将鼠标悬停在图像上,可显示选择 Task 元素(配置为 User Task)时的默认属性。

根据需要,通过 Properties 窗格修改所选工作流元素的属性。对于可定义 Form 的元素,你需要创建表单(在窗格的 Form 区域单击 按钮)或编辑表单(在窗格的 Form 区域单击 条目)。更多信息请参见 Building a Form

请记住,如果当前未选择任何工作流元素,Properties 窗格会显示父级流程定义本身的属性。此外,在未选择任何工作流元素时,你还可以配置标准用户在流程工作流的 Data 选项卡上可见的参数化数据。更多详情请参见 Configuring Data Visibility for a Standard User
Comment 也可以通过图形方式修改其尺寸:选中它,然后单击并拖动其编辑手柄。

更改工作流元素的类型

以下流程主题包含支持多种类型的工作流元素:

  • Part Requests 主题:
    • Task – 支持的类型:User Task, Change State, Create Part in PLM.
    • Event – 支持的类型:Send, Receive, Notify User, PLM Part Completed.
  • Project Activities 主题:
    • Start – 支持的类型:Start Activity, Start Release.
    • Task – 支持的类型:User Task, Change State, Collect Project Data, Publish to PLM.
    • Event – 支持的类型:Send, Receive, Notify User, PLM Publish Completed, Related Tasks Completed.
  • Project Creations 主题:
    • Task – 支持的类型:User Task, Create Project, Change State, Initialise in PLM.
    • Event – 支持的类型:Send, Receive, Notify User, PLM Initialise Completed.

将元素放置到工作流图的画布上之后,你可以使用与 按钮关联的菜单在可用类型之间切换;该按钮会在元素被选中后显示在元素内部/旁边。

在 Project Activities 流程主题中定义某个流程的工作流时,循环切换 Start、Task 和 Event 元素所支持的类型。在 Project Activities 流程主题中定义某个流程的工作流时,循环切换 Start、Task 和 Event 元素所支持的类型。

当然,你也可以在选中元素时,通过 Properties 窗格中与 Type 字段关联的下拉列表来更改类型。

任务分配

工作流中的任务如何被分配,取决于为 AssigneeExceptTask ownership 定义的设置:

  • Assignee – 可以是你 Workspace 中的单个用户、多个用户,或某个特定角色(用户分组)。这里也可以使用变量,例如 $Initiator(启动该流程实例的人),或 $Review Coordinator(在前一个任务中被选为 Review Coordinator 的用户)。
变量不是以文本方式直接输入,而是通过搜索并从动态候选列表中选择来添加。例如要添加 $Initiator 变量,在字段中开始输入 In,然后从列表中选择对应条目。
  • Except – 即使某人属于被分配范围,也不允许其处理该任务。例如,元件申请的提交者不应批准自己的元件申请!另一个例子是在 Milestone Review 流程的 Verify rework 任务中,在 Except 字段使用 $Rework executed by 变量,以防止执行前一个任务(Rework)的用户验证自己的工作。
  • Task ownership – 用于确定相对于 Assignee 字段中指定的用户,谁可以对任务执行操作。可用选项如下:
    • One of assigned users – 如果 Assignee 字段中只有一个用户,则处理请求的初始任务会直接分配给该用户。如果有多个被分配者,则所有用户都会在其任务列表中看到该任务,并由其中一人将任务分配给自己。
    • All assigned users – 所有被分配者都会收到该任务。

下图显示了 Part Request 流程定义的分配设置。Assignee 被定义为 Workspace 的管理员(Administrators 角色的成员)。Task ownership 设置为 One of assigned users,这意味着这些管理员用户中的某一位必须接手该请求。

哪个用户最初会收到处理新元件申请的任务,取决于在适用流程定义的底层工作流中,针对初始用户任务如何定义 Assignee、Except 和 Task ownership 的设置。上图显示的是默认 New Part Request 流程定义的设置。
哪个用户最初会收到处理新元件申请的任务,取决于在适用流程定义的底层工作流中,针对初始用户任务如何定义 AssigneeExceptTask ownership 的设置。上图显示的是默认 New Part Request 流程定义的设置。

如果你希望阻止元件申请的原始提交者处理该请求,你需要在 Except 字段中输入变量 $Initiator

为标准用户配置数据可见性

你可以配置标准用户在流程工作流的 Data 选项卡上可见的参数化数据——当查看该流程某个活动实例的进度时。在编辑某个流程的工作流且未选择任何元素时,可在 Properties 窗格中看到可在 Data 选项卡上呈现的数据列表。单击 控件以访问其关联表单(<ProcessName> Data)。

在该表单中,你可以决定某个参数是否在 Data 选项卡上可见。默认情况下,参数是可见的()。单击该控件可将其设为不可见()。此外,你还可以控制数据的显示顺序。当你将鼠标悬停在某个参数条目上时,其左侧会出现 控件。单击并按住该控件,然后将参数拖动到新位置。

此功能只影响标准(非管理员)用户能看到的内容。如果你以管理员身份登录 Workspace,则无论设置如何,你都能看到所有数据。

下图展示了表单与管理员用户及标准(非管理员)用户在该流程的 Data 选项卡上所见内容之间的关系。在此示例中,Description 和 Datasheets 参数对标准用户隐藏。

删除工作流元素

要删除一个工作流元素,选中它,然后使用 Delete 键盘快捷键。要删除多个元素,可单击并拖动选择框将其框选,或使用 Ctrl+单击逐个加入选择,然后使用 Delete 快捷键。

构建表单

有两个工作流元素——StartTask——涉及要求用户执行某些操作。这可能是请求初始化信息(项目名称和类型、用于评审的初始数据集、申请的元件编号、制造商和数据手册),或流程中其他需要用户以某种方式提供额外输入的任务(评审决策、附加数据、评论、为请求提供完成的元件等)。这两个元素都可以被视为 task-oriented

为了呈现必要的字段和变量以促进此类用户交互,需要创建一个 Form。在某些情况下,表单已存在并包含无法移除的内置字段;在另一些情况下,表单可用且带有默认字段,但这些字段可以修改以适配需求;还有一些情况下,表单不存在,因此你可以相对自由地按公司需求构建一个简单或复杂程度不等的表单。

以下列表展示了这两类任务中所有使用/需要表单的变体:

  • Start(Part Requests 主题)— 现有表单,包含 默认字段。这些字段可编辑或移除,并可在适用时定义默认值。也可按需添加其他字段。
  • Start 类型为 Start Activity(Project Activities 主题)— 现有表单,包含 内置字段。该字段无法移除。可按需添加其他字段。
  • Start(Project Creations 主题)— 现有表单,包含 内置字段。这些字段无法移除。可在适用时定义默认值。可按需添加其他字段。
  • Task 类型为 User Task(所有流程主题)— 无现有表单。按需创建。
  • Task 类型为 Collect Project Data(仅 Project Activities 主题)— 现有表单,包含 内置字段。该字段无法移除。可按需添加其他字段。
  • Task 类型为 Create Project(Project Creations 主题)— 现有表单,包含 内置字段。这些字段无法移除。可在适用时定义默认值。可按需添加其他字段。

用户表单编辑器

表单使用 User Form Editor 来创建。对于可定义 Form 的元素,如果表单尚不存在,你需要创建表单(在工作流中选择该元素,并在 Properties 窗格的 Form 区域中点击 按钮);如果表单已存在,则需要编辑表单(在工作流中选择该元素,并在 Properties 窗格的 Form 区域中点击 条目)。

表单通过添加字段来构建——字段代表具名变量——为其指定所需类型,并(在适用时)设置这些字段的使用标志;本质上是在构建一个界面,用于向将执行该任务的目标用户传递信息,并向其收集信息。

保存表单时——点击表单底部的 按钮——会在所选工作流元素的 Properties 窗格中回显该表单上定义的所有字段摘要及其变量类型。

User Form Editor 示例:为 Provide review feedback 用户任务(属于 Project Activities 主题内的 Milestone Review 流程定义的一部分)填充了表单。注意 Properties 窗格提供了一个便捷的摘要列表,列出表单上定义的所有字段及其类型。User Form Editor 示例:为 Provide review feedback 用户任务(属于 Project Activities 主题内的 Milestone Review 流程定义的一部分)填充了表单。注意 Properties 窗格提供了一个便捷的摘要列表,列出表单上定义的所有字段及其类型。

以下各节将介绍 User Form Editor 的工作机制,包括其对变量与字段的支持、每个字段/变量的相关标志、在表单内的操作方式,以及内置/默认字段与变量。

变量与字段

关于变量与字段需要注意的事项:

  • Variable 是一个具名数据元素,作为流程工作流的一部分进行跟踪。
  • Field 是变量在某个特定用户表单中的呈现形式,该表单位于某个流程的工作流中。
  • 没有用于管理流程变量的专用功能:
    • 当管理员首次将用户自定义变量添加到该流程工作流中的某个表单时,该变量就会被添加到流程中。
    • 当用户自定义变量从该流程工作流中使用的所有表单里都被移除时,该变量就会从流程中移除。
  • 大多数变量将由管理员在为流程定义的工作流创建表单时定义。某些 预定义变量 是针对特定工作流元素内置于流程定义中的。这些变量可在其他用户自定义表单中使用,但即使从工作流中的所有表单里移除,它们仍会保留为该流程已定义的变量。
  • 在流程中每个变量只有一个定义,这意味着无论在何处(任意表单)编辑该变量,变更都会自动反映到该工作流中使用的所有其他表单上,以及所有使用该变量的位置。
  • 变量名不区分大小写(即不能存在仅大小写不同的两个变量)。

标志

根据在表单(Form)上为字段定义的变量类型,它最多可以有三个标志:

  • Editable – 启用此标志可使字段可编辑,例如能够输入项目名称、输入日期、添加数据等。
  • Required – 启用此标志可使字段成为必填字段,这意味着用户必须选择一个选项或输入数据,才能提交任务。
  • Reset value – 启用此标志可在进入表单时重置字段的值。如果适用默认值且已设置,则会加载该默认值;否则字段将为空(或如果是下拉字段则显示 Choose option)。
这在包含“循环”的工作流中非常有用。例如在零件请求流程工作流中,用户验证请求并将 Next step 字段设置为 Needs more info。提交者补充信息后,流程会返回(此处即循环)进行再次验证。如果 Next step 字段启用了其 Reset value 标志,那么该字段将被重置,不再预填为 Needs more info。因此验证者需要有意识地为该字段选择值。
请回到 Supported Variable Types 表,查看这三个标志对每种变量类型的适用性。

表单上已定义字段及其标志的示例。表单上已定义字段及其标志的示例。

在显示方面,标志可能如下所示:

  • 蓝色 – 标志可更改,且当前处于启用状态。
  • 灰色 – 标志可更改,且当前处于未启用状态。
  • 暗蓝色 – 标志已启用且不可更改。
  • 不显示 – 标志不适用。

当标志可更改时,单击它可切换其启用状态。

字段在未先设为可编辑之前,不能设为必填。

高级选项

如果某个变量类型支持附加选项,将会有一个关联的 Advanced options 控件——单击它以展开并查看这些选项。

表单上各种已定义字段的 Advanced options 示例。表单上各种已定义字段的 Advanced options 示例。

根据变量类型,这里可能包含以下选项:

  • Keep value provided by each user separately – 允许你使用该字段来“汇集(pool)”参与任务的多个用户所提交表单中的值,例如用于设计评审。
  • Dropdown options – 对于类型为 Dropdown 的变量,在此定义可供用户在字段关联的下拉菜单中选择的条目。
  • Default value – 提供一个默认值,当用户访问与任务关联的表单时,该默认值将作为字段值“预填”显示。如果字段类型为 Dropdown,默认值可以设置为已定义的 Dropdown options 之一,或设置为 None
  • Value – 通常用于类型为 Label 的变量,使用此字段定义标签文本;该文本会显示在用户正在处理的任务所关联的表单上,用于描述他们需要做什么。

添加字段

要向表单添加新字段,请单击表单右下角的 Add 控件。新字段会添加到表单底部,并展开 Name 下拉列表,以便选择在流程定义中其他位置已定义的现有变量,或创建一个新变量。

向表单添加新字段的示例。你可以选择引用为父流程定义所定义的现有变量,或输入新名称,从而为该定义创建一个新变量(在保存表单后生效)。向表单添加新字段的示例。你可以选择引用为父流程定义所定义的现有变量,或输入新名称,从而为该定义创建一个新变量(在保存表单后生效)。

当前表单上已使用的变量不会包含在下拉菜单中,因为在用户表单上同一个变量只能出现一次。变量列表会在你输入时进行筛选,便于你在需要时快速定位到现有变量。

如果选择了现有变量:

  • 它会作为对该变量的另一个引用添加到表单中。
  • Name 字段会变为标准文本字段,允许编辑名称,但不能再选择其他变量。
  • 标志会根据原始变量的定义方式进行设置。

如果输入了新的变量名称:

  • Name 字段会变为标准文本字段。
  • 可以选择变量 Type(默认是 Single Line Text)。
  • 标志会相应设置为默认状态——可编辑(启用)、必填(未启用)、重置值(未启用)。
  • 保存表单时,新变量会被添加到流程定义中。
要重命名字段,请在 Name 字段内单击并按需修改。如果字段无法重命名,Name 将显示为灰色,并且当你将鼠标悬停在该字段上时会出现 图标。

移除字段

要移除用户定义的字段,请单击其最右侧的 控件。移除会立即生效,不会有任何确认提示。

该用户定义字段只会从当前表单中移除。如果该字段/变量在工作流中的其他表单上也被使用,它仍会保留在该流程定义中。只有当它从所有表单中都被移除后,才会从该流程定义的已定义变量列表中移除。

重新排序字段

通过单击并拖拽 控件(将鼠标悬停在字段上时会在左侧显示),可以将任何字段移动到表单上的任意位置。这使你能够先快速向表单添加字段,然后再调整其外观(字段顺序)。

保存并部署

当流程按需定义完成后,单击编辑器右上角的 按钮,将其添加到该流程主题下的可用流程列表中。新的流程定义将被激活并可立即使用。

编辑器会标记工作流图中阻止其保存和部署的任何问题——例如,图中必须定义一个 Start 事件,并且至少定义一个 End 事件。此外,用户任务(User Task)必须至少有一个表单字段和一个受理人(Assignee)。
AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
Content