MSM ロールアウトの競合

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

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

競合の処理

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

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

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

  • どのページの名前が変更されたか(およびその方法)

  • これが公開されたコンテンツに与える影響

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

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

サンプルシナリオ

以降のセクションでは、新しいページの例を使用する必要があります 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

ロールアウトマネージャを使用して、競合の管理をアクティブ化または非アクティブ化できます。

これは、 OSGi 設定 / Day CQ WCM Rollout Manager:

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

    ( rolloutmgr.conflicthandling.enabled)

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

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

競合ハンドラー

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

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

デフォルトの競合ハンドラー

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

  • 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

(変更なし)

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

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

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

  • 要件に従って名前が付けられます。

  • 要件に応じて開発/設定します。例えば、ライブコピーページが優先されるようにハンドラーを開発できます。

  • を使用して設定するように設計されている OSGi 設定(特に以下を含む)

    • サービスランキング

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

      デフォルト値は 0 です。

競合の処理のアクティベートが解除されたときの動作

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

注意

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

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

  • ブループリント:/b

    まったくコピーされませんが、無視されます。

  • ライブコピー:/b

    同じ。

ロールアウト後
ロールアウト後のブループリント ロールアウト後のライブコピー


ロールアウト後の公開

b b

(変更なし。ライブコピーのブランチで手動で作成されたページ b のコンテンツがある)
b

(変更なし。ライブコピーのブランチで手動で作成されたページ b のコンテンツが含まれる)
/bp-level-1
/lc-level-1

(変更なし)
/lc-level-1

(変更なし)

サービスランキング

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

このページ