Configuraciones de Cloud Service

Las configuraciones están diseñadas para proporcionar la lógica y la estructura para almacenar configuraciones de servicio.

Puede ampliar las instancias existentes para crear sus propias configuraciones.

Conceptos

Los principios utilizados para desarrollar las configuraciones se han basado en los siguientes conceptos:

  • Los servicios y adaptadores se utilizan para recuperar las configuraciones.
  • Las configuraciones (p. ej., propiedades/párrafos) se heredan de los elementos principales.
  • Se hace referencia desde los nodos de análisis por ruta.
  • Fácilmente extensible.
  • Tiene la flexibilidad de adaptarse a configuraciones más complejas, como Adobe Analytics.
  • Compatibilidad con dependencias (por ejemplo, los complementos de Adobe Analytics necesitan una configuración de Adobe Analytics ).

Estructura

La ruta de acceso base de las configuraciones es:

/etc/cloudservices.

Para cada tipo de configuración se proporcionará una plantilla y un componente.Esto permite tener plantillas de configuración que puedan satisfacer la mayoría de las necesidades después de personalizarlas.

Para proporcionar una configuración para un nuevo servicio, debe:

  • crear una página de servicios en

    /etc/cloudservices

  • en este contexto:

    • una plantilla de configuración
    • un componente de configuración

La plantilla y el componente deben heredar el sling:resourceSuperType de la plantilla base:

cq/cloudserviceconfigs/templates/configpage

o componente base respectivamente

cq/cloudserviceconfigs/components/configpage

El proveedor de servicio también debe proporcionar la página de servicio:

/etc/cloudservices/<service-name>

Plantilla

La plantilla extenderá la plantilla base:

cq/cloudserviceconfigs/templates/configpage

y definir un resourceType que apunte al componente personalizado.

/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

Componentes

El componente debe ampliar el componente base:

cq/cloudserviceconfigs/templates/configpage

/libs/cq/analytics/components/sitecatalystpage

/libs/cq/analytics/components/generictrackerpage

Después de configurar la plantilla y el componente, puede agregar la configuración agregando subpáginas en:

/etc/cloudservices/<service-name>

Modelo de contenido

El modelo de contenido se almacena cq:Page en:

/etc/cloudservices/<service-name>(/*)

/etc/cloudservices
/etc/cloudservices/service-name
/etc/cloudservices/service-name/config
/etc/cloudservices/service-name/config/inherited-config

Las configuraciones se almacenan bajo el subnodo jcr:content.

  • Las propiedades fijas, definidas en un cuadro de diálogo, deben almacenarse directamente en el jcr:node panel.
  • Los elementos dinámicos (mediante parsys o iparsys) utilizan un subnodo para almacenar los datos del componente.
/etc/cloudservices/service/config/jcr:content as nt:unstructured
propertyname
*
par/component/ as cq:Component
propertyname
*

API

Para obtener documentación de referencia sobre la API, consulte com.day.cq.wcm.webservicesupport.

Integración de AEM

Los servicios disponibles se enumeran en la ficha Cloud Services del cuadro de diálogo Propiedades de la página (de cualquier página que herede de foundation/components/page o wcm/mobile/components/page).

La ficha también proporciona:

  • un vínculo a la ubicación donde puede habilitar el servicio
  • elija una configuración (subnodo del servicio) de un campo de ruta

Cifrado de contraseña

Al almacenar las credenciales de usuario para el servicio, todas las contraseñas deben cifrarse.

Esto se puede lograr agregando un campo de formulario oculto. Este campo debe tener la anotación @Encrypted en el nombre de la propiedad; Es decir, para el password campo, el nombre se escribiría como:

password@Encrypted

La propiedad será cifrada automáticamente (mediante el CryptoSupport servicio) por el EncryptionPostProcessor.

Nota

Es similar a las anotaciones estándar [SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html) .

Nota

De forma predeterminada, EcryptionPostProcessor solo cifra POST las solicitudes realizadas a /etc/cloudservices.

Propiedades adicionales para la página de servicio jcr:nodos de contenido

Propiedad Descripción
componentReference Ruta de referencia a un componente que se incluirá automáticamente en la página.
Se utiliza para funcionalidad adicional e inclusiones de JS.
Esto incluye el componente en la página donde
se incluye (normalmente antes de la cq/cloudserviceconfigs/components/servicecomponents
body etiqueta).
En el caso de que el uso de Analytics y Destinatario lo utilice para incluir funcionalidad adicional, como llamadas de JavaScript para rastrear el comportamiento del visitante.
Descripción Breve descripción del servicio.
descriptionExtended Descripción ampliada del servicio.
clasificación Clasificación de servicio para su uso en anuncios.
selectableChildren Filtro para mostrar configuraciones en el cuadro de diálogo de propiedades de página.
serviceUrl Dirección URL del sitio web de servicio.
serviceUrlLabel Etiqueta para la dirección URL del servicio.
thumbnailPath Ruta a la miniatura del servicio.
visible Visibilidad en el cuadro de diálogo de propiedades de página; visible de forma predeterminada (opcional)

Use Cases

Estos servicios se proporcionan de forma predeterminada:

Nota

Consulte también Creación de un Cloud Servicepersonalizado.

En esta página