资产未同步到Adobe Experience Manager中的活动副本
在Adobe Experience Manager (AEM)中,使用多站点管理器(MSM)转出页面时,不会将某些自定义属性同步到活动副本。 默认情况下,MSM不包括某些属性。
要修复此问题,请更新转出配置以包含自定义属性。
描述 description
环境
- 产品: Adobe Experience Manager — 站点
- 环境:开发
- 功能:多站点管理器(MSM)转出
问题/症状
当尝试将页面从语言母版页面(例如language-masters/en/home.html)转出到其活动副本时,某些属性未同步。
- 对语言母版上的属性(例如
cq:styleIds)进行了更改。 - 为多个活动副本执行转出操作(例如,
en-us/home.html、fr-fr/home.html)。 - 比较后,Live Copy页面不会反映语言母版中的新属性值。
- 这尤其适用于某些cq标记。
原因
默认情况下,MSM配置为从转出中排除某些JCR属性。 这样可防止系统管理的字段(如jcr:title, cq:lastModified, cq:tags,等)被无意覆盖。 它还避免复制不应与内容级联的内部或特定于实施的元数据。 默认配置明确拒绝大多数cq标记,但允许使用的少数标记除外。
解决方法 resolution
要在MSM转出中包括您的资产,请更新OSGi配置中排除的属性,如下所示:
-
修改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)$).* -
将更新的配置添加到云环境的部署管道,如下所示:
code language-none cq.wcm.msm.action.excludedprops = [ "jcr:.*", "sling:(?!(resourceType|resourceSuperType)$).*", "cq:(?!(designPath|template|lastTranslationUpdate|targetEngine|robotsTags|styleIds)$).*", "publishCampaignId" ] -
部署和验证开发环境中的更改。
-
再次转出并验证属性是否在所有活动副本之间正确同步。
通过在允许同步的属性中包含属性,您可以确保使用MSM操作成功转出与样式相关的配置。