カスタマイズフレームワーク機能は、アップグレードが困難なコード(APIS など)やコンテンツ(オーバーレイなど)の拡張不能領域での違反を減らすように設計されています。
カスタマイズフレームワークには、次の 2 つのコンポーネントがあります。の API サーフェス そして コンテンツの分類.
Adobe Experience Manager(AEM) の以前のリリースでは、多くの API が Uber Jar を介して公開されていました。 これらの API の一部は、お客様による使用を想定していなかったが、バンドルをまたいでAEM機能をサポートするために公開されていた。 今後、アップグレードのコンテキストで使用して安全な API をお客様に示すために、Java™ API は「公開」または「非公開」としてマークされます。 その以外の詳細を次に示します。
Java™ API は Public
は、カスタム実装バンドルで使用および参照できます。
パブリック API は、互換性パッケージのインストールと後方互換性があります。
互換性パッケージには、後方互換性を確保するための互換性 Uber JAR が含まれています
Java™ API は Private
は、AEMの内部バンドルでのみ使用されることを目的としており、カスタムバンドルでは使用できません。
の概念 Private
および Public
このコンテキストでは、パブリッククラスおよびプライベートクラスの Java™の概念と混同しないでください。
AEMは、AEMの機能を拡張およびカスタマイズするために、長い間オーバーレイと Sling Resource Merger のプリンシパルを使用してきました。 AEMコンソールと UI を強化する事前定義済みの機能は、 /libs. 顧客は、以下の条件を変更することはありません。 /libs が /apps で定義された機能をオーバーレイして拡張するには、以下を実行します。 /libs (詳しくは、オーバーレイを使用した開発を参照してください)。 その結果、AEMをのコンテンツとしてアップグレードする際に、多くの問題が引き続き発生していました。 /libs が変更され、オーバーレイ機能が予期しない方法で壊れる場合があります。 また、 sling:resourceSuperType
または単に /libs sling:resourceType を介して直接アクセスできます。 同様のアップグレードの問題が、参照および上書きのユースケースで発生する可能性があります。
顧客がのどの領域を理解しやすく、より安全に /libs は、 /libs は、次の mixin で分類されています。
パブリック (granite:PublicArea) — ノードをパブリックとして定義し、オーバーレイ ( sling:resourceSuperType
) または直接使用 ( sling:resourceType
) をクリックします。 /libs の下のノードは、互換性パッケージを追加することで、安全にアップグレードできます。 一般に、お客様は公開としてマークされたノードのみを使用する必要があります。
抽象(granite:AbstractArea) - ノードを抽象として定義します。ノードはオーバーレイまたは継承できます ( sling:resourceSupertype
) ですが、直接 ( sling:resourceType
) をクリックします。
最終(granite:FinalArea) - ノードを最終として定義します。最終として分類されたノードは、オーバーレイまたは継承しないことが望ましいです。最終ノードは、 sling:resourceType
. 最終ノードの下のサブノードは、デフォルトで内部と見なされます。
内部(granite:InternalArea) - ノードを内部として定義します。内部として分類されるノードは、オーバーレイ、継承、直接使用しないのが理想です。 これらのノードは、AEMの内部機能のみを対象としています
注釈なし — ノードは、ツリー階層に基づいて分類を継承します。 /ルートは、デフォルトでは「パブリック」です。 親が「内部」または「最終」と分類されているノードも「内部」として扱われます。
これらのポリシーは、Sling 検索パスベースのメカニズムに対してのみ適用されます。 クライアントサイドライブラリなど /libs の他の領域は、Internal
としてマークされることがありますが、標準で clientlib を含めることで使用できます。この場合、お客様は引き続き内部分類を尊重することが重要です。
CRXDE Liteで適用された Mixin は、としてマークされたコンテンツノードとツリーを表示します INTERNAL
を灰色表示(灰色表示)にする。 の場合 FINAL
を選択した場合、アイコンのみが灰色表示になります。 これらのノードの子も淡色表示になります。 どちらの場合も、ノードをオーバーレイ機能は無効になっています。
公開
最終
内部
コンテンツヘルスチェック
AEM 6.5 以降では、パターン検出を使用してコンテンツのアクセス違反を検出することをお勧めします。パターン検出レポートの詳細化、問題の検出、偽陽性の確率の低下を図りました。
詳しくは、パターン検出を使用したアップグレードの複雑性の評価を参照してください。
AEM 6.5 には、コンテンツの分類と異なる方法でオーバーレイまたは参照されたコンテンツが使用された場合に警告するヘルスチェックが付属しています。
Sling/Granite コンテンツアクセスチェックは、リポジトリを監視して、お客様のコードが AEM の保護されたノードに誤ってアクセスしていないかどうかを確認する新しいヘルスチェックです。
このスキャン /apps とは、通常、完了するまで数秒かかります。
この新しいヘルスチェックにアクセスするには、次の手順を実行します。
AEMのホーム画面で、に移動します。 ツール/運営/ヘルスレポート
クリック Sling/Granite コンテンツアクセスチェック.
スキャンが完了すると、警告のリストが表示され、保護されたノードが不適切に参照されていることをエンドユーザーに通知します。
違反を修正すると、緑の状態に戻ります。
ヘルスチェックには、バックグラウンドサービスで収集された情報が表示されます。この情報は、オーバーレイまたはリソースタイプがすべての Sling 検索パスで使用された場合に非同期で確認されます。 コンテンツの Mixin が正しく使用されなかった場合は、違反がレポートされます。