AEM設定は、AEMの設定を管理し、ワークスペースとして機能します。
設定は、2つの異なる視点から考察できます。
まとめ:管理者の表示上、設定とは、AEMで設定を管理するワークスペースの作成方法を指します。一方、開発者は、AEMがリポジトリ内でこれらの設定を使用および管理する方法を理解する必要があります。
設定は、ユーザーの視点に関係なく、AEMでは2つの主な目的を果たします。
AEM管理者と作成者は、設定をワークスペースと見なすことができます。 これらのワークスペースは、これらの機能のアクセス権を実装することで、組織の目的のために、設定のグループと関連するコンテンツをまとめて収集するのに使用できます。
設定は、AEM内の多くの異なる機能に対して作成できます。
例えば、管理者が編集可能なテンプレートの2つの設定を作成できます。
その後、WKND-General設定を使用して一般的なページテンプレートを作成し、WKND-Magazineの下の雑誌専用のテンプレートを作成できます。
その後、管理者はWKND-GeneralをWKNDサイトのすべてのコンテンツに関連付けることができます。 ただし、WKND-Magazine設定は、雑誌サイトにのみ関連付けられます。
次の操作を行います。
編集可能なテンプレートだけでなく、クラウド設定、ContextHubセグメント、コンテンツフラグメントモデルに対しても同様の設定が可能です。
設定ブラウザを使用すると、管理者はAEMの設定に対するアクセス権を簡単に作成、管理および設定できます。
ユーザーにadmin
権限がある場合にのみ、設定ブラウザーを使用して設定を作成できます。 admin
アクセス権を設定に割り当てたり、設定を変更したりするには、権限も必要です。
設定ブラウザーを使用してAEMで新しい設定を作成する方法は、非常に簡単です。
AEMにCloud Serviceとしてログインし、メインメニューでツール -> 一般 -> 構成ブラウザーを選択します。
「作成」をタップまたはクリックします。
設定にタイトルと名前を指定します。
許可する設定のタイプを確認します。
「作成」をタップまたはクリックします。
構成は入れ子にできます。
設定をワークスペースと考える場合、これらの設定にアクセス権を設定して、それらのワークスペースにアクセスできるユーザーとアクセスできないユーザーを強制できます。
AEMにCloud Serviceとしてログインし、メインメニューでツール -> 一般 -> 構成ブラウザーを選択します。
変更する設定を選択し、ツールバーのプロパティをタップまたはクリックします。
設定に追加する追加機能を選択します
設定が作成された後は、フィーチャの選択を解除することはできません。
有効な権限ボタンを使用して、ロールの一覧と、現在設定されている設定に対する権限を表示します。
新しい権限を割り当てるには、「新しい権限」セクションの「ユーザーまたはグループを選択」フィールドにユーザーまたはグループ名追加を入力します。
オートコンプリートの結果から適切なユーザーまたは役割を選択します。
選択したユーザーまたはロールに必要なアクセスオプションを確認し、追加をクリックします。
手順を繰り返して、ユーザーまたはロールを選択し、必要に応じて追加のアクセス権を割り当てます。
終了したら、「保存して閉じる」をタップまたはクリックします。
開発者として、Cloud ServiceとしてのAEMの設定との連携、および設定解決の処理方法を知ることが重要です。
管理者とユーザーは、設定を職場と考えて異なる設定やコンテンツを管理できますが、設定とコンテンツはリポジトリ内のAEMで別々に保存および管理されることを理解することが重要です。
/content
はすべてのコンテンツのホームページです。/conf
は、すべての設定のホームページです。コンテンツはcq:conf
プロパティを介して関連する設定を参照します。 AEMは、コンテンツとコンテキストcq:conf
プロパティに基づいてルックアップを実行し、適切な設定を見つけます。
この例では、DAM設定に関心のあるアプリケーションコードがあるとします。
Conf conf = resource.adaptTo(Conf.class);
ValueMap imageServerSettings = conf.getItem("dam/imageserver");
String bgkcolor = imageServerSettings.get("bgkcolor", "FFFFFF");
すべての設定参照の開始点は、コンテンツリソースで、通常は/content
の下に配置されます。 これは、ページ、ページ内のコンポーネント、アセット、またはDAMフォルダーの場合があります。 これは、この状況で適用される適切な設定を探している実際のコンテンツです。
Conf
オブジェクトを用意したら、特定の設定項目を取得できます。 この場合、dam/imageserver
です。これはimageserver
に関連する設定の集まりです。 getItem
呼び出しはValueMap
を返します。 次に、bgkcolor
文字列プロパティを読み取り、プロパティ(または設定項目全体)が存在しない場合に備えて、デフォルト値の「FFFFF」を指定します。
次に、対応するJCRコンテンツを見てみましょう。
/content/dam/wknd
+ jcr:content
- cq:conf = "/conf/wknd"
+ image.png [dam:Asset]
/conf/wkns
+ settings
+ dam
+ imageserver [cq:Page]
+ jcr:content
- bgkcolor = "FF0000"
この例では、WKND固有のDAMフォルダーと、対応する設定があると仮定します。 このフォルダー/content/dam/wknd
から始まると、サブツリーに適用する設定を参照するcq:conf
という名前の文字列プロパティがあることがわかります。 このプロパティは通常、アセットフォルダーまたはアセットページのjcr:content
に設定されます。 これらのconf
リンクは明示的なので、CRXDE内のコンテンツを見るだけで簡単にリンク先を追うことができます。
/conf
の中に飛び込み、参照をたどって/conf/wknd
ノードがあるのが見えます。 これは設定です。 この参照は、アプリケーションコードに対して完全に透過的であることに注意してください。 この例のコードは、専用の参照を持たないので、Conf
オブジェクトの背後に隠れています。 どの設定が適用されるかは、JCRコンテンツを介して完全に制御されます。
この設定には、実際の項目を含む固定名のsettings
ノードが含まれています。この例では、dam/imageserver
が必要です。 このようなアイテムは「設定ドキュメント」と考えることができ、通常はjcr:content
を含むcq:Page
で表されます。
最後に、サンプルコードに必要なプロパティbgkcolor
が表示されます。 getItem
から戻るValueMap
は、ページのjcr:content
ノードに基づいています。
上記の基本的な例は、1つの設定を示しています。 しかし、デフォルトのグローバル設定、ブランドごとに異なる設定、サブプロジェクト用に特定の設定など、多くの場合、異なる設定を使用したいと思われます。
これをサポートするために、AEMでの設定参照には継承とフォールバックのメカニズムが次の優先順に用意されています。
/conf/<siteconfig>/<parentconfig>/<myconfig>
cq:conf
から/content
のどこかで参照された特定の設定/conf/<siteconfig>/<parentconfig>
/conf/<siteconfig>
/conf/global
admin
ロールによって設定/apps
/libs
AEMの設定は、Sling Context-Aware設定に基づいています。 Slingバンドルには、コンテキストに応じた設定の取得に使用できるサービスAPIが用意されています。 コンテキスト対応構成とは、前の例で説明したように、コンテンツリソースまたはリソースツリーに関連する構成です。
コンテキスト対応の設定、例、およびその使用方法の詳細については、Slingのドキュメントを参照してください。
デバッグおよびテストの目的で、ConfMgr Webコンソールがhttps://<host>:<port>/system/console/conf
にあり、これは特定のパス/項目の設定を示すことができます。
以下を提供するだけです。
解決をクリックして、解決される構成を確認し、それらの構成を解決するサンプルコードを受け取ります。
デバッグおよびテストの目的で、Context-Aware Configuration Webコンソールがhttps://<host>:<port>/system/console/slingcaconfig
にあります。これにより、リポジトリ内のコンテキスト対応設定にクエリーを実行し、そのプロパティを表示できます。
以下を提供するだけです。
「Resolve」をクリックして、選択した構成に関連付けられたコンテキストパスとプロパティを取得します。