設定と設定ブラウザー

AEM 設定は、AEM の設定を管理し、ワークスペースとして機能します。

設定とは

設定には、2 つの異なる観点があります。

  • 管理者は、設定グループを定義および管理するために、AEM 内のワークスペースとして AEM の設定を使用します。
  • デベロッパーは、AEM の設定を保持および参照するための設定を実装する基本的な設定メカニズムを使用します。

まとめ:管理者の観点からの設定とは、AEM で設定を管理するワークスペースの作成方法を指します。一方、デベロッパーは、AEM がリポジトリー内でこれらの設定を使用および管理する方法を理解する必要があります。

設定は、上記の観点に関係なく、AEM で 2 つの主な目的を果たします。

  • 設定により、特定のユーザーグループに対して特定の機能が有効になります。
  • 設定によって、これらの機能のアクセス権が定義されます。

管理者にとっての設定

AEM 管理者と作成者は、設定をワークスペースと見なすことができます。ワークスペースは、機能にアクセス権を実装することで、組織の目的のために設定グループや関連するコンテンツをまとめるために使用できます。

設定は、AEM 内の多くの異なる機能に対して作成できます。

例えば、管理者は編集可能なテンプレートの 2 つの設定を作成できます。

  • WKND-General
  • WKND-Magazine

WKND-General の設定を使用して一般的なページテンプレートを作成し、WKND-Magazine の設定で雑誌専用のテンプレートを作成できます。

WKND-General を WKND サイトのすべてのコンテンツに関連付けることができますが、WKND-Magazine は、雑誌サイトにのみ関連付けられます。

これににより、次のことができます。

  • 雑誌の新しいページを作成するとき、コンテンツ作成者は「一般」テンプレート(WKND-General)または「雑誌」テンプレート(WKND-Magazine)を選択できます。
  • 雑誌以外のサイトの別の部分に対して新しいページを作成する場合は、一般テンプレート(WKND-General)のみ選択できます。

編集可能なテンプレートだけでなく、クラウド設定、ContextHub セグメント、コンテンツフラグメントモデルに対しても同様の設定が可能です。

設定ブラウザーの使用

設定ブラウザーを使用すると、管理者は AEM 設定に対するアクセス権を簡単に作成、管理、設定できます。

メモ

ユーザーに admin 権限がある場合にのみ、設定ブラウザーを使用して設定を作成できます。アクセス権を設定に割り当てたり、設定を変更したりするには、admin 権限も必要です。

設定の作成

設定ブラウザーを使用して AEM で新しい設定を作成する方法は、非常に簡単です。

  1. AEM as a Cloud Service にログインし、メインメニューで​ツール一般設定ブラウザー​を選択します。

  2. 作成」をタップまたはクリックします。

  3. 設定に​タイトル​と​名前​を指定します。

    設定の作成

    • タイトル​は内容がわかるように付けます。
    • 名前​はリポジトリーのノード名になります。
      • タイトルに基づいて自動的に生成され、AEM の命名規則に従って調整されます。
      • 必要に応じて調整できます。
  4. 許可する設定のタイプを確認します。

  5. 作成」をタップまたはクリックします。

ヒント

設定は入れ子にできます。

設定とそのアクセス権の編集

設定をワークスペースと考える場合、これらの設定にアクセス権を設定して、それらのワークスペースにアクセスできるユーザーとアクセスできないユーザーを指定することができます。

  1. AEM as a Cloud Service にログインし、メインメニューで​ツール一般設定ブラウザー​を選択します。

  2. 変更する設定を選択し、ツールバーの​プロパティ​をタップまたはクリックします。

  3. 設定に追加する追加機能を選択します。

    メモ

    設定の作成後は、機能の選択を解除することはできません。

  4. 有効な権限」ボタンを使用すると、役割の一覧と、現在設定されている設定に対する権限が表示されます。
    有効な権限ウィンドウ

  5. 新しい権限を割り当てるには、新しい権限の追加​セクションの「ユーザーまたはグループを選択」フィールドにユーザーまたはグループ名を入力します。

    • ユーザーまたはグループを選択」フィールドは、既存のユーザーと役割に基づいて自動入力されます。
  6. オートコンプリートの結果から適切なユーザーまたは役割を選択します。

    • 複数のユーザーまたは役割を選択できます。
  7. 選択したユーザーまたは役割に必要なアクセスオプションを確認し、「追加」をクリックします。
    設定へのアクセス権の追加

  8. 手順を繰り返して、ユーザーまたは役割を選択し、必要に応じて追加のアクセス権を割り当てます。

  9. 終了したら、「保存して閉じる」をタップまたはクリックします。

デベロッパーにとっての設定

デベロッパーは、AEM as a Cloud Service と設定との連携、および設定の処理方法を知ることが重要です。

設定とコンテンツの分離

管理者とユーザーは、設定を、異なる設定やコンテンツを管理するためのワークスペースと考るかもしれませんが、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 文字列プロパティを読み取り、プロパティ(または設定項目全体)が存在しない場合に備えて、デフォルト値の「FFFFFF」を指定します。

次に、対応する 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 での設定の参照には継承とフォールバックのメカニズムが次の優先順で用意されています。

  1. /conf/<siteconfig>/<parentconfig>/<myconfig>
    • cq:conf から /content のどこかで参照された特定の設定
    • 階層は任意であり、サイト設定と同様にデザインできます。階層はアプリケーションコードには知らされません。
    • 設定の権限を持つユーザーが実行時に変更可能
  2. /conf/<siteconfig>/<parentconfig>
    • 代替構成設定のために親をトラバース
    • 設定の権限を持つユーザーが実行時に変更可能
  3. /conf/<siteconfig>
    • 代替構成設定のために親をトラバース
    • 設定の権限を持つユーザーが実行時に変更可能
  4. /conf/global
    • システムのグローバル設定
    • 通常、インストールのグローバルデフォルト
    • admin の役割によって設定
    • 設定の権限を持つユーザーが実行時に変更可能
  5. /apps
    • アプリケーションのデフォルト
    • アプリケーションのデプロイメントで固定
    • 実行時は読み取り専用
  6. /libs
    • AEM 製品のデフォルト
    • アドビによってのみ変更可能、プロジェクトへのアクセス許可なし
    • アプリケーションのデプロイメントで固定
    • 実行時は読み取り専用

設定の使用

AEM の設定は、Sling コンテキスト対応設定に基づいています。Sling バンドルには、コンテキスト対応設定の取得に使用できるサービス API が用意されています。コンテキスト対応設定とは、前の例で説明したように、コンテンツリソースまたはリソースツリーに関連する設定です。

コンテキスト対応設定、例、使用方法の詳細については、Sling のドキュメントを参照してください。

ConfMgr Web コンソール

デバッグおよびテストの目的で、https://<host>:<port>/system/console/conf には ConfMgr Web コンソールがあり、特定のパス/項目の設定を表示することができます。

ConfMgr

以下を提供するだけです。

  • コンテンツのパス
  • 項目
  • ユーザー

解決」をクリックして、解決される設定を確認し、それらの設定を解決するコード例を受け取ります。

コンテキスト対応設定の Web コンソール

デバッグおよびテストの目的で、https://<host>:<port>/system/console/slingcaconfig に​コンテキスト対応設定の Web コンソールがあり、リポジトリー内のコンテキスト対応設定にクエリーを実行し、そのプロパティを表示できます。

コンテキスト対応設定の Web コンソール

以下を提供するだけです。

  • コンテンツのパス
  • 設定名

解決」をクリックして、選択した設定に関連付けられたコンテキストパスとプロパティを取得します。

このページ