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

ブループリントのブランチと依存するライブコピーのブランチの両方で同じ名前の新しいページが作成されると、競合が発生することがあります。このような競合は、ロールアウト時に処理および解決する必要があります。

競合の処理 conflict-handling

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

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

  • ロールアウト時に優先されるページ(ブループリントまたはライブコピー)
  • 名前を変更するページと変更方法
  • これが公開されたコンテンツに与える影響

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

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

サンプルシナリオ example-scenario

次のセクションでは、新しいページの例を示します。 b 競合を解決する様々な方法を示すために、ブループリントとライブコピーブランチの両方で(手動で作成された)が使用されます。

  • ブループリント:/b

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

  • ライブコピー:/b

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

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

ロールアウト前 before-rollout

ロールアウト前のブループリント
ロールアウト前のライブコピー
ロールアウト前の公開
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 では、コンテンツをブループリントからライブコピーにロールアウトするときに存在するページの競合を、競合ハンドラーを使用して解決します。ページ名の変更は、(その他の)通常の方法で競合を解決します。 別の動作を選択できるように、複数の競合ハンドラーを有効にすることもできます。

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

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

デフォルトの競合ハンドラーは ResourceNameRolloutConflictHandler です。

  • このハンドラーを使用すると、ブループリントページが優先されます。
  • このハンドラーのサービスランキングは低く設定されています。 つまり、 service.ranking プロパティの値は、カスタマイズされたハンドラーがより高いランクを必要とすると仮定しているからです。 ただし、必要に応じて柔軟に対応するために、ランキングを絶対最小値にはしません。

この競合ハンドラーでは、ブループリントが優先されます。例えば、ライブコピーページなどです。 /b は、ライブコピーブランチ内で /b_msm_moved.

  • ライブコピー:/b

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

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

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

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

ロールアウト後 after-rollout

ロールアウト後のブループリント
ロールアウト後のライブコピー
ロールアウト後のライブコピー
ロールアウト後の公開
b
b
b_msm_moved
b
コメント
ロールアウトされたブループリントページ 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

    同じままです。

ロールアウト後 after-rollout-no-conflict

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

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

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

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab