配置 Live Copy 同步 configuring-live-copy-synchronization

Adobe Experience Manager提供了多个现成的同步配置。 在使用 Live Copy 之前,您应考虑以下内容来定义 Live Copy 与其源内容同步的方式和时间。

  1. 确定现有转出配置是否满足您的要求
  2. 如果现有转出配置未满足您的要求,请决定是否需要创建自己的转出配置。
  3. 指定要用于 Live Copy 的转出配置。

已安装的自定义转出配置 installed-and-custom-rollout-configurations

此部分提供有关已安装的转出配置及其使用的同步操作的信息,以及如何在必要时创建自定义配置的信息。

CAUTION
建议​ 不要 ​更新或更改现成的转出配置。如果需要自定义实时操作,则应将其添加到自定义转出配置中。

转出触发器 rollout-triggers

每个转出配置都使用一个可执行转出的转出触发器。转出配置可以使用以下触发器之一:

  • 转出:在 Blue Print 页面上使用​ 转出 ​命令,或者在 Live Copy 页面上使用​ 同步 ​命令。
  • 修改:修改源页面。
  • 激活:激活源页面。
  • 停用:停用源页面。
NOTE
使用​ 修改 ​触发器可能会影响性能。请参阅 MSM 最佳实践以了解更多信息。

转出配置 rollout-configurations

下表列出了随 AEM 一起提供的现成的转出配置。该表包含每个转出配置的触发器和同步操作。

如果安装的转出配置操作不符合您的要求,您可以 创建转出配置。

名称
描述
触发器
同步操作
标准转出配置
标准转出配置,允许在触发转出时启动转出流程,并执行以下操作:创建、更新、删除内容和对子节点进行排序
转出
contentUpdate
contentCopy
contentDelete
referencesUpdate
productUpdate
orderChildren
在 Blueprint 激活时激活
在发布源时发布 Live Copy
激活
targetActivate
在 Blueprint 停用时停用
在停用源时停用 Live Copy
停用
targetDeactivate
修改时推送
修改源时将内容推送到 Live Copy
谨慎使用此转出配置,因为它使用“修改”触发器。
修改
contentUpdate
contentCopy
contentDelete
referencesUpdate
orderChildren
修改时推送(简略)
修改 Blueprint 页面时将内容推送到 Live Copy,而不更新引用(例如,对于浅层副本)
谨慎使用此转出配置,因为它使用“修改”触发器。
修改
contentUpdate
contentCopy
contentDelete
orderChildren
提升发布内容
用于提升发布页面的标准转出配置。
转出
contentUpdate
contentCopy
contentDelete
referencesUpdate
orderChildren
markLiveRelationship

同步操作 synchronization-actions

下表列出了随 AEM 一起提供的现成的同步操作。

如果安装的操作不满足您的要求,您可以创建新的同步操作

操作名称
描述
属性
contentCopy
当源节点在 Live Copy 上不存在时,此操作会将节点复制到 Live Copy。配置 CQ MSM 内容复制操作 ​服务,以指定要排除的节点类型、段落项和页面属性。
contentDelete
此操作删除源上不存在的 Live Copy 的节点。配置 CQ MSM 内容删除操作 ​服务,以指定要排除的节点类型、段落项和页面属性。
contentUpdate
此操作使用来自源的更改来更新 Live Copy 内容。配置 CQ MSM 内容更新操作 ​服务,以指定要排除的节点类型、段落项和页面属性。
editProperties
此操作编辑 Live Copy 的属性。editMap 属性确定编辑哪些属性及其值。editMap 属性的值必须采用以下格式:
[property_name_n]#[current_value]#[new_value]
current_valuenew_value 是正则表达式,n 是递增整数。
例如,考虑 editMap 的以下值:
sling:resourceType#/(contentpagehomepage)#/mobilecontentpage,cq:template#/contentpage#/mobilecontentpage
此值编辑 Live Copy 节点的属性,如下所示:将设置为 contentpagehomepage
sling:resourceType 属性设置为 mobilecontentpage
将设置为 contentpagecq:template 属性设置为 mobilecontentpage
editMap: (String) 标识属性、当前值和新值。有关更多信息,请参阅描述。
notify
此操作发送已转出的页面的页面事件。要接收通知,必须首先订阅转出事件。
orderChildren
此操作根据 Blueprint 上的顺序对子节点进行排序。
referencesUpdate
此同步操作会更新 Live Copy 上的引用。
它将搜索 Live Copy 页面中指向 Blueprint 内资源的路径。找到后,它会更新路径以指向 Live Copy 内的相关资源。具有 Blueprint 外部目标的引用不会发生更改。
配置 CQ MSM 引用更新操作 ​服务,以指定要排除的节点类型、段落项和页面属性。
targetVersion
此操作创建 Live Copy 的版本。
此操作必须是转出配置中包含的唯一同步操作。
targetActivate
此操作激活 Live Copy。
此操作必须是转出配置中包含的唯一同步操作。
targetDeactivate
此操作停用 Live Copy。
此操作必须是转出配置中包含的唯一同步操作。
workflow
此操作启动由 Target 属性定义的工作流程(仅适用于页面),并将 Live Copy 作为有效负载。
目标路径是模型节点的路径。
target: (String) 是工作流程模型的路径。
mandatory
此操作为特定用户组将 Live Copy 页面上多个 ACL 的权限设置为只读。配置以下 ACL:
ActionSet.ACTION_NAME_REMOVE
ActionSet.ACTION_NAME_SET_PROPERTY
ActionSet.ACTION_NAME_ACL_MODIFY
仅对页面使用此操作。
target: (String) 是要为其设置权限的组的 ID。
mandatoryContent
此操作为特定用户组将 Live Copy 页面上多个 ACL 的权限设置为只读。配置以下 ACL:
ActionSet.ACTION_NAME_SET_PROPERTY
ActionSet.ACTION_NAME_ACL_MODIFY
仅对页面使用此操作。
target: (String) 是要为其设置权限的组的 ID。
mandatoryStructure
此操作为特定用户组将 Live Copy 页面上 ActionSet.ACTION_NAME_REMOVE ACL 的权限设置为只读。
仅对页面使用此操作。
target: (String) 是要为其设置权限的组的 ID。
VersionCopyAction
如果已至少发布过一次 Blueprint/源页面,则使用发布的版本创建 Live Copy 页面。注意:此操作仅适用于基于已发布的源页面创建 Live Copy 页面,而不能用于更新现有的 Live Copy 页面。
PageMoveAction
当页面在 Blueprint 中移动时将应用 PageMoveAction
该操作会将(相关的)Live Copy 页面从移动前的位置复制到移动后的位置,而不是移动页面。
PageMoveAction 不会更改位于移动前位置的 Live Copy 页面。因此,对于连续转出配置,它具有不带 Blueprint 的实时关系状态。
配置 CQ MSM 页面移动操作 ​服务,以指定要排除的节点类型、段落项和页面属性。
此操作必须是转出配置中包含的唯一同步操作。
prop_referenceUpdate: (Boolean) 设置为 true(默认)可更新引用。
markLiveRelationship
此操作指示启动项创建的内容存在实时关系。

创建转出配置 creating-a-rollout-configuration

当安装的转出配置不符合您的应用程序要求时,您可以采取以下步骤创建转出配置:

然后,在 Blueprint 或 Live Copy 页面上配置转出配置时,您就可以使用新的转出配置。

从同步中排除属性和节点类型 excluding-properties-and-node-types-from-synchronization

您可以配置多个支持相应同步操作的 OSGi 服务,以便它们不会影响特定的节点类型和属性。例如,许多与 AEM 内部功能相关的属性和子节点不应包含在 Live Copy 中。只应复制与页面用户相关的内容。

使用AEM时,可通过多种方法管理此类服务的配置设置。 请参阅 配置OSGi 以了解更多详细信息和建议的做法。

下表列出了可以为其指定要排除节点的同步操作。该表提供了要使用 Web 控制台进行配置的服务名称以及要使用存储库节点进行配置的 PID。

同步操作
Web 控制台中的服务名称
服务 PID
contentCopy
CQ MSM 内容复制操作
com.day.cq.wcm.msm.impl.actions.ContentCopyActionFactory
contentDelete
CQ MSM 内容删除操作
com.day.cq.wcm.msm.impl.actions.ContentDeleteActionFactory
contentUpdate
CQ MSM 内容更新操作
com.day.cq.wcm.msm.impl.actions.ContentUpdateActionFactory
PageMoveAction
CQ MSM 页面移动操作
com.day.cq.wcm.msm.impl.actions.PageMoveActionFactory
referencesUpdate
CQ MSM 引用更新操作
com.day.cq.wcm.msm.impl.actions.ReferencesUpdateActionFactory

下表描述了您可以配置的属性:

Web 控制台属性
OSGi 属性
描述
排除的节点类型
cq.wcm.msm.action.excludednodetypes
匹配要从同步操作中排除的节点类型的正则表达式
排除的段落项
cq.wcm.msm.action.excludedparagraphitems
匹配要从同步操作中排除的段落项的正则表达式
排除的页面属性
cq.wcm.msm.action.excludedprops
匹配要从同步操作中排除的页面属性的正则表达式
忽略的 Mixin 节点类型
cq.wcm.msm.action.ignoredMixin
匹配要从同步操作中排除的 mixin 节点类型名称的正则表达式(或适用于 contentUpdate 操作)

CQ MSM 内容更新操作 – 排除 cq-msm-content-update-action-exclusions

默认情况下,将排除多个属性和节点类型,这些属性和节点类型在 CQ MSM 内容更新操作 ​的​ 已排除页面属性 ​下的 OSGi 配置中定义。

默认情况下,在转出时排除(即不更新)与以下正则表达式匹配的属性:

Live Copy 排除正则表达式

您可以根据需要更改定义排除列表的表达式。

例如,如果您希望将页面​ 标题 ​包含在考虑转出的更改中,请从排除项中删除 jcr:title。例如,使用正则表达式:

jcr:(?!(title)$).*

配置同步以更新引用 configuring-synchronization-for-updating-references

您可以配置多个 OSGi 服务以支持与更新引用相关的对应同步操作。

使用AEM时,可通过多种方法管理此类服务的配置设置。 请参阅 配置OSGi 以了解更多详细信息和建议的做法。

下表列出了可以为其指定引用更新的同步操作。该表提供了要使用 Web 控制台进行配置的服务名称以及要使用存储库节点进行配置的 PID。

Web 控制台属性
OSGi 属性
描述
跨嵌套 Live Copy 更新引用
cq.wcm.msm.impl.action.referencesupdate.prop_updateNested
在 Web 控制台中选择此选项,或使用存储库配置将此布尔属性设置为 true,将替换目标为位于最顶层 Live Copy 分支内任何资源的引用。仅适用于 referencesUpdate 操作。
更新引用页面
cq.wcm.msm.impl.actions.pagemove.prop_referenceUpdate
在 Web 控制台中选择此选项,或使用存储库配置将此布尔属性设置为 true,更新任何引用以使用原始页面来引用 Live Copy 页面。仅适用于 PageMoveAction

指定要使用的转出配置 specifying-the-rollout-configurations-to-use

MSM 允许您指定一般使用的转出配置集,并可在需要时覆盖特定 Live Copy 的转出配置。MSM 提供了多个位置来指定要使用的转出配置。该位置将确定配置是否适用于特定的 Live Copy。

下文列出了可在其中指定要使用的转出配置的位置,并描述了 MSM 如何确定要用于 Live Copy 的转出配置:

  • Live Copy 页面属性 ​当 Live Copy 页面配置为使用一个或多个转出配置时,MSM 将使用这些转出配置。
  • Blueprint 页面属性 ​当 Live Copy 基于 Blueprint 且 Live Copy 页面未配置转出配置时,将使用与 Blueprint 源页面关联的转出配置。
  • Live Copy 父页面属性: ​当 Live Copy 页面和 Blueprint 源页面均未配置转出配置时,将使用适用于 Live Copy 页面的父页面的转出配置。
  • 系统默认值 ​当无法确定 Live Copy 父页面的转出配置时,将使用系统默认转出配置。

例如,某个 Blueprint 使用 WKND 教程站点作为源内容。从该 Blueprint 创建一个网站。以下列表中的每个项都描述了有关使用转出配置的不同场景:

  • 所有 Blueprint 页面或 Live Copy 页面均未配置为使用转出配置。MSM对所有Live Copy页面使用系统默认转出配置。
  • WKND 站点的根页面配置了多个转出配置。MSM对所有Live Copy页面使用这些转出配置。
  • WKND 站点的根页面配置了多个转出配置,并且 Live Copy 站点的根页面配置了一组不同的转出配置。MSM 使用在 Live Copy 站点根页面上配置的转出配置。

为 Live Copy 页面设置转出配置 setting-the-rollout-configurations-for-a-live-copy-page

使用要在转出源页面时使用的转出配置对 Live Copy 页面进行配置。子页面默认情况下会继承该配置。在配置要使用的转出配置时,可能会覆盖 Live Copy 页面从其父页面继承的配置。

您还可以在创建 Live Copy 时为 Live Copy 页面配置转出配置。

  1. 使用​ Sites ​控制台选择 Live Copy 页面。

  2. 从工具栏中选择​ 属性

  3. 打开 Live Copy 选项卡。

    配置 ​部分将显示页面继承的转出配置。

    从父页面的 Live Copy 继承

  4. 如有必要,请调整 Live Copy继承 标志。 如果选中,Live Copy 配置将在所有子项上都有效。

  5. 清除​ 继承父项的转出配置 ​属性,然后从列表中选择一个或多个转出配置。

    选择的转出配置将显示在下拉列表下。

    覆盖 Live Copy 配置继承

  6. 选择​ 保存并关闭

为 Blueprint 页面设置转出配置 setting-the-rollout-configuration-for-a-blueprint-page

使用要在转出 Blueprint 页面时使用的转出配置对 Blueprint 页面进行配置。

Blueprint页面的子页面继承配置。 在配置要使用的转出配置时,可能会覆盖页面从其父页面继承的配置。

  1. 使用​ Sites ​控制台选择 Blueprint 的根页面。
  2. 从工具栏中选择​ 属性
  3. 打开 Blueprint 选项卡。
  4. 使用下拉选择器选择一个或多个​ 转出配置
  5. 使用​ 保存 ​持久存储您的更新。

设置系统默认转出配置 setting-the-system-default-rollout-configuration

要指定转出配置以用作系统默认值,请配置以下 OSGi 服务。

  • Day CQ WCM Live Relationship Manager,服务 PID 为 com.day.cq.wcm.msm.impl.LiveRelationshipManagerImpl

使用 Web 控制台存储库节点配置服务。

  • 在 Web 控制台中,要配置的属性名称是​ 默认转出配置
  • 使用存储库节点,要配置的属性的名称是 liverelationshipmgr.relationsconfig.default

将此属性值设置为要用作系统默认值的转出配置的路径。默认值为 /libs/msm/wcm/rolloutconfigs/default,这是​ 标准转出配置

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab