AEM提供多种工具和资源,用于创建工作流模型、开发工作流步骤以及与工作流进行有序交互。
工作流使您能够自动处理AEM环境中管理资源和发布内容的流程。 工作流由一系列步骤组成,每个步骤都实现离散任务。 您可以使用逻辑和运行时数据来决定进程何时可以继续,并从多个可能的步骤中选择下一步。
例如,用于创建和发布网页的业务流程包括不同参与者的批准和注销任务。 这些过程可以使用AEM工作流建模并应用于特定内容。
以下主要方面介绍,而以下页面则介绍更多详细信息:
有关:
WorkflowModel
表示工作流的定义(模型)。 它由WorkflowNodes
和WorkflowTransitions
组成。 过渡连接节点并定义flow。 “模型”始终具有开始节点和结束节点。
工作流模型版本化。 运行工作流实例时,它将使用(并保留)工作流的运行时模型(在启动工作流时可用)。
当在工作流模型编辑器](/docs/experience-manager-65/developing/extending-aem/extending-workflows/workflows-models.html?lang=zh-Hans#sync-your-workflow-generate-a-runtime-model)中触发Sync时,生成运行时模型[。
在启动特定实例后,对所发生的工作流模型和/或所生成的运行时模型所做的编辑将不会应用于该实例。
所执行的步骤由运行时模型定义;在工作流模型编辑器中触发Sync操作时生成。
如果在此时间点之后更改了工作流模型(未触发Sync),则运行时实例将不反映这些更改。 只有更新后生成的运行时模型才会反映这些更改。 这些例外是基础ECMA脚本,它们只保留一次,因此会对这些脚本进行更改。
每个步骤都可实现离散任务。 工作流步骤有不同类型:
所有步骤都共享以下通用属性:Autoadvance
和Timeout
警报(脚本编写)。
WorkflowTransition
表示WorkflowModel
的两个WorkflowNodes
之间的过渡。
WorkItem
是通过WorkflowModel
的Workflow
实例传递的单元。 它包含实例所操作的WorkflowData
以及对描述基础工作流步骤的WorkflowNode
的引用。
WorkItems
(取决于工作流模型)。WorkItem
引用工作流实例。WorkItem
存储在工作流实例的下方。引用必须通过工作流进行高级的资源。
有效负荷实现引用存储库中的资源(按路径、UUID或URL)或序列化的java对象。 在存储库中引用资源非常灵活,并且与sling结合起来非常有效;例如,引用的节点可以呈现为表单。
在启动新工作流时(通过选择相应的工作流模型并定义有效负荷)创建,在处理结束节点时结束。
可以对工作流实例执行以下操作:
已完成和终止的实例已存档。
每个用户帐户都有其自己的工作流收件箱,分配的WorkItems
可在该收件箱中访问。
WorkItems
将直接分配给用户帐户或分配给它们所属的组。
工作流模型控制台中指明了各种类型的工作流:
默认
这些是标准AEM实例中附带的现成工作流。
自定义工作流(控制台中没有指示器)
这些是已创建为新工作流的工作流,或者来自已覆盖有自定义项的现成。
旧版
工作流在AEM的先前版本中创建。 这些组件可以在升级过程中保留,也可以作为上一版本的工作流包导出,然后导入到新版本中。
标准工作流在执行时保存运行时(历史记录)信息。 您还可以将工作流模型定义为Tranient以避免此类历史记录被保留。 这用于性能调整,因为它节省/避免了用于保持信息的时间/资源。
临时工作流可用于以下任何工作流:
引入了临时工作流来加载大量资产,其中资产信息很重要,但工作流运行时历史记录不重要。
有关更多详细信息,请参阅创建临时工作流。
当工作流模型被标记为“临时”时,仍有一些情况会保留运行时信息:
在临时工作流中,您不应使用跳转步骤。
这是因为跳转步骤在goto
点创建sling作业以继续工作流。 这会破坏使工作流处于临时状态的目的,并在日志文件中生成错误。
要在临时工作流中做出决策,可以使用OR Split。
有关临时工作流如何影响资产性能的更多信息,请参阅资产最佳实践。
为工作流模型激活多资源支持意味着即使选择多个资源,也会启动单个工作流实例;这些将作为包附。
如果未为工作流模型激活多资源支持并且选择了多个资源,则将为每个资源启动单个工作流实例。
有关更多详细信息,请参阅配置多资源支持的工作流。
工作流阶段可在处理任务时帮助可视化工作流的进度。 它们可用于概述工作流在处理过程中的程度,如运行工作流时,用户可以视图Stage描述的进度(与单个步骤相对)。
由于各个步骤名称可以是特定的和技术性的,因此可以定义阶段名称以提供工作流进度的概念视图。
例如,对于具有六个步骤和四个阶段的工作流:
您可以配置工作流阶段(显示工作流进度),然后为工作流中的每个步骤分配相应的阶段:
步骤名称 | 阶段(分配给步骤) |
---|---|
步骤 1 | 创建 |
步骤 2 | 创建 |
步骤 3 | 审核 |
步骤 4 | 批准 |
步骤 5 | 完成 |
步骤 6 | 完成 |
运行工作流时,用户可以根据阶段名称(而非步骤名称)视图进度。 工作流进度将显示在收件箱中列出的工作项](/docs/experience-manager-65/sites-authoring/workflows-participating.html?lang=zh-Hans#opening-a-workflow-item-to-view-details-and-take-actions)的任务详细信息窗口的[工作流信息选项卡中。
通常,工作流用于处理AEM中的表单提交。 这可以与标准AEM实例中提供的核心组件构成组件,或与AEM Forms解决方案一起实现。
创建新表单时,表单提交可轻松与工作流模型关联;例如,将内容存储在存储库的特定位置,或向用户通知表单提交及其内容。
工作流也是转换过程的一个完整部分。