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
oderiparsys
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.
[SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html)
-Anmerkungen vergleichbar.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
Anwendungsfälle use-cases
Diese Dienste werden standardmäßig bereitgestellt:
- Tracker-Snippets (Google, Webtrends usw.)
- Adobe Analytics
- Test&Target