云服务配置 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
可用服务在 Cloud Service 对话框(继承自foundation/components/page
或wcm/mobile/components/page
的任何页面)的 属性 选项卡中列出。
该选项卡还提供:
- 指向可启用服务的位置的链接
- 从路径字段选择配置(服务的子节点)
密码加密 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