ロールアウトの競合

同じページ名を持つ新しいページがBlueprintブランチと依存するLive Copyブランチの両方で作成された場合、競合が発生する可能性があります。 このような競合はロールアウト時に処理および解決する必要があります。

競合の処理

競合するページが存在する場合(BluePrintおよびLive Copyの分岐内)、MSMでは、それらの処理方法(または場合によっても)を定義できます。

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

  • 展開時に優先するページ(BluePrintまたはLive Copy)
  • 名前を変更するページ(および方法)
  • これが公開されたコンテンツに与える影響

AEMのデフォルトの動作では、すぐに使用できますが、公開されたコンテンツは影響を受けません。 したがって、ライブコピーブランチに手動で作成されたページが公開された場合、そのコンテンツは、競合の処理と展開の後も公開されます。

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

サンプルシナリオ

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

  • blueprint:/b

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

  • ライブコピー: /b

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

    • 子ページと共に/bとして公開時にアクティブ化

ロールアウト前

ロールアウト前のBlueprint ロールアウト前のライブコピー ロールアウト前に公開
b b b
コメント BluePrintブランチで作成、展開に対応 ライブコピーブランチで手動で作成 ライブコピーブランチに手動で作成されたページbのコンテンツが含まれます
/bp-level-1 /lc-level-1 /lc-level-1
コメント ライブコピーブランチで手動で作成 ライブコピーブランチに手動で作成されたページchild-level-1の内容が含まれます

Rollout Manager and Conflict Handling

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

これは、Day CQ WCM Rollout Manager​のOSGi設定を使用して行います。 値​手動で作成したページ ( rolloutmgr.conflicthandling.enabled )との競合を処理する場合、ロールアウトマネージャは、ライブコピーで作成されたページの競合を、青写真に存在する名前で処理する必要がある場合は、値Handle conflictをtrueに設定します。

競合管理が非アクティブ化されている場合、AEMには定義済みの動作があります。

競合ハンドラー

AEMでは、ブループリントからライブコピーにコンテンツをロールアウトする際に存在するページの競合を解決するために、競合ハンドラーを使用します。 ページ名の変更は、このような競合を解決する通常の方法です(ただし、その他の方法も使用します)。 別の動作を選択できるように、複数の競合ハンドラーを有効にすることもできます。

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

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

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

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

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

  • ライブコピー: /b

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

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

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

    • bp-level-1 がライブコピーにロールアウトされたとき。

ロールアウト後

展開後のBlueprint ロールアウト後のライブコピー ロールアウト後のライブコピー ロールアウト後にパブリッシュ
b b b_msm_moved b
コメント 展開されたBluePrintページbの内容がある ライブコピーブランチに手動で作成されたページbのコンテンツがある 変更はありません。ライブコピーブランチで手動で作成された、bという名前の元のページの内容が含まれます。b_msm_moved
/bp-level-1 /bp-level-1 /lc-level-1 /lc-level-1
コメント 変更なし 変更なし

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

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

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

  • 要件に合わせて名前を付けることができます。
  • 必要に応じて開発/構成を行う。
    • 例えば、ライブコピーページを優先するハンドラーを作成できます。
  • OSGi設定を使用して設定できます。特に、
    • サービス のランキングでは、他の競合ハンドラ( service.ranking)に関連する順序を定義します。
      • デフォルト値は 0 です。

競合処理が非アクティブな場合の動作

競合処理を手動で非アクティブ化すると、競合するページに対して AEMは何も実行しません。 競合しないページは、期待どおりにロールアウトされます。

注意

競合処理が無効になっている場合、AEMは競合が無視されることを示す表示を一切しません。 このような場合、この動作は明示的に設定する必要があるので、これが目的の動作であると想定します。

この場合、ライブコピーが効果的に優先されます。 Blueprintページ/bはコピーされず、ライブコピーページ/bは変更されません。

  • ブループリント: /b

    は一切コピーされませんが、無視されます。

  • ライブコピー: /b

    同じです。

ロールアウト後

展開後のBlueprint ロールアウト後のライブコピー ロールアウト後にパブリッシュ
b b b
コメント 変更はありません。ライブコピーブランチに手動で作成されたbページのコンテンツがあります 変更なし。ライブコピーブランチに手動で作成されたページbの内容が含まれます。
/bp-level-1 /lc-level-1 /lc-level-1
コメント 変更なし 変更なし

サービスランキング

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

このページ

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now