MSM ロールアウトの競合 msm-rollout-conflicts

CAUTION
AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

ブループリントのブランチと依存するライブコピーのブランチの両方で同じ名前の新しいページが作成されると、競合が発生することがあります。

このような競合は、ロールアウト時に処理および解決する必要があります。

競合の処理 conflict-handling

競合するページが(ブループリントとライブコピーのブランチ内に)存在する場合、MSM では、それらの処理方法(または処理する場合も)を定義できます。

ロールアウトがブロックされないように、次の内容を定義します。

  • ロールアウト時に優先されるページ(ブループリントまたはライブコピー)

  • どのページの名前が変更になるか(およびその方法)、

  • 公開済みのコンテンツにどのような影響があるか

    (標準の)AEM のデフォルトの動作では、公開済みのコンテンツに影響はありません。したがって、ライブコピーのブランチで手動で作成されたページが公開されても、競合の処理とロールアウトの後でそのコンテンツが公開されたままになります。

標準の機能に加えて、カスタマイズされた競合ハンドラーを追加して、異なるルールを実装できます。 また、公開アクションを個々のプロセスとして使用することもできます。

サンプルシナリオ example-scenario

以降の節では、(手動で作成された)ブループリントとライブコピーのブランチの両方で作成された新しいサンプルページ b を使用して、競合を解決する様々な方法について説明します。

  • ブループリント:/b

    1 つの子ページを持つマスターページ 、bp-level-1。

  • ライブコピー:/b

    子ページを 1 つ持つライブコピーブランチで手動作成されたページ、 lc-level-1

    • 公開時に子ページと共に /b にアクティベートします。

ロールアウト前

ロールアウト前のブループリント
ロールアウト前のライブコピー
ロールアウト前の公開
b
(ブループリントのブランチで作成、ロールアウト準備完了)
b
(ライブコピーのブランチで手動で作成)
b
(ライブコピーのブランチで手動で作成された、ページ b のコンテンツを含む)
/bp-level-1
/lc-level-1
(ライブコピーのブランチで手動で作成)
/lc-level-1
(ライブコピーのブランチで手動で作成された、ページ
child-level-1 のコンテンツを含む)

Rollout Manager and Conflict Handling rollout-manager-and-conflict-handling

ロールアウトマネージャーを使用すると、競合の管理をアクティベートまたはアクティベートを解除できます。

これは、Day CQ WCM Rollout ManagerOSGi の設定 を使用して行います。

  • 手動で作成したページとの競合の処理

    ( rolloutmgr.conflicthandling.enabled)

    ロールアウトマネージャーが、ブループリントに存在する名前を使用してライブコピーで作成されたページからの競合を処理する場合は、true に設定します。

AEM には競合の処理のアクティベートが解除されたときの動作が事前定義されています。

競合ハンドラー conflict-handlers

AEMは、競合ハンドラーを使用して、コンテンツをブループリントからライブコピーにロールアウトする際に存在するページの競合を解決します。 ページ名の変更は、(通常の)競合を解決する方法の 1 つです。 複数の競合ハンドラーを操作して、異なる動作を選択できます。

AEMには次の機能があります。

デフォルトの競合ハンドラー default-conflict-handler

デフォルトの競合ハンドラーは次のとおりです。

  • ResourceNameRolloutConflictHandlerと呼ばれます。

  • このハンドラーを使用すると、ブループリントページが優先されます。

  • カスタマイズされたハンドラーのランキングを高くする必要がある場合、このハンドラーのサービスランキングは低く(service.ranking プロパティのデフォルト値を下回る)に設定されます。ただし、必要に応じて柔軟性を確保するために、ランキングは絶対最小値ではありません。

この競合ハンドラーは、ブループリントを優先します。 ライブコピーページ/b(ライブコピーのブランチ内で)/b_msm_movedに移動されます。

  • ライブコピー: /b

    (ライブコピー内で) /b_msm_moved に移動されます。これはバックアップとして機能し、コンテンツが失われないようにします。

    • lc-level-1 は移動されません。
  • ブループリント:/b

    ライブコピーページ/bにロールアウトされます。

    • bp-level-1はライブコピーにロールアウトされます。

ロールアウト後

ロールアウト後のブループリント
ロールアウト後のライブコピー
ロールアウト後のライブコピー
ロールアウト後の公開
b
b
(ロールアウトされたブループリントページ b のコンテンツがある)
b_msm_moved
(ライブコピーのブランチで手動で作成されたページ b のコンテンツがある)
b
(変更なし。ライブコピーのブランチで手動で作成された元のページ b のコンテンツで、b_msm_moved と呼ばれるようになったコンテンツを含む)
/bp-level-1
/bp-level-1
/lc-level-1
(変更なし)
``
/lc-level-1
(変更なし)

カスタマイズされたハンドラー customized-handlers

カスタマイズされた競合ハンドラーを使用して、独自のルールを実装できます。 また、サービスのランキングメカニズムを使用して、他のハンドラーとのやり取りを定義することもできます。

カスタマイズされた競合ハンドラーでは、次の操作を行うことができます。

  • 要件に合わせて名前を付けることができます。``

  • 要件に合わせて開発および設定できます。例えば、ライブコピーページが優先されるハンドラーを開発できます。

  • 特に次の OSGi 設定を使用して設定されるように設計できます。

    • サービスランキング

      他の競合ハンドラーと関連する順序を定義します(service.ranking)。

      デフォルト値は 0 です。

競合の処理のアクティベートが解除されたときの動作 behavior-when-conflict-handling-deactivated

手動で 競合処理を無効にする 競合するページに対しては、AEMは何のアクションも実行しません(競合しないページは想定どおりにロールアウトされます)。

CAUTION
AEMでは、この動作を明示的に設定する必要があるので、競合が無視されていることを示すものはありません。そのため、競合が必要な動作であると見なされます。

この場合、ライブコピーが効果的に優先されます。 ブループリントページ /bはコピーされず、ライブコピーページ /bはそのまま残ります。

  • ブループリント:/b

    コピーされず、無視されます。

  • ライブコピー:/b

    同じままです。

ロールアウト後のブループリント
ロールアウト後のライブコピー
ロールアウト後の公開
b
b
(変更なし。ライブコピーのブランチで手動で作成されたページ b のコンテンツがある)
b
(変更なし。ライブコピーのブランチで手動で作成されたページ b のコンテンツが含まれる)
/bp-level-1
/lc-level-1
(変更なし)
/lc-level-1
(変更なし)

サービスランキング service-rankings

OSGi サービスランキングは、個々の競合ハンドラーの優先度を定義するために使用できます。

recommendation-more-help
5ce3024a-cbea-458b-8b2f-f9b8dda516e8