Cloud Service-Konfigurationen cloud-service-configurations

Konfigurationen sollen die Logik und Struktur für die Speicherung von Dienstkonfigurationen bereitstellen.

Sie können die vorhandenen Instanzen erweitern, um eigenen Konfigurationen zu erstellen.

Konzepte concepts

Die Prinzipien, die bei der Entwicklung von Konfigurationen zum Einsatz kommen, basieren auf den folgenden Konzepten:

  • Dienste/Adapter werden zum Abrufen der Konfigurationen verwendet.
  • Konfigurationen (z. B. Eigenschaften/Absätze) werden von den übergeordneten Elementen geerbt.
  • Die Verweise erfolgen von Analyseknoten nach Pfad.
  • Sie sind einfach erweiterbar.
  • Sie können auch komplexere Konfigurationen unterstützen, z. B. Adobe Analytics.
  • Abhängigkeiten werden unterstützt (z. B. benötigen Adobe Analytics-Plug-ins eine Adobe Analytics-Konfiguration).

Struktur structure

Der Basispfad der Konfigurationen ist:

/etc/cloudservices.

Für jeden Konfigurationstyp werden eine Vorlage und eine Komponente bereitgestellt. Dies ermöglicht Konfigurationsvorlagen, die nach der Anpassung die meisten Anforderungen erfüllen können.

Gehen Sie wie folgt vor, um eine Konfiguration für neue Dienste bereitzustellen:

  • Erstellen Sie eine Dienstseite, und zwar unter:

    /etc/cloudservices

  • Und darunter:

    • eine Konfigurationsvorlage und
    • eine Konfigurationskomponente

Die Vorlage und die Komponente müssen sling:resourceSuperType von der Basisvorlage erben:

cq/cloudserviceconfigs/templates/configpage

Oder von der Basiskomponente:

cq/cloudserviceconfigs/components/configpage

Der Dienstanbieter sollte auch die Dienstseite bereitstellen:

/etc/cloudservices/<service-name>

Vorlage template

Ihre Vorlage erweitert die Basisvorlage:

cq/cloudserviceconfigs/templates/configpage

Sie definiert zudem einen resourceType, der auf die angepasste Komponente verweist.

/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

Komponenten components

Ihre Komponente sollte die Basiskomponente erweitern:

cq/cloudserviceconfigs/templates/configpage

/libs/cq/analytics/components/sitecatalystpage

/libs/cq/analytics/components/generictrackerpage

Nach dem Einrichten der Vorlage und der Komponente können Sie Ihre Konfiguration hinzufügen, indem Sie unter folgendem Pfad untergeordnete Seiten hinzufügen:

/etc/cloudservices/<service-name>

Inhaltsmodell content-model

Das Inhaltsmodell wird als cq:Page in folgendem Verzeichnis gespeichert:

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

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

Die Konfigurationen werden unter dem untergeordneten Knoten jcr:content gespeichert.

  • Feste Eigenschaften, die in einem Dialogfeld definiert wurden, sollten direkt auf dem Knoten jcr:node gespeichert werden.
  • Dynamische Elemente (die parsys oder iparsys nutzen) speichern die Komponentendaten auf einem untergeordneten Knoten.
/etc/cloudservices/service/config/jcr:content as nt:unstructured
propertyname
*
par/component/ as cq:Component
propertyname
*

API api

Die Referenzdokumentation zur API finden Sie unter com.day.cq.wcm.webservicesupport.

AEM-Integration aem-integration

Verfügbare Dienste sind auf der Registerkarte Cloud-Services des Dialogfelds Seiteneigenschaften aufgeführt (bei jeder Seite, die von foundation/components/page oder wcm/mobile/components/page erbt).

Die Registerkarte bietet zusätzlich:

  • einen Link zu dem Verzeichnis, in dem Sie den Dienst aktivieren können
  • die Auswahl einer Konfiguration (untergeordneter Knoten des Dienstes) aus einem Pfadfeld

Kennwortverschlüsselung password-encryption

Beim Speichern der Benutzeranmeldedaten für den Dienst sollten alle Kennwörter verschlüsselt werden.

Zu diesem Zweck können Sie ein ausgeblendetes Formularfeld hinzufügen. Dieses Feld sollte im Eigenschaftsnamen die Anmerkung @Encrypted enthalten; d. h., im Feld password würde der Name wie folgt geschrieben:

password@Encrypted

Diese Eigenschaft wird dann automatisch (mit dem CryptoSupport-Dienst) durch den EncryptionPostProcessor verschlüsselt.

NOTE
Dies ist mit den standardmäßigen [SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html)-Anmerkungen vergleichbar.
NOTE
Standardmäßig verschlüsselt der EcryptionPostProcessor nur POST-Anfragen an /etc/cloudservices.

Zusätzliche Eigenschaften für die jcr:content-Knoten der Dienstseite additional-properties-for-service-page-jcr-content-nodes

Eigenschaft
Beschreibung
componentReference
Referenzpfad zu einer Komponente, die automatisch in die Seite aufgenommen werden soll.
Dies wird für zusätzliche Funktionen und JS-Einschlüsse genutzt.
Dazu gehört die Komponente auf der Seite, auf der
cq/cloudserviceconfigs/components/servicecomponents
enthalten ist (normalerweise vor dem body-Tag).
Bei Adobe Analytics und Adobe Target schließen wir damit zusätzliche Funktionen ein, z. B. JavaScript-Aufrufe, um das Verhalten der Besuchenden nachzuverfolgen.
description
Kurze Beschreibung des Dienstes.
descriptionExtended
Erweiterte Beschreibung des Dienstes.
ranking
Position des Dienstes in der Rangfolge zur Verwendung in Listen.
selectableChildren
Filter zum Anzeigen von Konfigurationen im Dialogfeld „Seiteneigenschaften“
serviceUrl
URL zur Website des Dienstes.
serviceUrlLabel
Titel für Dienst-URL.
thumbnailPath
Pfad zur Miniaturansicht für den Dienst.
visible
Sichtbarkeit im Dialogfeld „Seiteneigenschaften“, standardmäßig sichtbar (optional)

Anwendungsfälle use-cases

Diese Dienste werden standardmäßig bereitgestellt:

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2