AEM as a Cloud Service でのオーバーレイ overlays-in-aem
Adobe Experience Manager as a Cloud Service では、オーバーレイの原則を使用して、コンソールやその他の機能(ページオーサリングなど)の拡張やカスタマイズが可能です。
オーバーレイは様々なコンテキストで使用される用語です。AEM as a Cloud Service を拡張するというこのコンテキストにおいて、オーバーレイとは、事前定義済みの機能に対して独自の定義を強制的に付加することで、標準の機能をカスタマイズすることを意味します。
標準インスタンスでは、定義済みの機能は /libs
下に保持され、(リソースを解決する検索パスを使用して)/apps
分岐の下にオーバーレイ(カスタマイズ)を定義することをお勧めします。
-
タッチ対応ユーザーインターフェイスは Granite 関連のオーバーレイを使用します。
-
方法
-
/apps
の下に適切な/libs
構造を再構築します。この再構築には、1:1 コピーは不要です。Sling Resource Merger は、必要な元の定義を相互参照するのに使用されるからです。Sling Resource Merger は、差分メカニズムによってリソースにアクセスおよびマージするサービスを提供します。
-
/apps
の下に、変更を加えます。
-
-
メリット
/libs
以下の変更に対する堅牢性が高まります。- 必須項目のみを再定義します。
-
オーバーレイは、変更が多い場合に推奨されるメソッドです。例えば、コンソールの設定またはサイドパネルのアセットブラウザーへの選択カテゴリの作成(ページのオーサリング時に使用)です。必要な理由は次のとおりです。
-
/libs
分岐で変更を加えることは できません
この分岐は、インスタンスにアップグレードが適用されるたびに変更される可能性が高く、その際に変更内容が失われる場合があるからです。 -
オーバーレイにより、変更を 1 箇所に集中させることができるため、必要に応じて変更の追跡、移行、バックアップまたはデバッグを実行しやすくなります。
検索パス search-paths
AEM は、検索パスを使用して、(デフォルトでは)最初に /apps
分岐、次に /libs
分岐の順に検索してリソースを見つけます。このメカニズムにより、/apps
のオーバーレイ(およびそこに定義されているカスタマイズ)が優先されることになります。
オーバーレイの場合、配信されるリソースは、取得されたリソースとプロパティの集合体で、OSGi 設定で定義されている検索パスに応じます。