Configurazioni Cloud Service

Le configurazioni sono progettate per fornire la logica e la struttura per la memorizzazione delle configurazioni del servizio.

Potete estendere le istanze esistenti per creare configurazioni personalizzate.

Concetti

I principi utilizzati nello sviluppo delle configurazioni si sono basati sui seguenti concetti:

  • I servizi/le schede di rete vengono utilizzati per recuperare le configurazioni.
  • Le configurazioni (ad es. proprietà/paragrafi) vengono ereditate dagli elementi padre.
  • Riferimento dai nodi di analisi per percorso.
  • Facilmente estensibile.
  • Offre la flessibilità necessaria per gestire configurazioni più complesse, ad esempio Adobe Analytics.
  • Supporto per dipendenze (ad es. i plug-in Adobe Analytics necessitano di una configurazione Adobe Analytics).

Struttura

Il percorso di base delle configurazioni è:

/etc/cloudservices.

Per ogni tipo di configurazione verranno forniti un modello e un componente. Questo consente di disporre di modelli di configurazione in grado di soddisfare le esigenze più specifiche dopo essere stati personalizzati.

Per fornire una configurazione per un nuovo servizio è necessario:

  • creare una pagina di servizio in

    /etc/cloudservices

  • in questa sezione:

    • un modello di configurazione
    • un componente di configurazione

Il modello e il componente devono ereditare il simbolo sling:resourceSuperType dal modello di base:

cq/cloudserviceconfigs/templates/configpage

o componente di base

cq/cloudserviceconfigs/components/configpage

Il provider di servizi deve inoltre fornire la pagina del servizio:

/etc/cloudservices/<service-name>

Modello

Il modello verrà esteso:

cq/cloudserviceconfigs/templates/configpage

e definire 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 di 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 le sottopagine in:

/etc/cloudservices/<service-name>

Modello di contenuto

Il modello di contenuto è memorizzato 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 memorizzate nel nodo secondario jcr:content.

  • Le proprietà fisse definite in una finestra di dialogo devono essere memorizzate direttamente in jcr:node.
  • Gli elementi dinamici (che utilizzano parsys o iparsys) utilizzano un nodo secondario 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, vedete com.day.cq.wcm.webservicesupport.

Integrazione AEM

I servizi disponibili sono elencati nella scheda Cloud Services della finestra di dialogo Proprietà pagina (di qualsiasi pagina che eredita da foundation/components/page o wcm/mobile/components/page).

La scheda fornisce inoltre:

  • un collegamento alla posizione in cui è possibile abilitare il servizio
  • scegliere una configurazione (nodo secondario del servizio) da un campo percorso

Crittografia password

Quando si memorizzano le credenziali utente per il servizio, tutte le password devono essere crittografate.

A tal fine, è possibile aggiungere un campo modulo nascosto. Questo campo deve contenere l'annotazione @Encrypted nel nome della proprietà; ad esempio, per il campo password il nome verrà scritto come segue:

password@Encrypted

La proprietà verrà quindi cifrata automaticamente (utilizzando il servizio CryptoSupport) dal EncryptionPostProcessor.

NOTA

È simile alle annotazioni [SlingPostServlet](https://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html) standard.

NOTA

Per impostazione predefinita, EcryptionPostProcessor codifica solo le richieste POST effettuate a /etc/cloudservices.

Proprietà aggiuntive per jcr pagina di servizio:nodi di contenuto

Proprietà Descrizione
componentReference Percorso di riferimento per un componente da includere automaticamente nella pagina.
Viene utilizzato per ulteriori funzionalità e inclusione JS.
Questo include il componente sulla pagina
cq/cloudserviceconfigs/components/servicecomponents
in cui è incluso (in genere prima del body tag).
Nel caso in cui Analytics e Target utilizzino questa funzionalità per includere funzionalità aggiuntive, come le chiamate JavaScript per monitorare il comportamento dei visitatori.
descrizione Breve descrizione del servizio.
descriptionExtended Descrizione estesa del servizio.
classifica Classificazione del servizio per l'uso nelle inserzioni.
selectChildren Filtro per la visualizzazione delle configurazioni nella finestra di dialogo delle proprietà della pagina.
serviceUrl URL del sito Web del servizio.
serviceUrlLabel Etichetta per l’URL del servizio.
thumbnailPath Percorso della miniatura del servizio.
visible Visibilità nella finestra di dialogo delle proprietà della pagina; visible per impostazione predefinita (facoltativo)

Casi di utilizzo

Questi servizi sono forniti per impostazione predefinita:

In questa pagina