雲端服務設定

配置旨在提供用於儲存服務配置的邏輯和結構。

您可以擴充現有例項,以建立您自己的設定。

概念

在開發配置時使用的原則基於以下概念:

  • 服務/適配器用於檢索配置。
  • 設定(例如屬性/段落)繼承自父項。
  • 依路徑從分析節點參考。
  • 可輕鬆擴充。
  • 具有彈性,可應付更複雜的設定,例如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上。
  • 動態元素(使用parsysiparsys)使用子節點來儲存元件資料。
/etc/cloudservices/service/config/jcr:content as nt:unstructured
propertyname
*
par/component/ as cq:Component
propertyname
*

API

如需API的參考檔案,請參閱com.day.cq.wcm.webservicesupport

AEM整合

可用服務列在​頁面屬性​對話框的​Cloud Services​頁簽中(繼承自foundation/components/pagewcm/mobile/components/page的任何頁面)。

索引標籤也提供:

  • 可啟用服務的位置連結
  • 從路徑欄位中選擇配置(服務的子節點)

密碼加密

儲存服務的使用者憑證時,應加密所有密碼。

您可以新增隱藏的表單欄位來達到此目的。 此欄位的屬性名稱中應包含注釋@Encrypted;即,對於password欄位,名稱將寫為:

password@Encrypted

然後, EncryptionPostProcessor會自動加密屬性(使用CryptoSupport服務)。

注意

這類似於標準 [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呼叫。
說明 服務的簡短說明。
descriptionExtended 服務的延伸說明。
排名 用於清單的服務排名。
selectableChildren 在頁面屬性對話方塊中顯示設定的篩選。
serviceUrl 網站服務URL。
serviceUrlLabel 服務URL的標籤。
thumbnailPath 服務的縮圖路徑。
可見 頁面屬性對話方塊中的可見性;預設顯示(可選)

使用案例

預設會提供下列服務:

注意

另請參閱建立自訂Cloud Service

本頁內容