クラウドサービス設定

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

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

概念

設定の作成に用いられる原則は、以下の概念に基づいています。

構造

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

/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>

コンテンツモデル

The content model is stored as cq:Page under:

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

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

The configurations are stored under the subnode 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 の統合

Available services are listed in the Cloud Services tab of the Page Properties dialog (of any page that inherits from foundation/components/page or wcm/mobile/components/page).

このタブでは以下についても表示されます。

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

パスワードの暗号化

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

非表示のフォームフィールドを追加することによって、パスワードを暗号化できます。This field should have the annotation @Encrypted in the property name; i.e. for the password field the name would be written as:

password@Encrypted

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

メモ

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

メモ

By default the EcryptionPostProcessor only encrypts POST requests made to /etc/cloudservices.

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

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

ユースケース

デフォルトでは、以下のサービスが提供されます。

メモ

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

このページ