MSM のベストプラクティス msm-best-practices

一般 general

MSM は、コンテンツのデプロイメントを自動化するための設定可能なフレームワークです。多くの場合、実装は Web サイトの主要な部分に影響を及ぼし、複数の組織や地域にわたって行われます。したがって、web サイトの計画時と同様に、慎重に MSM の実装を計画することを強くお勧めします。

  • 実装を開始する前に、入念に​ 構造およびコンテンツのフローを計画 ​してください。

  • ライブコピーの量を最小限に抑えます。 ライブコピーの処理はリソースを大量に消費するタスクです。システム内に存在するライブコピーが多いほど、パフォーマンスに影響を与える可能性があります。内部ライブコピーインデックスの処理から、ロールアウトなどのライブコピー操作、Sites 管理者の参照パネルにライブコピーの関係を表示するなどの UI 操作に至ります。サイトまたはサイトのブランチのライブコピーを作成し、ライブコピーの関係がサイトまたはブランチのページに継承されるようにすることがベストプラクティスです。構造全体をライブコピーすることができる場合は、サイトやブランチ内のページに対して個別のライブコピーを作成しないでください。

  • 最小限必要なカスタマイズだけを行ってください。 MSM では高度なカスタマイズ(ロールアウト設定など)がサポートされていますが、通常はカスタマイズを最小限に抑えることが web サイトのパフォーマンス、信頼性、アップグレードのしやすさを確保するためのベストプラクティスです。

  • ガバナンス ​モデルを早期に確立し、成功に導くための適切なユーザートレーニングを実施してください。多くの場合、ガバナンスの観点から見たベストプラクティスは、ローカルのコンテンツプロデューサーの権限を最小限に抑え、コンテンツを他のローカルユーザーやそれぞれのライブコピーに分散および接続することです。継承の連鎖が管理されていないと、MSM の構造がより複雑になり、パフォーマンスと信頼性が損なわれる可能性があるからです。

  • 構造、コンテンツフロー、自動化、ガバナンスの計画を立てた後は、システムのプロトタイプを作成してテストを十分に行ってから、本番の実装を開始してください。

  • MSM を使用したコンテンツ自動化の計画および実装の経験が豊富な​ アドビのコンサルティングと一流のシステムインテグレーター ​が MSM プロジェクトの導入や実装全般を支援します。

NOTE
MSM での作業に関するその他の情報については、ナレッジベースの記事を参照してください。
NOTE
参照コンポーネントを使用して、単一のページまたは段落を再利用することもできます。ただし、次の点に注意してください。
  • MSM のほうが柔軟性が高く、同期するコンテンツと同期のタイミングを詳細に制御できます。
  • コアコンポーネントは基礎コンポーネントよりも推奨されています。

ライブコピーのソースとブループリント設定 live-copy-sources-and-blueprint-configurations

ライブコピーは通常のページまたはブループリント設定を使用して作成できます。どちらも有効なユースケースです。

ブループリント設定を使用する場合のその他の利点を以下に示します。

  • 作成者がブループリントで「ロールアウト」オプションを使用して、このブループリントから継承されるライブコピーに変更を(明示的に)プッシュできます。
  • 作成者が​ サイトを作成 ​を使用して、ユーザーが簡単に言語を選択してライブコピーの構造を設定できます。
  • ブループリントと関係があるライブコピーのデフォルトのロールアウト設定を定義できます。

ブループリント設定が参照されない場合、ロールアウトはライブコピー自体からのみ開始でき、基本的にソースからコンテンツを引き出します。

ライブコピーでサイトを作成する際には、ブループリント設定を作成して MSM のすべての機能セットを使用できるようにすると便利です。

NOTE
「権限」タブの CUG をブループリントからライブコピーにロールアウトすることはできません。ライブコピーを設定する際には、この点を考慮してください。

コンポーネントとコンテナの同期 components-and-container-synchronization

一般に、MSM でのコンポーネントの同期に関するロールアウトルールは次のとおりです。

  • コンポーネントは、ブループリントに含まれるリソースを同期してロールアウトされます。
  • コンテナは、現在のリソースのみを同期します。

つまり、コンポーネントは集計として扱われ、ロールアウトでは、コンポーネント自体とそのすべての子がブループリント内の子に置き換えられます。つまり、そのようなコンポーネントにリソースがローカルで追加されると、ロールアウト時に失われ、ブループリントのコンテンツに置き換えられます。

コンポーネントのネストをサポートするには、そうしたローカルで追加されたコンポーネントがロールアウトで維持され、そのコンポーネントがコンテナとして宣言される必要があります。例えば、デフォルトの parsys をコンテナとして宣言し、ローカルに追加されたコンテンツをサポートできるようにします。

NOTE
プロパティ cq:isContainer をコンポーネントに追加し、コンテナとして指定します。

サイトの作成 create-site

AEM でライブコピーを作成する方法は、主に次の 2 つです。

  • ライブコピーの作成

    これは、より一般的なアプローチであり、任意のページからライブコピーを作成できます。ライブコピーのコンテンツ構造はソースと完全に一致します。

  • サイトの作成

    これは、主に多言語構造を持つ web サイトを作成するための、より専門的なアプローチです。

サイトを作成する際に留意する点のいくつかを次に示します。

  • サイトを作成するには、ブループリント設定が必要です。

  • 新しいサイトに作成する言語のパスの選択を許可するには、対応する言語ルートがブループリント(ソース)内に存在する必要があります。

  • 新しいサイトをライブコピーとして作成作成 ​を使用し、その後​ サイト ​を使用)すると、そのライブコピーの最初の 2 つのレベルは​ シャロー ​になります。ページの子はライブ関係には属しませんが、トリガーに一致するライブ関係が見つかった場合には引き続きロールアウトが引き継がれます。

    次のことがおこなわれるのを防ぎます。

    • ブループリント(最初のレベルの下)に言語を手動で追加する
    • 言語ルートの直下にコンテンツを手動で追加する
    • ロールアウト時にこの新しいコンテンツがライブコピーに自動的に持ち越される結果にならない

MSM と多言語の Web サイト msm-and-multilingual-websites

MSM は、次の 2 つの方法で多言語 Web サイトを作成するために役立ちます。

  • 言語メインの作成時

    • MSM 自体に​ コンテンツ翻訳機能は備わっていません ​が、翻訳に対応したサードパーティの翻訳コネクタと統合できます。以下の点に注意してください。

      • MSM では、ページレベルやコンポーネントレベルで継承をキャンセルできます。これにより、次回ロールアウト時にライブコピーの翻訳済みコンテンツがブループリントの未翻訳コンテンツで上書きされるのを防止できます。

      • 一部のサードパーティの翻訳コネクタでは、この MSM の継承の管理が自動化されます。

        詳しくは、翻訳サービスプロバイダーにお問い合わせください。

      • 言語マスターを作成して翻訳する代わりに、言語コピーを AEM の標準翻訳統合フレームワークと組み合わせて使用することもできます。

  • 言語マスターからのコンテンツのロールアウト時

    • 例えば、フランス語の言語メインから国別のサイト(フランス/フランス語、カナダ/フランス語、スイス/フランス語など)にロールアウトできます。

詳しくは、多言語サイトのコンテンツの翻訳および翻訳のベストプラクティスを参照してください。

構造の変更とロールアウト structure-changes-and-rollouts

ブループリントやソースツリー内のコンテンツ構造の変更は、ライブコピーへの反映のされ方が異なります。これは、変更の内容によって変わります。

  • ブループリントに新しいページを​ 作成 ​すると、標準のロールアウト設定を使用したロールアウト後に、対応するページがライブコピーに作成されます。

  • ブループリント内のページを​ 削除 ​すると、標準のロールアウト設定を使用したロールアウト後に、対応するページがライブコピーから削除されます。

  • ブループリント内のページを​ 移動 ​しても、標準のロールアウト設定を使用したロールアウト後に、ライブコピー内の対応するページは移動し​ ません

    • この動作になる理由は、ページの移動にはページの削除が暗黙的に含まれているからです。つまり、オーサー環境でページを削除すると、パブリッシュ環境の対応するコンテンツが自動的にアクティベート解除されることになり、結果として、パブリッシュ環境で予期しない動作が発生する可能性があります。これは、リンクやブックマークなどの関連項目にも影響することがあります。
    • それぞれのライブコピーページにおけるコンテンツの継承は更新され、ブループリントのソースの新しい場所が反映されます。
    • ブループリントからライブコピーへのページ移動を完全に実現するには、次のベストプラクティスを検討してください。
NOTE
これはロールアウト時のトリガーでのみ動作します。
  • カスタムロールアウト設定を作成します。

    • この新しい設定には、 アクションを含める必要があります。

      PageMoveAction

      この設定に他のアクションを追加しないでください。

  • 新しい設定を配置します。

    • ページ移動を完全にロールアウトするときに、ライブコピー内の各ページをそれぞれ古い場所から削除する場合:

      • 新規に作成した設定を標準ロールアウト設定の前に配置します。

        古い場所にあるページは、標準ロールアウト設定に基づいて削除されます。

    • ページ移動をロールアウトするときに、ライブコピー内の各ページを古い場所に維持する場合(つまりコンテンツを複製する):

      • 新規に作成した設定を標準ロールアウト設定の後に配置します。

        これにより、ライブコピー内のコンテンツが削除されたり、発行からアクティベート解除されたりすることはありません。

ロールアウトのカスタマイズ customizing-rollouts

MSM ロールアウト設定は高度なカスタマイズが可能です。ロールアウトの自動化は、大きな影響を及ぼす可能性があります。ベストプラクティスとして、次のような場合はきわめて慎重に事前計画を立てるようにしてください​

  • onModify トリガーなどを使用してロールアウトを自動化する場合
  • ノードタイプ/プロパティをカスタマイズする場合
  • 後続のワークフローを開始する場合
  • ロールアウトの一環としてコンテンツをアクティベートする場合

onModify onmodify

ロールアウトトリガー onModify を使用する際には、次の点に留意してください。

  • onModify トリガーを使用したロールアウトの自動化は、オーサリングのパフォーマンスに悪影響を及ぼす場合があります。これは、ページ変更のたびにロールアウトがトリガーされるためです​

  • ロールアウトの結果は、次のように予想に反する場合があります。

    • 結果の変更イベントの順序は指定できません。
    • イベントベースのアーキテクチャでは、ロールアウトマネージャーに渡されるイベントの順序は保証されません。
  • このようなロールアウト設定を使用すると、同じリソースの同時更新が発生した場合にコミットが競合する可能性があります。

そのため、onModify トリガーは、発生する可能性があるパフォーマンス問題よりも自動ロールアウトのメリットの方が大きい場合に​ のみ ​使用することをお勧めします。

ノードタイプ/プロパティ node-types-properties

次のことに留意してください。

  • MSM では、ロールアウトアクションのカスタマイズに加えて、ロールアウトするノードプロパティのカスタマイズも可能です。MSM の OSGi 設定では、ソースからライブコピーにコピーするノードタイプを除外できます

その他の情報 further-information

このページ以降に、関連する問題を示します。

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2