クラウドサービスの設定

最終更新日: 2023-05-04
  • トピック:
  • Developing
    このトピックの詳細を表示
  • 作成対象:
  • Developer
注意

AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

設定は、サービス設定を保存するためのロジックと構造を提供するように設計されています。

既存のインスタンスを拡張して、独自の設定を作成できます。

概念

設定の開発に使用する原則は、次の概念に基づいています。

  • サービス/アダプタは、構成を取得するために使用されます。
  • 設定(例:プロパティ/段落)は親から継承されます。
  • パスで Analytics ノードから参照されます。
  • 容易に拡張可能。
  • Adobe Analytics など、より複雑な設定に対応できる柔軟性がある。
  • 依存関係のサポート(例:Adobe Analytics プラグインには Adobe Analytics 設定)。

構造

設定のベースパスは次のとおりです。

/etc/cloudservices

設定のタイプごとに、テンプレートとコンポーネントが提供されます。これによって、カスタマイズしてから大部分のニーズを満たせる設定テンプレートを作成できます。

新しいサービス用の設定を行うには:

  • 次の場所にサービスページを作成します。

    /etc/cloudservices

  • 次の場合:

    • 設定テンプレート
    • 設定コンポーネント

テンプレートとコンポーネントは、sling:resourceSuperType をそれぞれ次の場所から継承する必要があります。ベーステンプレート:

cq/cloudserviceconfigs/templates/configpage

ベースコンポーネント:

cq/cloudserviceconfigs/components/configpage

サービスプロバイダーは、サービスページも提供する必要があります。

/etc/cloudservices/<service-name>

テンプレート

テンプレートは、基本テンプレートを拡張します。

cq/cloudserviceconfigs/templates/configpage

そして、カスタムコンポーネントを指す resourceType を定義します。

/libs/cq/analytics/templates/sitecatalyst
sling:resourceSuperType = cq/cloudserviceconfigs/templates/configpage
allowedChildren = /libs/cq/analytics/templates/sitecatalyst
allowedPaths = /etc/cloudservices/analytics/*, /etc/cloudservices/analytics/.*
componentReference = cq/analytics/components/sitecatalyst
jcr:content/
cq:designPath = /etc/designs/cloudservices
sling:resourceType = cq/analytics/components/sitecatalystpage

/libs/cq/analytics/templates/generictracker
sling:resourceSuperType = cq/cloudservices/templates/configpage
allowedChildren = /libs/cq/analytics/templates/generictracker
allowedPaths = /etc/cloudservices/analytics/*, /etc/cloudservices/analytics/.*
jcr:content/
cq:designPath = /etc/designs/cloudservices
sling:resourceType = cq/analytics/components/generictrackerpage

コンポーネント

コンポーネントは、次の基本コンポーネントを拡張する必要があります。

cq/cloudserviceconfigs/templates/configpage

/libs/cq/analytics/components/sitecatalystpage

/libs/cq/analytics/components/generictrackerpage

テンプレートとコンポーネントを設定したら、次の場所の下にサブページを追加して、設定を追加できます。

/etc/cloudservices/<service-name>

コンテンツモデル

コンテンツモデルは、次の場所の下に cq:Page として保存されます。

/etc/cloudservices/<service-name>(/*)

/etc/cloudservices
/etc/cloudservices/service-name
/etc/cloudservices/service-name/config
/etc/cloudservices/service-name/config/inherited-config

設定は、サブノード jcr:content の下に保存されます。

  • ダイアログで定義される固定プロパティは、jcr:node に直接保存する必要があります。
  • parsys または iparsys を使用する)動的要素は、サブノードを使用してコンポーネントデータを保存します。
/etc/cloudservices/service/config/jcr:content as nt:unstructured
propertyname
*
par/component/ as cq:Component
propertyname
*

API

API に関する参考ドキュメントは、com.day.cq.wcm.webservicesupport を参照してください。

AEM の統合

使用可能なサービスが、(foundation/components/page または wcm/mobile/components/page から継承されたいずれかのページの)ページのプロパティ​ダイアログの「クラウドサービス」タブに一覧表示されます。

「 」タブには次の項目も表示されます。

  • サービスを有効にできる場所へのリンク
  • パスフィールドから設定(サービスのサブノード)を選択します

パスワードの暗号化

サービスのユーザー資格情報を保存する場合は、すべてのパスワードを暗号化する必要があります。

これを行うには、非表示のフォームフィールドを追加します。 このフィールドでは、プロパティ名にアノテーション @Encrypted が必要です。すなわち、password フィールドの場合、名前は次のようになります。

password@Encrypted

すると、CryptoSupport によって、プロパティが(EncryptionPostProcessor サービスを使用して)自動的に暗号化されます。

メモ

これは、標準の [SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html) アノテーションに似ています。

メモ

デフォルトでは、EcryptionPostProcessor は、/etc/cloudservices に対する POST リクエストのみを暗号化します。

サービスページの jcr:content ノード用の追加プロパティ

プロパティ 説明
componentReference ページに自動的に含まれるコンポーネントへの参照パス。
これは、追加機能および JS インクルージョンに使用されます。
このプロパティには、
cq/cloudserviceconfigs/components/servicecomponents
 が(通常は body タグの前に)含まれるページ上のコンポーネントが含まれます。
Analytics および Target の場合、このプロパティを使用して、訪問者の行動を追跡する JavaScript 呼び出しなどの追加機能を含めます。
description サービスの簡単な説明。
descriptionExtended サービスの詳細な説明。
ranking リストに使用するサービスランキング。
selectableChildren 設定をページのプロパティダイアログに表示するためのフィルター。
serviceUrl サービス Web サイトへの URL。
serviceUrlLabel サービス URL のラベル。
thumbnailPath サービスのサムネールへのパス。
visible ページプロパティダイアログでの表示デフォルトで表示(オプション)

ユースケース

これらのサービスは、デフォルトで提供されています。

メモ

カスタムクラウドサービスの作成も参照してください。

このページ