AEM as a Cloud Service中的树复制工作流 tree-replication-workflows

在必须发布内容树的大分支时,标准的逐页发布可能会很慢并且占用大量资源。 AEM as a Cloud Service提供了基于工作流的方法,该方法可以在可管理的块中复制深层内容层次结构,在复制队列繁忙时暂停,并在出现中断时恢复。

使用​ 树激活工作流步骤 ​进行批量树复制。 这是大型有效载荷的推荐方法。 发布内容树工作流​仍记录以供参考,但已弃用,支持树激活步骤。

有关其他复制主题,请参阅复制

树激活工作流步骤 tree-activation

树激活工作流步骤旨在高效复制内容节点的深层层次结构。 当队列变得过大时,它会自动暂停,以允许以最小的延迟并行执行其他复制。

创建使用TreeActivation流程步骤的工作流模型:

  1. 从AEM as a Cloud Service主页,转到​工具 — 工作流 — 模型

  2. 在“工作流模型”页面中,按屏幕右上角的​创建

  3. 为模型添加标题和名称。 有关详细信息,请参阅创建工作流模型

  4. 从列表中选择已创建的模型,然后按​编辑

  5. 在以下窗口中,删除默认显示的步骤

  6. 将“流程步骤”拖放到当前模型流中:

    流程步骤

  7. 选择流中的“流程”步骤,然后按扳手图标选择​配置

  8. 选择​ 进程 ​选项卡并从下拉列表中选择Publish Content Tree,然后选中​ 处理程序前进 ​复选框

    树激活

  9. 在​ 参数 ​字段中设置任何附加参数。 可以将多个以逗号分隔的参数字符串在一起。 例如:

    enableVersion=false,agentId=publish,chunkSize=50,maxTreeSize=500000,dryRun=false,filters=onlyModified,maxQueueSize=10

    note
    NOTE
    有关参数列表,请参阅​ 参数 ​部分。
  10. 按​ 完成 ​以保存工作流模型。

参数

名称
默认
说明
路径
要从其开始的根路径
agentId
发布
接收复制的代理(publishpreview
chunkSize
50
要捆绑到单个复制中的路径数
maxTreeSize
500000
树的最大节点数(视为小)
maxQueueSize
10
复制队列中的最大项目数
enableVersion
false
启用版本控制
dryRun
false
当设置为true时,实际不会调用复制
userId
仅适用于作业。 在工作流中,使用调用工作流的用户
个筛选条件
节点筛选器名称列表。 请参阅下面支持的过滤器

支持筛选器

名称
描述
onlyModified
节点:自上次发布以来修改过的新节点和预先存在的节点
onlyActivated
节点:在上次发布之前已发布的节点

恢复支持

该工作流会按块处理内容,每个块表示要发布的完整内容的子集。 如果系统停止了工作流,工作流将从之前停止的位置继续。

监视工作流进度

  1. 从AEM as a Cloud Service主页,转到​工具 — 常规 — 作业

  2. 查看与您的工作流对应的行。 progress​列指示复制进度。 例如,它可以显示41/564,并且在刷新时,它可以更新为52/564。

    树激活进度

  3. 选择行并打开它可提供有关工作流执行状态的更多详细信息。

    树激活状态详细信息

发布内容树工作流程 publish-content-tree-workflow

NOTE
此功能已弃用,支持更高效的树激活步骤,此步骤可包含在自定义工作流中。
单击此处了解有关此已弃用功能的更多信息。

您可以通过选择​ 工具 – 工作流 – 模型 ​和复制​ 发布内容树 ​现成的工作流模型,如下所示:

发布内容树工作流信息卡

请勿调用原始模型。 相反,请确保首先复制模型并调用该副本。

与所有工作流一样,也可以通过 API 调用。 有关详细信息,请参阅以编程方式与工作流交互

或者,您也可以创建使用Publish Content Tree进程步骤的工作流模型。

  1. 从AEM as a Cloud Service主页,转到​工具 — 工作流 — 模型

  2. 在“工作流模型”页面中,按屏幕右上角的​创建

  3. 为模型添加标题和名称。 有关详细信息,请参阅创建工作流模型

  4. 从列表中选择已创建的模型,然后按​编辑

  5. 在以下窗口中,将“流程步骤”拖放到当前模型流中:

    流程步骤

  6. 选择流中的“流程”步骤,然后按扳手图标选择​配置

  7. 选择​ 进程 ​选项卡并从下拉列表中选择Publish Content Tree,然后选中​ 处理程序前进 ​复选框

    树激活

  8. 在​ 参数 ​字段中设置任何附加参数。 可以将多个以逗号分隔的参数字符串在一起。 例如:

    enableVersion=true,agentId=publish,includeChildren=true

    note
    NOTE
    有关参数列表,请参阅​ 参数 ​部分。
  9. 按​ 完成 ​以保存工作流模型。

参数

  • includeChildren(布尔值,默认:false)。 值false表示仅发布路径;true表示子项也发布。

  • replicateAsParticipant(布尔值,默认:false)。 如果配置为 true,则复制操作将使用 userid 执行参与者步骤的主体。

  • enableVersion(布尔值,默认: false)。 此参数可确定复制时是否创建了新版本。

  • agentId(字符串值,默认表示仅使用发布代理)。 显式指定目标代理 — 例如,为实时发布层指定publish或为预览层指定preview

  • filters (字符串值,默认表示激活所有路径)。 可用值包括:

    • onlyActivated — 仅激活已(已)激活的页面。 作为重新激活的一种形式。
    • onlyModified – 仅激活已激活且修改日期晚于激活日期的路径。
    • 上面可以用管道字符“|”进行“或”操作。 例如:onlyActivated|onlyModified

记录

当树激活工作流步骤启动时,它将在“信息”日志级别记录其配置参数。 激活路径时,也会记录 INFO 语句。

在工作流步骤复制了所有路径之后,将记录最终的INFO语句。

此外,您还可以将低于com.day.cq.wcm.workflow.process.impl的记录器的日志级别增加到DEBUG/TRACE以获取更多日志信息。

如果存在错误,工作流步骤将以WorkflowException终止,它封装了基础异常。

以下是在示例发布内容树工作流中生成的日志示例:

code language-none
21.04.2021 19:14:55.566 [cm-p123-e456-aem-author-797aaaf-wkkqt] *INFO* [JobHandler: /var/workflow/instances/server60/2021-04-20/brian-tree-replication-test-2_1:/content/wknd/us/en/adventures] com.day.cq.wcm.workflow.process.impl.treeactivation.TreeActivationWorkflowProcess TreeActivation options: replicateAsParticipant=false(userid=workflow-process-service), agentId=publish, chunkSize=100, filter=, enableVersion=false
code language-none
21.04.2021 19:14:58.541 [cm-p123-e456-aem-author-797aaaf-wkkqt] *INFO* [JobHandler: /var/workflow/instances/server60/2021-04-20/brian-tree-replication-test-2_1:/content/wknd/us/en/adventures] com.day.cq.wcm.workflow.process.impl.ChunkedReplicator closing chunkedReplication-VolatileWorkItem_node1_var_workflow_instances_server60_2021-04-20_brian-tree-replication-test-2_1, 17 paths replicated in 2971 ms
recommendation-more-help
experience-manager-cloud-service-help-main-toc