設定と設定ブラウザー configuration-browser
Adobe Experience Manager(AEM)設定は、設定の管理を可能にし、ワークスペースとして機能します。
設定とは what-is-a-configuration
設定には、2 つの異なる観点があります。
まとめ:管理者の観点からの設定とは、AEM で設定を管理するワークスペースの作成方法を指します。一方、デベロッパーは、AEM がリポジトリー内でこれらの設定を使用および管理する方法を理解する必要があります。
設定は、上記の観点に関係なく、AEM で 2 つの主な目的を果たします。
- 設定により、特定のユーザーグループに対して特定の機能が有効になります。
- 設定によって、これらの機能のアクセス権が定義されます。
管理者にとっての設定 configurations-administrator
AEM 管理者と作成者は、設定をワークスペースとして見なすことができます。ワークスペースは、機能にアクセス権を実装することで、組織の目的のために設定グループや関連するコンテンツをまとめるために使用できます。
設定は、AEM 内の多くの異なる機能に対して作成できます。
- ContextHub セグメント
- コンテンツフラグメントモデル
- 編集可能なテンプレート
- 各種クラウド設定
例 administrator-example
例えば、管理者は編集可能なテンプレートの 2 つの設定を作成できます。
- WKND-General
- WKND-Magazine
WKND-General の設定を使用して一般的なページテンプレートを作成し、WKND-Magazine の設定で雑誌専用のテンプレートを作成できます。
WKND-General を WKND サイトのすべてのコンテンツに関連付けることができますが、WKND-Magazine は、雑誌サイトにのみ関連付けられます。
これににより、次のことができます。
- 見開きのページを作成する際、コンテンツ作成者は一般テンプレート(WKND-General)または見開きテンプレート(WKND-Magazine)から選択できます。
- 見開き以外のサイトの別の部分に対してページを作成する場合は、一般テンプレート(WKND-General)のみを選択できます。
編集可能なテンプレートだけでなく、クラウド設定、ContextHub セグメント、コンテンツフラグメントモデルに対しても同様の設定が可能です。
設定ブラウザーの使用 using-configuration-browser
設定ブラウザーを使用すると、管理者は AEM 設定に対するアクセス権を簡単に作成、管理、設定できます。
admin
権限を持っている場合は、設定ブラウザーを使用して設定を作成できます。こうした admin
権限は、アクセス権を設定に割り当てたり、設定を変更したりする場合にも必要です。設定の作成 creating-a-configuration
設定ブラウザーを使用すると、AEM で設定を簡単に作成できます。
-
AEM as a Cloud Service にログインし、メインメニューで ツール/一般/設定ブラウザー を選択します。
-
「作成」を選択します。
-
設定に タイトル と 名前 を指定します。
-
タイトル は内容がわかるように付けます。
-
名前 はリポジトリ内のノード名になります。
- タイトルに基づいて自動的に生成され、AEM の命名規則に従って調整されます。
- 必要に応じて調整できます。
-
-
許可する設定のタイプを確認します。
- ContextHub セグメント
- コンテンツフラグメントモデル
- 編集可能なテンプレート
- 各種クラウド設定
-
「作成」を選択します。
設定とそのアクセス権の編集 access-rights
設定をワークスペースと考える場合、これらの設定にアクセス権を設定して、それらのワークスペースにアクセスできるユーザーとアクセスできないユーザーを指定することができます。
-
AEM as a Cloud Service にログインし、メインメニューで ツール/一般/設定ブラウザー を選択します。
-
編集する設定を選択し、ツールバーの「プロパティ」を選択します。
-
設定に追加する機能を選択します。
note note NOTE 設定の作成後は、機能の選択を解除することはできません。 -
「有効な権限」ボタンを使用すると、役割の一覧と、現在設定されている設定に対する権限が表示されます。
-
新しい権限を割り当てるには、新しい権限の追加 セクションの「ユーザーまたはグループを選択」フィールドにユーザーまたはグループ名を入力します。
- 「ユーザーまたはグループを選択」フィールドは、既存のユーザーと役割に基づいて自動入力されます。
-
オートコンプリートの結果から適切なユーザーまたは役割を選択します。
- 複数のユーザーまたは役割を選択できます。
-
選択した 1 人以上のユーザーまたは役割のアクセスオプションをチェックし、「追加」をクリックします。
-
これらの手順を繰り返してユーザーまたは役割を選択し、必要に応じて追加のアクセス権を割り当てます。
-
完了したら「保存して閉じる」を選択します。
デベロッパーにとっての設定 configurations-developer
デベロッパーは、AEM as a Cloud Service と設定との連携、および設定の処理方法を知ることが重要です。
設定とコンテンツの分離 separation-of-config-and-content
管理者とユーザーは、設定を、異なる設定やコンテンツを管理するためのワークスペースと考るかもしれませんが、AEM では設定とコンテンツはリポジトリー内で別々に保存および管理されることを理解しておくことが重要です。
/content
はすべてのコンテンツのホームページです。/conf
はすべての設定のホームです。
コンテンツは、cq:conf
プロパティ経由で関連する設定を参照します。AEM は、コンテンツとそのコンテキストの cq:conf
プロパティに基づいてルックアップを実行し、適切な設定を見つけます。
例 developer-example
この例では、DAM 設定に関するアプリケーションコードがあるとします。
Conf conf = resource.adaptTo(Conf.class);
ValueMap imageServerSettings = conf.getItem("dam/imageserver");
String bgkcolor = imageServerSettings.get("bgkcolor", "FFFFFF");
すべての設定のルックアップの開始点は、/content
の下にあるコンテンツリソースです。これは、ページ、ページ内のコンポーネント、アセット、または DAM フォルダーで、この状況で適用される適切な設定を探している実際のコンテンツです。
Conf
オブジェクトを用意したら、関心のある特定の設定項目を取得できます。ここでは、imageserver
に関連する設定の集まりである dam/imageserver
となります。getItem
を呼び出すと ValueMap
が返されます。次に、bgkcolor
文字列プロパティを読み取り、プロパティ(または設定項目全体)が存在しない場合に備えて、デフォルト値の「FFFFFF」を指定します。
次に、対応する JCR コンテンツを見てみましょう。
/content/dam/wknd
+ jcr:content
- cq:conf = "/conf/wknd"
+ image.png [dam:Asset]
/conf/wknd
+ 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 コンテンツを介して制御されます。
この設定には、このケースで必要な dam/imageserver
など、実際の項目を含む固定名の settings
ノードが含まれています。このような項目は「設定ドキュメント」と考えることができ、実際のコンテンツを保持する jcr:content
を含む cq:Page
で表されます。
さらに、このサンプルコードに必要なプロパティ bgkcolor
が表示されます。getItem
から返される ValueMap
は、ページの jcr:content
ノードに基づいています。
設定の解決 configuration-resolution
上記の基本的な例は、1 つの設定を示しています。ただし、デフォルトのグローバル設定、ブランドごとに異なる設定、サブプロジェクトごとの設定など、さまざまな設定が必要な場合は多々あります。
これをサポートするために、AEM での設定のルックアップには継承とフォールバックのメカニズムが次の優先順で用意されています。
-
/conf/<siteconfig>/<parentconfig>/<myconfig>
cq:conf
から/content
のどこかで参照された特定の設定- 階層は任意であり、サイト設定と同様にデザインできます。階層はアプリケーションコードには知らされません。
- 設定の権限を持つユーザーが実行時に変更可能
-
/conf/<siteconfig>/<parentconfig>
- 代替構成設定のために親をトラバース
- 設定の権限を持つユーザーが実行時に変更可能
-
/conf/<siteconfig>
- 代替構成設定のために親をトラバース
- 設定の権限を持つユーザーが実行時に変更可能
-
/conf/global
- システムのグローバル設定
- インストールのグローバルデフォルト
admin
の役割によって設定- 設定の権限を持つユーザーが実行時に変更可能
-
/apps
- アプリケーションのデフォルト
- アプリケーションのデプロイメントで固定
- 実行時は読み取り専用
-
/libs
- AEM 製品のデフォルト
- アドビによってのみ変更可能、プロジェクトへのアクセス許可なし
- アプリケーションのデプロイメントで固定
- 実行時は読み取り専用
設定の使用 using-configurations
AEM の設定は、Sling コンテキスト対応設定に基づいています。Sling バンドルには、コンテキスト対応設定の取得に使用できるサービス API が用意されています。コンテキスト対応設定とは、前の例で説明したように、コンテンツリソースまたはリソースツリーに関連する設定です。
コンテキスト対応設定、例、使用方法の詳細については、Sling のドキュメントを参照してください。
ConfMgr Web コンソール confmgr-web-console
デバッグおよびテストの目的で、https://<host>:<port>/system/console/conf
には ConfMgr Web コンソールがあり、特定のパス/項目の設定を表示することができます。
以下を提供するだけです。
- コンテンツのパス
- 項目
- ユーザー
「解決」をクリックすると、解決された設定を確認し、それらの設定を解決するのに役立つコードサンプルを取得できます。
コンテキスト対応設定の Web コンソール context-aware-web-console
デバッグおよびテストの目的で、https://<host>:<port>/system/console/slingcaconfig
に コンテキスト対応設定の Web コンソールがあり、リポジトリー内のコンテキスト対応設定にクエリを実行し、そのプロパティを表示できます。
以下を提供するだけです。
- コンテンツのパス
- 設定名
「解決」をクリックすると、選択した設定に関連付けられたコンテキストパスとプロパティを取得します。