MSM ロールアウトの競合

同じページ名を持つ新しいページがBlueprintブランチと依存ライブコピーブランチの両方に作成された場合、競合が発生する可能性があります。

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

競合の処理

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

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

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

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

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

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

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

サンプルシナリオ

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

  • blueprint:/b

    マスターページ;子ページが1の場合、bp-level-1。

  • ライブコピー:/b

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

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

ロールアウト前

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

Rollout Manager and Conflict Handling

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

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

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

    ( rolloutmgr.conflicthandling.enabled)

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

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

競合ハンドラー

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

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

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

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

  • ResourceNameRolloutConflictHandlerと呼ばれる

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

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

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

  • ライブコピー:/b

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

    • lc-level-1 は移動されません。
  • blueprint:/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 は競合を無視するときに何のサインも示しません。そのため、この動作は必須の動作と見なされます。

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

  • blueprint:/b

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

  • ライブコピー:/b

    同じです。

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


ロールアウト後の公開

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

サービスランキング

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

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
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