AEM configurazioni servono a gestire le impostazioni in AEM e fungono da aree di lavoro.
Una configurazione può essere considerata da due diversi punti di vista.
In sintesi: dal punto di vista dell'amministratore, le configurazioni sono il modo in cui si creano le aree di lavoro per gestire le impostazioni in AEM, mentre lo sviluppatore deve comprendere come AEM utilizza e gestisce tali configurazioni all'interno del repository.
Indipendentemente dal vostro punto di vista, le configurazioni servono a due scopi principali in AEM:
Sia l’amministratore AEM che gli autori possono considerare le configurazioni come aree di lavoro. Tali aree di lavoro possono essere utilizzate per raccogliere insieme gruppi di impostazioni e il relativo contenuto a scopo organizzativo, implementando i diritti di accesso per tali funzioni.
Le configurazioni possono essere create per molte funzioni diverse all'interno di AEM.
Ad esempio, un amministratore può creare due configurazioni per Modelli modificabili.
L’amministratore può quindi creare modelli di pagina generali utilizzando la configurazione WKND-General e quindi modelli specifici per la rivista sotto WKND-Magazine.
L’amministratore può quindi associare il WKND-General a tutto il contenuto del sito WKND. Tuttavia, la configurazione WKND-Magazine sarebbe associata solo al sito della rivista.
In questo modo:
Impostazioni simili sono possibili non solo per i modelli modificabili, ma anche per le configurazioni cloud, i segmenti ContextHub e i modelli di frammenti di contenuto.
Il Browser di configurazione consente agli amministratori di creare, gestire e configurare facilmente i diritti di accesso alle configurazioni in AEM.
È possibile creare configurazioni utilizzando il browser di configurazione solo se l'utente dispone di diritti admin
. admin
sono inoltre necessari per assegnare diritti di accesso alla configurazione o per modificare in altro modo una configurazione.
È molto semplice creare una nuova configurazione in AEM utilizzando il browser di configurazione.
Accedete AEM come Cloud Service e dal menu principale selezionate Strumenti -> Generale -> Browser di configurazione.
Tocca o fai clic su Crea.
Specificare un Titolo e un Nome per la configurazione.
Verificare il tipo di configurazioni che si desidera consentire.
Tocca o fai clic su Crea.
Le configurazioni possono essere nidificate.
Se si considerano le configurazioni come aree di lavoro, è possibile impostare i diritti di accesso su tali configurazioni per applicare a chi potrebbero accedere o meno tali aree di lavoro.
Non è possibile deselezionare una funzione dopo la creazione della configurazione.
In qualità di sviluppatore, è importante sapere come AEM come Cloud Service funziona con le configurazioni e come elabora la risoluzione della configurazione.
Sebbene l'amministratore e gli utenti di possano pensare alle configurazioni come luoghi di lavoro per gestire diverse impostazioni e contenuti, è importante comprendere che le configurazioni e i contenuti sono memorizzati e gestiti separatamente da AEM nella directory archivio.
/content
è la pagina principale di tutti i contenuti./conf
è la casa di tutte le configurazioni.Il contenuto fa riferimento alla configurazione associata tramite una proprietà cq:conf
. AEM eseguire una ricerca in base al contenuto ed è una proprietà contestuale cq:conf
per trovare la configurazione appropriata.
Per questo esempio, supponiamo che tu abbia del codice applicativo interessato alle impostazioni DAM.
Conf conf = resource.adaptTo(Conf.class);
ValueMap imageServerSettings = conf.getItem("dam/imageserver");
String bgkcolor = imageServerSettings.get("bgkcolor", "FFFFFF");
Il punto di partenza di tutte le ricerche di configurazione è una risorsa di contenuto, in genere in un punto /content
. Può trattarsi di una pagina, di un componente all’interno di una pagina, di una risorsa o di una cartella DAM. Questo è il contenuto effettivo per il quale stiamo cercando la configurazione giusta che si applica in questo contesto.
Ora con l'oggetto Conf
in mano, possiamo recuperare l'elemento di configurazione specifico a cui siamo interessati. In questo caso è dam/imageserver
, ovvero una raccolta di impostazioni relative alla imageserver
. La chiamata getItem
restituisce un elemento ValueMap
. Quindi si legge una proprietà stringa bgkcolor
e si fornisce il valore predefinito "FFFFFF" nel caso in cui la proprietà (o l'intero elemento di configurazione) non sia presente.
Ora diamo un'occhiata al contenuto JCR corrispondente:
/content/dam/wknd
+ jcr:content
- cq:conf = "/conf/wknd"
+ image.png [dam:Asset]
/conf/wkns
+ settings
+ dam
+ imageserver [cq:Page]
+ jcr:content
- bgkcolor = "FF0000"
In questo esempio, si presuppone una cartella DAM specifica per WKND e una configurazione corrispondente. A partire da tale cartella /content/dam/wknd
, verrà visualizzata una proprietà stringa denominata cq:conf
che fa riferimento alla configurazione da applicare alla sottostruttura. La proprietà viene in genere impostata su jcr:content
di una cartella di risorse o di una pagina. Questi collegamenti conf
sono espliciti, quindi è facile seguirli semplicemente guardando il contenuto in CRXDE.
Saltando all'interno di /conf
, seguiamo il riferimento e vediamo che c'è un nodo /conf/wknd
. Questa è una configurazione. La ricerca è completamente trasparente per il codice dell'applicazione. Il codice di esempio non ha mai un riferimento dedicato ad esso, è nascosto dietro l'oggetto Conf
. La configurazione applicata è completamente controllata attraverso il contenuto JCR.
La configurazione contiene un nodo settings
con nome fisso che contiene gli elementi effettivi, incluso il dam/imageserver
di cui abbiamo bisogno nel nostro caso. Tale elemento può essere considerato come un "documento delle impostazioni" ed è in genere rappresentato da un cq:Page
che include un jcr:content
contenente il contenuto effettivo.
Infine, viene visualizzata la proprietà bgkcolor
necessaria per il codice di esempio. Il ValueMap
che recuperiamo da getItem
è basato sul nodo jcr:content
della pagina.
L'esempio di base sopra mostrava una singola configurazione. Ma ci sono molti casi in cui si desidera avere configurazioni diverse, come una configurazione globale predefinita, una diversa per ogni marchio e forse una specifica per i sottoprogetti.
Per supportare questo, la ricerca di configurazione in AEM ha meccanismi di ereditarietà e fallback nell'ordine di preferenza seguente:
/conf/<siteconfig>/<parentconfig>/<myconfig>
cq:conf
in un punto qualsiasi di /content
/conf/<siteconfig>/<parentconfig>
/conf/<siteconfig>
/conf/global
admin
/apps
/libs
Le configurazioni in AEM si basano sulle configurazioni Sling Context-Aware. I bundle Sling forniscono un'API di servizio che può essere utilizzata per ottenere configurazioni basate sul contesto. Per configurazioni basate sul contesto si intendono le configurazioni correlate a una risorsa di contenuto o a una struttura di risorse, come descritto nell'esempio precedente.🔗
Per ulteriori dettagli sulle configurazioni, gli esempi e le modalità di utilizzo in base al contesto, consultare la documentazione Sling.🔗
A scopo di debug e test, è disponibile una ConfMgr console Web all'indirizzo https://<host>:<port>/system/console/conf
, che può mostrare le configurazioni per un determinato percorso/elemento.
È sufficiente fornire:
Fare clic su Risolvi per vedere quali configurazioni vengono risolte e ricevere il codice di esempio che risolverà tali configurazioni.
A scopo di debug e test, è disponibile una console di configurazione in base al contesto all'indirizzo https://<host>:<port>/system/console/slingcaconfig
, che consente di eseguire query sulle configurazioni in base al contesto nell'archivio e di visualizzarne le proprietà.
È sufficiente fornire:
Fare clic su Risolvi per recuperare i percorsi contestuali associati e le proprietà per la configurazione selezionata.