雲端服務設定 cloud-service-configurations
設定旨在提供儲存服務設定的邏輯和結構。
您可以擴充現有執行個體來建立自己的設定。
概念 concepts
開發組態時採用的原則以下列概念為基礎:
- 服務/介面卡用於擷取組態。
- 設定(例如屬性/段落)繼承自父項。
- 依路徑從Analytics節點參照。
- 可輕鬆擴充。
- 具有彈性以因應更複雜的組態,例如Adobe Analytics。
- 相依性支援(例如,Adobe Analytics外掛程式需要Adobe Analytics設定)。
結構 structure
設定的基本路徑為:
/etc/cloudservices
。
對於每種設定型別,都會提供範本和元件。 如此一來,設定範本就能在客製化後滿足大部分的需求。
若要提供新服務的組態,請執行下列動作:
-
在中建立服務範圍
/etc/cloudservices
-
在此底下:
- 設定範本
- 設定元件
範本和元件必須繼承基底範本的sling:resourceSuperType
:
cq/cloudserviceconfigs/templates/configpage
或基礎元件分別使用
cq/cloudserviceconfigs/components/configpage
服務提供者也應該提供服務頁面:
/etc/cloudservices/<service-name>
範本 template
您的範本會擴充基礎範本:
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
元件 components
您的元件應擴充基礎元件:
cq/cloudserviceconfigs/templates/configpage
/libs/cq/analytics/components/sitecatalystpage
/libs/cq/analytics/components/generictrackerpage
設定範本和元件後,您可以在下方新增子頁面以新增設定:
/etc/cloudservices/<service-name>
內容模型 content-model
內容模型儲存為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
如需API的參考檔案,請參閱com.day.cq.wcm.webservicesupport。
AEM整合 aem-integration
可用的服務列在 頁面屬性 對話方塊(繼承自foundation/components/page
或wcm/mobile/components/page
的任何頁面)的 Cloud Service 索引標籤中。
標籤也提供:
- 您可啟用服務之位置的連結
- 從路徑欄位選擇設定(服務的子節點)
密碼加密 password-encryption
儲存服務的使用者認證時,所有密碼都應該加密。
您可以新增隱藏的表單欄位來達成此目的。 此欄位的屬性名稱中應該有註解@Encrypted
;也就是說,對於password
欄位,名稱將寫成:
password@Encrypted
然後EncryptionPostProcessor
會自動加密屬性(使用CryptoSupport
服務)。
[SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html)
註解類似。EcryptionPostProcessor
只會加密對/etc/cloudservices
提出的POST
個請求。服務頁面的其他屬性jcr:content節點 additional-properties-for-service-page-jcr-content-nodes
使用案例 use-cases
預設會提供下列服務:
- 追蹤器代碼片段 (Google、WebTrends等)
- Adobe Analytics
- Test&Target