MSM のベストプラクティス msm-best-practices
一般 general
MSM は、コンテンツのデプロイメントを自動化するための設定可能なフレームワークです。多くの場合、実装は Web サイトの主要な部分に影響を及ぼし、複数の組織や地域にわたって行われます。したがって、web サイトの計画時と同様に、慎重に MSM の実装を計画することを強くお勧めします。
- 実装を開始する前に、入念に 構造およびコンテンツのフローを計画 してください。
- 最小限必要なカスタマイズだけを行ってください。 MSM では高度なカスタマイズ(ロールアウト設定など)がサポートされていますが、通常はカスタマイズを最小限に抑えることが web サイトのパフォーマンス、信頼性、アップグレード可能性を確保するためのベストプラクティスです。
- ガバナンス モデルを早期に確立し、成功に導くための適切なユーザートレーニングを実施してください。多くの場合、ガバナンスの観点から見たベストプラクティスは、ローカルのコンテンツプロデューサーの権限を最小限に抑え、コンテンツを他のローカルユーザーやそれぞれのライブコピーに分散および接続することです。継承の連鎖が管理されていないと、MSM の構造がより複雑になり、パフォーマンスと信頼性が損なわれる可能性があるからです。
- 構造、コンテンツのフロー、自動化およびガバナンスの計画を立てた後は、プロトタイプを作成し、システムのテストを十分に行って から、本番の実装を開始してください。
- MSM を使用したコンテンツ自動化の計画および実装の経験が豊富な アドビのコンサルティングと一流のシステムインテグレーター が MSM プロジェクトの導入や実装全般を支援します。
ライブコピーのソースとブループリント設定 live-copy-sources-and-blueprint-configurations
ライブコピーは通常のページまたはブループリント設定を使用して作成できます。どちらも有効なユースケースです。
ブループリント設定を使用するメリットは次のとおりです。
- 作成者がブループリントで「ロールアウト」オプションを使用して、このブループリントから継承されるライブコピーに変更を明示的にプッシュできるようにします。
- 作成者は「サイトを作成」を使用して、簡単に言語を選択し、ライブコピーの構造を設定できるようにします。
- ブループリントと関係があるライブコピーのデフォルトのロールアウト設定を定義できます。
ブループリント設定が参照されない場合、ロールアウトはライブコピー自体からのみ開始でき、基本的にはソースからコンテンツを引っ張ってきます。
ライブコピーでサイトを作成する際には、ブループリント設定を作成して MSM のすべての機能セットを使用できるようにすると便利です。
コンポーネントとコンテナの同期 components-and-container-synchronization
一般に、MSM でのコンポーネントの同期に関するロールアウトルールは次のとおりです。
- コンポーネントは、ブループリントに含まれるリソースを同期してロールアウトされます。
- コンテナは、現在のリソースのみを同期します。
つまり、コンポーネントは集計として扱われ、ロールアウトでは、コンポーネント自体とそのすべての子がブループリント内の子に置き換えられます。つまり、このようなコンポーネントにローカルでリソースが追加された場合、そのリソースはロールアウト時にブループリントのコンテンツに失われます。
コンポーネントのネストをサポートするには、そうしたローカルで追加されたコンポーネントがロールアウトで維持され、そのコンポーネントがコンテナとして宣言される必要があります。
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
ブループリントやソースツリー内のコンテンツ構造の変更は、ライブコピーへの反映のされ方が異なります。これは、変更の内容によって変わります。
-
ブループリントに新しいページを 作成 すると、標準のロールアウト設定を使用したロールアウト後に、対応するページがライブコピーに作成されます。
-
ブループリント内のページを 削除 すると、標準のロールアウト設定を使用したロールアウト後に、対応するページがライブコピーから削除されます。
-
ブループリント内のページを 移動 すると、標準のロールアウト設定を使用したロールアウト後に、ライブコピー内の対応するページは移動 されません。
-
この動作になる理由は、ページの移動にはページの削除が暗黙的に含まれているからです。つまり、オーサー環境でページを削除すると、パブリッシュ環境の対応するコンテンツが自動的にアクティベート解除されることになり、結果として、パブリッシュ環境で予期しない動作が発生する可能性があります。これは、リンクやブックマークなどの関連項目にも影響することがあります。
- それぞれのライブコピーページにおけるコンテンツの継承は更新され、ブループリントのソースの新しい場所が反映されます。
- ブループリントからライブコピーにページ移動を完全に実現するには、ページ移動のベストプラクティスを検討してください。
-
ページ移動のベストプラクティス page-move
ライブコピーでページを移動する場合は、次のベストプラクティスを考慮してください。
-
カスタムロールアウト設定を作成します。
- この新しい設定には、
PageMoveAction
アクションを含める必要があります。 - この設定に他のアクションを追加しないでください。
- この新しい設定には、
-
新しい設定を配置します。
-
ページ移動を完全にロールアウトするときにライブコピー内の各ページをそれぞれ古い場所から削除する場合:
- 作成した設定を標準ロールアウト設定の前に配置します。古い場所にあるページは、標準ロールアウト設定に基づいて削除されます。
- ページ移動をロールアウトするときに、ライブコピー内の各ページをそれぞれ古い場所に維持する場合(つまりコンテンツを複製する):
- 作成した設定を標準ロールアウト設定の後に配置します。これにより、ライブコピー内のコンテンツが削除されたり、パブリッシュ環境からアクティベートが解除されたりすることはありません。
-
ロールアウトのカスタマイズ customizing-rollouts
MSM ロールアウト設定は高度なカスタマイズが可能です。ロールアウトの自動化は、大きな影響を及ぼす可能性があります。ベストプラクティスとして、次のアクティビティを行う前に、十分に入念に計画する必要があります。
- onModify トリガーを使用したロールアウトの自動化
- ノードタイプ/プロパティのカスタマイズ
- 後続のワークフローを開始する
- ロールアウトの一部としてのコンテンツのアクティブ化する
onModify onmodify
ロールアウトトリガー onModify
を使用する際には、次の点に留意してください。
-
onModify
トリガーを使用したロールアウトの自動化は、オーサリングのパフォーマンスに悪影響を及ぼす場合があります。これは、ページ変更のたびにロールアウトがトリガーされるためです。 -
ロールアウトの結果は、次のように期待される結果とは異なる場合があります。
- 結果の変更イベントの順序は指定できません。
- イベントベースのアーキテクチャでは、ロールアウトマネージャーに渡されるイベントの順序は保証されません。
-
このようなロールアウト設定を使用すると、同じリソースの同時更新が発生した場合に、コミットの競合が発生する可能性があります。
したがって、onModify
トリガーを使用するのは、発生する可能性があるパフォーマンス問題よりも自動ロールアウトのメリットのほうが大きい場合のみにすることをお勧めします。
ノードタイプ/プロパティ node-types-properties
MSM では、ロールアウトアクションのカスタマイズに加えて、ロールアウトするノードプロパティのカスタマイズも可能です。MSM の OSGi 設定では、ソースからライブコピーにコピーするノードタイプを除外できます。
その他の情報 further-information
MSM とライブコピーについて詳しくは、次の記事を参照してください。