Cloud Service-Konfigurationen cloud-service-configurations
Konfigurationen dienen dazu, die Logik und Struktur zum Speichern von Dienstkonfigurationen bereitzustellen.
Sie können die vorhandenen Instanzen erweitern, um Ihre eigenen Konfigurationen zu erstellen.
Konzepte concepts
Die bei der Entwicklung der Konfigurationen verwendeten Prinzipien basieren auf folgenden Konzepten:
- Dienste/Adapter werden zum Abrufen der Konfigurationen verwendet.
- Konfigurationen (z. B. Eigenschaften/Absätze) werden von den übergeordneten Elementen übernommen.
- Referenziert von Analyseknoten nach Pfad.
- Einfach erweiterbar.
- Sie können auch komplexere Konfigurationen unterstützen, z. B. Adobe Analytics.
- Unterstützung für Abhängigkeiten (z. B. benötigen Adobe Analytics-Plug-ins eine Adobe Analytics-Konfiguration).
Struktur structure
Der Basispfad der Konfigurationen lautet:
/etc/cloudservices
.
Für jeden Konfigurationstyp werden eine Vorlage und eine Komponente bereitgestellt. Auf diese Weise können Konfigurationsvorlagen nach der Anpassung die meisten Anforderungen erfüllen.
Um eine Konfiguration für einen neuen Dienste bereitzustellen, müssen Sie:
-
eine Dienstseite erstellen, und zwar unter
/etc/cloudservices
-
unter dieser
- eine Konfigurationsvorlage
- eine Konfigurationskomponente
Die Vorlage und die Komponente müssen sling:resourceSuperType
von der Basisvorlage erben:
cq/cloudserviceconfigs/templates/configpage
bzw. 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
und definiert 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
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 außerdem Folgendes:
- einen Link zum Speicherort, an dem Sie den Dienst aktivieren können
- eine Konfiguration (Unterknoten des Dienstes) aus einem Pfadfeld auswählen
Kennwortverschlüsselung password-encryption
Beim Speichern von Benutzeranmeldeinformationen für den Dienst sollten alle Kennwörter verschlüsselt werden.
Sie können dies erreichen, indem 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
- Dynamic Media