Configurazioni Cloud Service
- Argomenti:
- Sviluppo
Creato per:
- Sviluppatore
Le configurazioni sono progettate per fornire la logica e la struttura per l’archiviazione delle configurazioni del servizio.
Puoi estendere le istanze esistenti per creare configurazioni personalizzate.
Concetti
I principi utilizzati per lo sviluppo delle configurazioni si basano sui seguenti concetti:
- I servizi/adattatori vengono utilizzati per recuperare le configurazioni.
- Le configurazioni (ad esempio, proprietà/paragrafi) vengono ereditate dai padri.
- Riferito dai nodi di Analytics per percorso.
- Facilmente estensibile.
- Offre la flessibilità necessaria per gestire configurazioni più complesse, ad esempio Adobe Analytics.
- Supporto per le dipendenze (ad esempio, i plug-in di Adobe Analytics richiedono una configurazione di Adobe Analytics).
Struttura
Il percorso di base delle configurazioni è:
/etc/cloudservices
.
Per ogni tipo di configurazione, viene fornito un modello e un componente. In questo modo è possibile disporre di modelli di configurazione in grado di soddisfare la maggior parte delle esigenze dopo la personalizzazione.
Per fornire una configurazione per i nuovi servizi, eseguire le operazioni seguenti:
-
Creare una pagina di servizio in
/etc/cloudservices
-
Sotto questo:
- un modello di configurazione
- un componente di configurazione
Il modello e il componente devono ereditare sling:resourceSuperType
dal modello base:
cq/cloudserviceconfigs/templates/configpage
O componente base rispettivamente
cq/cloudserviceconfigs/components/configpage
Il fornitore di servizi deve inoltre fornire la pagina del servizio:
/etc/cloudservices/<service-name>
Modello
Il modello estende il modello base:
cq/cloudserviceconfigs/templates/configpage
E definisci un resourceType
che punti al componente personalizzato.
/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
Componenti
Il componente deve estendere il componente base:
cq/cloudserviceconfigs/templates/configpage
/libs/cq/analytics/components/sitecatalystpage
/libs/cq/analytics/components/generictrackerpage
Dopo aver configurato il modello e il componente, puoi aggiungere la configurazione aggiungendo pagine secondarie in:
/etc/cloudservices/<service-name>
Modello di contenuto
Il modello di contenuto è archiviato come cq:Page
in:
/etc/cloudservices/<service-name>(/*)
/etc/cloudservices
/etc/cloudservices/service-name
/etc/cloudservices/service-name/config
/etc/cloudservices/service-name/config/inherited-config
Le configurazioni sono archiviate nel sottonodo jcr:content
.
- Le proprietà fisse, definite in una finestra di dialogo, devono essere memorizzate direttamente in
jcr:node
. - Gli elementi dinamici (che utilizzano
parsys
oiparsys
) utilizzano un sottonodo per memorizzare i dati del componente.
/etc/cloudservices/service/config/jcr:content as nt:unstructured
propertyname
*
par/component/ as cq:Component
propertyname
*
API
Per la documentazione di riferimento sull'API, consulta com.day.cq.wcm.webservicesupport.
Integrazione AEM
I servizi disponibili sono elencati nella scheda Cloud Service della finestra di dialogo Proprietà pagina (di qualsiasi pagina che eredita da foundation/components/page
o wcm/mobile/components/page
).
La scheda fornisce anche:
- un collegamento alla posizione in cui è possibile abilitare il servizio
- scegli una configurazione (sottonodo del servizio) da un campo percorso
Crittografia password
Quando si memorizzano le credenziali utente per il servizio, tutte le password devono essere crittografate.
Per ottenere questo risultato, aggiungi un campo modulo nascosto. Questo campo deve contenere l'annotazione @Encrypted
nel nome della proprietà; ovvero, per il campo password
il nome verrà scritto come:
password@Encrypted
La proprietà verrà quindi crittografata automaticamente (utilizzando il servizio CryptoSupport
) da EncryptionPostProcessor
.
[SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html)
.EcryptionPostProcessor
crittografa solo POST
richieste effettuate a /etc/cloudservices
.Proprietà aggiuntive per i nodi jcr:content della pagina del servizio
Questo viene utilizzato per funzionalità aggiuntive e inclusioni JS.
Questo include il componente nella pagina in cui è incluso
cq/cloudserviceconfigs/components/servicecomponents
(normalmente prima del tag
body
).Nel caso di Adobe Analytics e Adobe Target, utilizziamo questa funzione per includere funzionalità aggiuntive, come le chiamate JavaScript per monitorare il comportamento dei visitatori.
Casi d’uso
Questi servizi sono forniti per impostazione predefinita:
- Snippet tracker (Google, WebTrends e così via)
- Adobe Analytics
- Test&Target