云服务配置

配置被设计为提供用于存储服务配置的逻辑和结构。

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

概念

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

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

/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 前)。
在分析和目标方面,我们使用它包含其他功能,如跟踪访客行为的JavaScript调用。
描述 服务的简短说明。
descriptionExtended 服务的扩展描述。
排名 用于列表的服务排名。
selectableChildren 用于在页面属性对话框中显示配置的筛选器。
serviceUrl 服务网站的URL。
serviceUrlLabel 服务URL的标签。
thumbnailPath 服务的缩略图路径。
可见 页面属性对话框中的可见性;默认可见(可选)

用例

这些服务默认提供:

注意

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now