Le configurazioni dell’AEM servono a gestire le impostazioni nell’AEM e fungono da aree di lavoro.
Una configurazione può essere considerata da due punti di vista diversi.
In sintesi: dal punto di vista di un amministratore, per configurazioni si intende il modo in cui si creano le aree di lavoro per gestire le impostazioni in AEM; lo sviluppatore deve invece comprendere in che modo AEM utilizza e gestisce queste configurazioni all’interno dell’archivio.
Indipendentemente dal tuo punto di vista, le configurazioni servono a due scopi principali in AEM:
L’amministratore AEM e gli autori possono considerare le configurazioni come aree di lavoro. Queste aree di lavoro possono essere utilizzate per raccogliere gruppi di impostazioni e i relativi contenuti associati a scopo organizzativo implementando i diritti di accesso per tali funzioni.
È possibile creare configurazioni per molte funzioni diverse all’interno dell’AEM.
Ad esempio, un amministratore può creare due configurazioni per i modelli modificabili.
L’amministratore può quindi creare modelli di pagina generali utilizzando la configurazione WKND-General e quindi modelli specifici per la rivista in 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:
Configurazioni simili sono possibili non solo per i modelli modificabili, ma anche per le configurazioni cloud, i segmenti ContextHub e i modelli per frammenti di contenuto.
Il browser di configurazioni consente all’amministratore di creare, gestire e configurare facilmente i diritti di accesso alle configurazioni in AEM.
È possibile creare configurazioni utilizzando il Browser configurazioni solo se l’utente ha admin
diritti. admin
I diritti sono necessari anche per assegnare i diritti di accesso alla configurazione o per modificare in altro modo una configurazione.
È molto semplice creare una nuova configurazione in AEM utilizzando Configuration Browser.
Accedi a AEM as a Cloud Service e dal menu principale seleziona Strumenti -> Generale -> Browser configurazioni.
Tocca o fai clic su Crea.
Specifica il titolo e il nome da assegnare alla configurazione.
Controlla il tipo di configurazioni che desideri consentire.
Tocca o fai clic su Crea.
Le configurazioni possono essere nidificate.
Se consideri le configurazioni come aree di lavoro, puoi impostare i diritti di accesso su tali configurazioni per imporre a chi può o meno accedere a tali aree di lavoro.
Una volta creata la configurazione, non è possibile deselezionare una feature.
In qualità di sviluppatore, è importante sapere come AEM as a Cloud Service funziona con le configurazioni e come elabora la risoluzione della configurazione.
Anche se il l’amministratore e gli utenti possono considerare le configurazioni come luoghi di lavoro per gestire impostazioni e contenuti diversi, è importante comprendere che le configurazioni e i contenuti vengono memorizzati e gestiti separatamente dall’AEM nell’archivio.
/content
è la pagina principale di tutti i contenuti./conf
è la home di tutte le configurazioni.Il contenuto fa riferimento alla relativa configurazione associata tramite un cq:conf
proprietà. AEM esegue una ricerca in base al contenuto ed è contestuale cq:conf
per trovare la configurazione appropriata.
Per questo esempio, supponiamo che tu disponga di un codice dell’applicazione interessato alle impostazioni DAM.
Conf conf = resource.adaptTo(Conf.class);
ValueMap imageServerSettings = conf.getItem("dam/imageserver");
String bgkcolor = imageServerSettings.get("bgkcolor", "FFFFFF");
Il punto iniziale di tutte le ricerche di configurazione è una risorsa di contenuto, in genere posizionata sotto /content
. Potrebbe 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 corretta che si applica in questo contesto.
Ora con Conf
oggetto, possiamo recuperare l’elemento di configurazione specifico che ci interessa. In questo caso è dam/imageserver
, che è una raccolta di impostazioni relative al imageserver
. Il getItem
la chiamata restituisce un ValueMap
. Quindi leggiamo un bgkcolor
stringa e fornire 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/wknd
+ settings
+ dam
+ imageserver [cq:Page]
+ jcr:content
- bgkcolor = "FF0000"
In questo esempio, si assume qui una cartella DAM specifica per WKND e una configurazione corrispondente. A partire da quella cartella /content/dam/wknd
, verrà visualizzata una proprietà stringa denominata cq:conf
che fa riferimento alla configurazione da applicare per la sottostruttura. La proprietà viene in genere impostata su jcr:content
di una cartella o pagina di risorse. Questi conf
I collegamenti sono espliciti, quindi è facile seguirli semplicemente guardando il contenuto in CRXDE.
Salto all'interno /conf
, seguiamo il riferimento e vediamo che c'è un /conf/wknd
nodo. 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 il Conf
oggetto. La configurazione applicabile è completamente controllata tramite il contenuto JCR.
Vediamo che la configurazione contiene un settings
nodo che contiene gli elementi effettivi, incluso dam/imageserver
nel nostro caso abbiamo bisogno. Un elemento di questo tipo può essere considerato come un "documento impostazioni" e in genere è rappresentato da un cq:Page
incluso un jcr:content
mantenendo il contenuto effettivo.
Infine, vediamo la proprietà bgkcolor
di cui il nostro codice di esempio ha bisogno. Il ValueMap
torniamo da getItem
è basato su jcr:content
nodo.
L’esempio di base precedente mostrava una singola configurazione. Tuttavia, in molti casi è necessario disporre di configurazioni diverse, ad esempio una configurazione globale predefinita, una diversa per ogni marchio e forse una specifica per i sottoprogetti.
Per supportare questa funzione, la ricerca della configurazione in AEM ha un meccanismo di ereditarietà e fallback nell’ordine di preferenza seguente:
/conf/<siteconfig>/<parentconfig>/<myconfig>
cq:conf
da qualche parte /content
/conf/<siteconfig>/<parentconfig>
/conf/<siteconfig>
/conf/global
admin
ruolo/apps
/libs
Le configurazioni dell’AEM si basano sulle configurazioni in base al contesto di Sling. I bundle Sling forniscono un’API di servizio che può essere utilizzata per ottenere configurazioni in base al contesto. Le configurazioni in base al contesto sono configurazioni correlate a una risorsa di contenuto o a una struttura di risorse, come nel caso descritto nell’esempio precedente.
Per ulteriori dettagli su configurazioni in base al contesto, esempi e come utilizzarle, consulta la documentazione di Sling.
A scopo di debug e test, è disponibile ConfMgr console web in https://<host>:<port>/system/console/conf
, che può mostrare le configurazioni per un determinato percorso/elemento.
Fornisci semplicemente:
Clic Risolvi per vedere quali configurazioni vengono risolte e ricevere il codice di esempio che le risolverà.
A scopo di debug e test, è disponibile Configurazione in base al contesto console web in https://<host>:<port>/system/console/slingcaconfig
, che consente di eseguire query sulle configurazioni in base al contesto nell’archivio e di visualizzarne le proprietà.
Fornisci semplicemente:
Clic Risolvi per recuperare i percorsi e le proprietà di contesto associati per la configurazione selezionata.