Show Menu
トピック×

MSM ロールアウトの競合

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

競合の処理

競合するページが(ブループリントやライブコピーのブランチ内に)存在するとき、MSM ではそれらの処理方法(処理の有無を含む)を定義できます。
ロールアウトがブロックされないように、次の内容を定義します。
  • ロールアウト時にどのページ(ブループリントまたはライブコピー)が優先されるか
  • どのページの名前が変更になるか(およびその方法)
  • 公開済みのコンテンツにどのような影響があるか
    (標準の)AEM のデフォルトの動作では、公開済みのコンテンツに影響はありません。つまり、ライブコピーのブランチに手動で作成されたページが公開されている場合、競合の処理およびロールアウト後にもそのコンテンツは公開されたままになります。
標準の機能に加えて、カスタマイズされた競合ハンドラーを追加して別のルールを実装できます。これらは、アクションを個別のプロセスとして公開することも許可します。

サンプルシナリオ

以降の節では、(手動で作成された)ブループリントとライブコピーのブランチの両方で作成された新しいサンプルページ b を使用して、競合を解決する様々な方法について説明します。
  • blueprint: /b
    マスターページ子ページが1つある場合は、bp-level-1を返します。
  • live copy: /b
    A page manually created in the live copy branch; with 1 child page, lc-level-1 .
    • Activated on publish as /b , together with the child page.
ロールアウト前
ロールアウト前のブループリント ロールアウト前のライブコピー ロールアウト前の公開
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 Manager OSGi の設定 を使用しておこないます。
  • 手動で作成したページとの競合を処理 :
    ( rolloutmgr.conflicthandling.enabled )
    ロールアウトマネージャが、ライブコピーで作成されたページからの競合を設計図に存在する名前で処理する必要がある場合は、trueに設定します。

競合ハンドラー

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

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

デフォルトの競合ハンドラーの特徴は次のとおりです。
  • ResourceNameRolloutConflictHandler
  • このハンドラーを使用すると、ブループリントページが優先されます。
  • The service ranking for this handler is set low ( ``i.e. below the default value for the service.ranking property) as the assumption is that customized handlers will need a higher ranking. ただし、必要に応じて柔軟に対応するために、ランキングを絶対最小値にはしません。
この競合ハンドラーでは、ブループリントが優先されます。The live copy page /b is moved (within the live copy branch) to /b_msm_moved .
  • live copy: /b
    (ライブコピー内の)がに移動されま /b_msm_moved す。 これはバックアップとして機能し、コンテンツが失われないようにします。
    • lc-level-1 は移動されません。
  • blueprint: /b
    Is rolled out to the live copy page /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 は競合を無視するときに何のサインも示しません。そのため、この動作は必須の動作と見なされます。
この場合、実際にはライブコピーが優先されます。The blueprint page /b is not copied and the live copy page /b is left untouched.
  • blueprint: /b
    はコピーされませんが、無視されます。
  • live copy: /b
    同じまま。

ロールアウト後

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

サービスランキング

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