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. Adobe Analytics -Plug-ins benötigen eine Adobe Analytics Konfiguration).
Struktur structure
Der Basispfad der Konfigurationen lautet:
/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 Service-Seite in
/etc/cloudservices
-
Darunter:
- eine Konfigurationsvorlage
- eine Konfigurationskomponente
Die Vorlage und die Komponente müssen sling:resourceSuperType
von der Basisvorlage erben:
cq/cloudserviceconfigs/templates/configpage
Oder die 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 definieren Sie eine resourceType
, der auf die benutzerdefinierte 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
Nachdem Sie Ihre Vorlage und Komponente eingerichtet haben, können Sie Ihre Konfiguration hinzufügen, indem Sie Unterseiten hinzufügen unter:
/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 eine Anmerkung enthalten. @Encrypted
im Eigenschaftsnamen, d. h. für die password
-Feld 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