屬性未同步至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)。 - 比較後,即時副本頁面不會反映語言主要版本的新屬性值。
- 這尤其適用於某些cq標籤。
原因
依預設,MSM會設定為從轉出中排除某些JCR屬性。 這樣可保護系統管理的欄位(例如jcr:title, cq:lastModified, cq:tags,等)不會遭到無意的覆寫。 這樣還可以避免複製不應與內容重疊顯示的內部或實作特定中繼資料。 預設設定會明確拒絕大部分的cq標籤,但允許的幾個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動作成功轉出與樣式相關的設定。