Configuraciones de Cloud Service

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

Puede ampliar las instancias existentes para crear sus propias configuraciones.

Conceptos

Los principios utilizados en el desarrollo de las configuraciones se han basado en los siguientes conceptos:

  • Los servicios/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 para adaptarse a configuraciones más complejas, como Adobe Analytics.
  • Compatibilidad con dependencias (p. ej. Adobe Analytics los complementos necesitan una Adobe Analytics configuración).

Estructura

La ruta 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 personalizarse.

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

  • cree una página de servicio en

    /etc/cloudservices

  • en esta sección:

    • 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 servicios también debe proporcionar la página de servicio:

/etc/cloudservices/<service-name>

Plantilla

La plantilla amplía la plantilla base:

cq/cloudserviceconfigs/templates/configpage

y defina una resourceType que señala 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 añadir la configuración añadiendo subpáginas en:

/etc/cloudservices/<service-name>

Modelo de contenido

El modelo de contenido se almacena como 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 en la variable jcr:node directamente.
  • Elementos dinámicos (mediante parsys o iparsys) utilice 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 AEM

Los servicios disponibles se enumeran en la sección Cloud Services de la pestaña Propiedades de página cuadro de diálogo (de cualquier página que herede de foundation/components/page o wcm/mobile/components/page).

La pestaña también proporciona:

  • un vínculo a la ubicación en la que puede activar el servicio
  • elegir 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.

Para conseguirlo, agregue un campo de formulario oculto. Este campo debe tener la anotación @Encrypted en el nombre de la propiedad; es decir, para la variable password field el nombre se escribirá como:

password@Encrypted

A continuación, la propiedad se cifrará automáticamente (utilizando la variable CryptoSupport por el EncryptionPostProcessor.

NOTA

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

NOTA

De forma predeterminada, la variable EcryptionPostProcessor solo cifra POST solicitudes realizadas /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 funciones adicionales e inclusiones de JS.
Esto incluye el componente en la página donde
cq/cloudserviceconfigs/components/servicecomponents
se incluye (normalmente antes de body ).
En caso de que el de Analytics y Target lo use para incluir funcionalidades adicionales, como llamadas de JavaScript para rastrear el comportamiento de los visitantes.
Descripción Descripción breve del servicio.
descriptionExtended Descripción extendida del servicio.
clasificación Clasificación del 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 del servicio.
serviceUrlLabel Etiqueta de la 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)

Casos de uso

Estos servicios se proporcionan de forma predeterminada:

En esta página