現在表示中:

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

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

競合の処理

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

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

  • ロールアウト時にどのページ(ブループリントまたはライブコピー)が優先されるか
  • どのページの名前が変更になるか(およびその方法)
  • 公開済みのコンテンツにどのような影響があるか
    (標準の)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 のコンテンツが含まれています)

ロールアウトマネージャーと競合の処理

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

これは、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 は移動されません。
  • ブループリント:/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 サービスランキングは各競合ハンドラーの優先度を定義するために使用できます。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー