クラウドサービス設定

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

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

概念

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

  • サービス/アダプタは、構成を取得するために使用されます。
  • 設定(例えば、プロパティ/段落)は親から継承されます。
  • 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 タグの前に)含まれるページ上のコンポーネントが含まれます。
Adobe AnalyticsとAdobe Targetの場合、これを使用して、訪問者の行動を追跡する JavaScript 呼び出しなどの追加機能を含めます。
description サービスの簡単な説明。
descriptionExtended サービスの詳細な説明。
ranking リストに使用するサービスランキング。
selectableChildren 設定をページのプロパティダイアログに表示するためのフィルター。
serviceUrl サービス Web サイトへの URL。
serviceUrlLabel サービス URL のラベル。
thumbnailPath サービスのサムネールへのパス。
visible ページプロパティダイアログでの表示デフォルトで表示(オプション)

ユースケース

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

メモ

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

このページ