Cloud Service 配置

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

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

概念

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

  • 服务/适配器用于检索配置。
  • 配置(如属性/段落)从父级继承。
  • 按路径从分析节点引用。
  • 易于扩展。
  • 具有灵活性,可满足更复杂的配置(例如 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

然后,该属性将自动加密(使用 CryptoSupport 服务) EncryptionPostProcessor.

注意

这类似于标准 [SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html) 批注。

注意

默认情况下, EcryptionPostProcessor 仅加密 POST 发出的请求 /etc/cloudservices.

“服务”页jcr:content节点的其他属性

属性 描述
componentReference 要自动包含在页面中的组件的引用路径。
此插件可用于其他功能和JS包含项。
这包括页面上的组件,其中
cq/cloudserviceconfigs/components/servicecomponents
包含(通常在 body 标记)。
对于Analytics和Target,我们使用此功能包含其他功能,例如用于跟踪访客行为的JavaScript调用。
描述 服务的简短描述。
descriptionExtended 服务的扩展描述。
排名 用于列表的服务排名。
selectableChildren 在“页面属性”对话框中显示配置的过滤器。
serviceUrl 服务网站的URL。
serviceUrlLabel 服务URL的标签。
thumbnailPath 服务的缩略图路径。
可见 页面属性对话框的可见性;默认可见(可选)

用例

默认情况下,会提供以下服务:

注意

在此页面上