プロパティが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 タグに当てはまります。
原因
デフォルトでは、特定の JCR プロパティをロールアウトから除外するように MSM が設定されます。 これにより、システムが管理するフィールド(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 アクションでスタイル関連の設定が正常にロールアウトされるようにします。