资产未同步到Adobe Experience Manager中的活动副本

在Adobe Experience Manager (AEM)中,使用多站点管理器(MSM)转出页面时,不会将某些自定义属性同步到活动副本。 默认情况下,MSM不包括某些属性。

要修复此问题,请更新转出配置以包含自定义属性。

描述 description

环境

  • 产品: Adobe Experience Manager — 站点
  • 环境:开发
  • 功能:多站点管理器(MSM)转出

问题/症状

当尝试将页面从语言母版页面(例如language-masters/en/home.html)转出到其活动副本时,某些属性未同步。

  • 对语言母版上的属性(例如cq:styleIds)进行了更改。
  • 为多个活动副本执行转出操作(例如,en-us/home.htmlfr-fr/home.html)。
  • 比较后,Live Copy页面不会反映语言母版中的新属性值。
  • 这尤其适用于某些cq标记。

原因

默认情况下,MSM配置为从转出中排除某些JCR属性。 这样可防止系统管理的字段(如jcr:title, cq:lastModified, cq:tags,等)被无意覆盖。 它还避免复制不应与内容级联的内部或特定于实施的元数据。 默认配置明确拒绝大多数cq标记,但允许使用的少数标记除外。

解决方法 resolution

要在MSM转出中包括您的资产,请更新OSGi配置中排除的属性,如下所示:

  1. 修改OSGi配置(CQ MSM Content Update Action - com.day.cq.wcm.msm.impl.actions.ContentUpdateActionFactory)中的正则表达式以包含自定义属性。

    例如,要包含cq:styleIds,请将正则表达式从:

    cq:(?!(designPath|template|lastTranslationUpdate|targetEngine|robotsTags)$).*

    至:

    cq:(?!(designPath|template|lastTranslationUpdate|targetEngine|robotsTags|styleIds)$).*

  2. 将更新的配置添加到云环境的部署管道,如下所示:

    code language-none
    cq.wcm.msm.action.excludedprops = [
      "jcr:.*",
      "sling:(?!(resourceType|resourceSuperType)$).*",
      "cq:(?!(designPath|template|lastTranslationUpdate|targetEngine|robotsTags|styleIds)$).*",
      "publishCampaignId"
    ]
    
  3. 部署和验证开发环境中的更改。

  4. 再次转出并验证属性是否在所有活动副本之间正确同步。

通过在允许同步的属性中包含属性,您可以确保使用MSM操作成功转出与样式相关的配置。

相关阅读

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f