云服务配置

配置旨在提供用于存储服务配置的逻辑和结构。

您可以扩展现有实例以创建您自己的配置。

概念

在开发配置时使用的原则基于以下概念:

  • 服务/适配器用于检索配置。
  • 配置(如属性/段落)从父级继承。
  • 按路径从分析节点引用。
  • 易于扩展。
  • 灵活地满足更复杂的配置需求,例如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 服务的缩略图路径。
可见 页面属性对话框的可见性;默认可见(可选)

用例

默认提供以下服务:

注意

在此页面上