Configurazioni Cloud Service

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 analisi per percorso.
  • Facilmente estensibile.
  • Offre la flessibilità necessaria per gestire configurazioni più complesse, ad esempio Adobe Analytics.
  • Supporto per le dipendenze (ad es. Adobe Analytics i plug-in richiedono un Adobe Analytics ).

Struttura

Il percorso di base delle configurazioni è:

/etc/cloudservices.

Per ogni tipo di configurazione verranno forniti 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 un nuovo servizio è necessario:

  • 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 il 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 estenderà il modello di base:

cq/cloudserviceconfigs/templates/configpage

e definisci un resourceType che punta 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 viene 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 vengono memorizzate nel sottonodo jcr:content.

  • Le proprietà fisse, definite in una finestra di dialogo, devono essere memorizzate nel jcr:node direttamente.
  • Elementi dinamici (utilizzando parsys o iparsys) utilizza 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 Cloud Services scheda di 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à, ad esempio per password il nome sarà scritto come:

password@Encrypted

La proprietà verrà quindi crittografata automaticamente (utilizzando CryptoSupport servizio) da parte di EncryptionPostProcessor.

NOTA

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

NOTA

Per impostazione predefinita, il EcryptionPostProcessor crittografa solo POST richieste effettuate a /etc/cloudservices.

Proprietà aggiuntive per i nodi jcr:content della pagina del servizio

Proprietà Descrizione
componentReference Percorso di riferimento a un componente da includere automaticamente nella pagina.
Viene utilizzato per funzionalità aggiuntive e inclusioni JS.
Questo include il componente nella pagina in cui
cq/cloudserviceconfigs/components/servicecomponents
(normalmente prima del body ).
Nel caso di Analytics e Target, lo usiamo per includere funzionalità aggiuntive, come le chiamate JavaScript per monitorare il comportamento dei visitatori.
descrizione Breve descrizione del servizio.
descriptionExtended Descrizione estesa del servizio.
classificazione Classificazione dei servizi da utilizzare nelle inserzioni.
selectableChildren Filtro per la visualizzazione delle configurazioni nella finestra di dialogo delle proprietà della pagina.
serviceUrl URL al sito Web del servizio.
serviceUrlLabel Etichetta per l'URL del servizio.
miniaturaPercorso Percorso della miniatura per il servizio.
visibile Visibilità nella finestra di dialogo delle proprietà della pagina; visibile per impostazione predefinita (facoltativo)

Casi d’uso

Questi servizi sono forniti per impostazione predefinita:

In questa pagina