Adobe Experience Managerのライブコピーにプロパティが同期されない
Adobe Experience Manager(AEM)では、マルチサイトマネージャー(MSM)を使用してページをロールアウトしても、一部のカスタムプロパティがライブコピーに同期されません。 MSMは、デフォルトで特定のプロパティを除外します。
これを修正するには、カスタムプロパティを含めるようにロールアウト設定を更新します。
説明 description
環境
- Product: Adobe Experience Manager - Sites
- 環境:開発
- 機能:マルチサイトマネージャー(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 アクションで正常にロールアウトされるようにします。