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構造を再構築します。この再構築では、Sling Resource Mergerを使用して必要な元の定義を相互参照するため、1:1のコピーは必要ありません。 Sling Resource Merger は、差分メカニズムによってリソースにアクセスおよびマージするサービスを提供します。
-
/appsの下に、変更を加えます。
-
-
メリット
/libs以下の変更に対する堅牢性が高まります。- 必須項目のみを再定義します。
-
オーバーレイは、変更が多い場合に推奨されるメソッドです。 例えば、コンソールの設定またはサイドパネルのアセットブラウザーへの選択カテゴリの作成(ページのオーサリング時に使用)です。 必要な理由は次のとおりです。
-
/libsブランチでは、はを変更しません
このブランチは、インスタンスにアップグレードが適用されるたびに変更される可能性があるので、行った変更はすべて失われる可能性があります。 -
オーバーレイにより、変更を 1 箇所に集中させることができるため、必要に応じて変更の追跡、移行、バックアップまたはデバッグを実行しやすくなります。
検索パス search-paths
AEM は、検索パスを使用して、(デフォルトでは)最初に /apps 分岐、次に /libs 分岐の順に検索してリソースを見つけます。 このメカニズムにより、/apps のオーバーレイ(およびそこに定義されているカスタマイズ)が優先されることになります。
オーバーレイの場合、配信されるリソースは、取得されたリソースとプロパティの集合体で、OSGi 設定で定義されている検索パスに応じます。