雲端服務設定

配置設計為提供儲存服務配置的邏輯和結構。

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

概念

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

  • 服務/適配器用於檢索配置。
  • 配置(例如屬性/段落)繼承自父代。
  • 依路徑從分析節點參考。
  • 輕鬆擴充。
  • 有彈性,可應付更複雜的組態,例如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整合

可用服務列在​頁面屬性​對話方塊的​雲端服務​標籤中(繼承自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 Nodes

屬性 說明
componentReference 要自動包含在頁面中的元件的參考路徑。
這用於其他功能和JS包含。
這包括包含於頁面上的元
cq/cloudserviceconfigs/components/servicecomponents
件(通常在標籤之 body 前)。
若是Analytics和Target,我們會使用它來包含其他功能,例如追蹤訪客行為的JavaScript呼叫。
說明 服務簡短說明。
descriptionExtended 服務的擴展說明。
排名 用於清單中的服務排名。
selectableChildren 在頁面屬性對話方塊中顯示設定的篩選。
serviceUrl 服務網站的URL。
serviceUrlLabel 服務URL的標籤。
thumbnailPath 服務縮圖的路徑。
visel 頁面屬性對話方塊中的可見度;預設顯示(可選)

使用案例

這些服務預設提供:

注意

另請參閱建立自訂雲端服務

本頁內容