Les configurations AEM permettent de gérer les paramètres dans AEM et servent d’espaces de travail.
Une configuration peut être considérée sous deux angles différents.
En résumé, du point de vue d’un administrateur, les configurations sont la manière dont vous créez des espaces de travail pour gérer les paramètres dans AEM, tandis que le développeur doit comprendre comment AEM utilise et gère ces configurations dans le référentiel.
Quelle que soit votre perspective, les configurations répondent à deux objectifs principaux dans AEM :
L’administrateur ou administratrice AEM et les auteurs et autrices peuvent considérer les configurations comme des espaces de travail. Ces espaces de travail peuvent être utilisés pour rassembler des groupes de paramètres et leur contenu associé à des fins d’organisation en implémentant des droits d’accès pour ces fonctionnalités.
Des configurations peuvent être créées pour de nombreuses fonctionnalités différentes dans AEM.
Par exemple, un administrateur ou une administratrice peut créer deux configurations pour les modèles modifiables.
L’administrateur peut alors créer des modèles de page généraux à l’aide de la configuration WKND-General, puis des modèles spécifiques au magazine sous WKND-Magazine.
L’administrateur peut alors associer le WKND-General à tout le contenu du site WKND. Cependant, la configuration WKND-Magazine ne serait associée qu’au site du magazine.
En procédant comme suit :
Des configurations similaires sont possibles non seulement pour les modèles modifiables, mais également pour les configurations de cloud, les segments ContextHub et les modèles de fragments de contenu.
L’explorateur de configurations permet à un administrateur de créer, gérer et configurer facilement des droits d’accès aux configurations dans AEM.
Il n’est possible de créer des configurations à l’aide de l’explorateur de configurations que si votre utilisateur dispose des droits admin
. Des droits d’administrateur sont également requis pour attribuer des droits d’accès à la configuration ou pour modifier une configuration.
Il est simple de créer une configuration dans AEM à l’aide du navigateur de configuration.
Connectez-vous à AEM as a Cloud Service et dans le menu principal, sélectionnez Outils -> Général -> Explorateur de configurations.
Appuyez ou cliquez sur Créer.
Indiquez un Titre et un Nom pour votre configuration.
Vérifiez le type de configurations que vous souhaitez autoriser.
Appuyez ou cliquez sur Créer.
Les configurations peuvent être imbriquées.
Si vous considérez les configurations comme des espaces de travail, les droits d’accès peuvent être définis sur ces configurations afin de définir qui peut ou non accéder à ces espaces de travail.
Connectez-vous à AEM as a Cloud Service et dans le menu principal, sélectionnez Outils -> Général -> Explorateur de configurations.
Sélectionnez la configuration à modifier, puis appuyez ou cliquez sur Propriétés dans la barre d’outils.
Sélectionnez les fonctionnalités supplémentaires à ajouter à la configuration.
Il n’est pas possible de désélectionner une fonction une fois la configuration créée.
Utilisez le bouton Autorisations en vigueur pour afficher une matrice des rôles et les autorisations actuellement accordées aux configurations.
Pour attribuer de nouvelles autorisations, saisissez le nom de l’utilisateur ou du groupe dans le champ Sélectionner un utilisateur ou un groupe de la section Ajouter de nouvelles autorisations.
Sélectionnez l’utilisateur ou le rôle approprié dans les résultats de saisie semi-automatique.
Vérifiez les options d’accès que les utilisateurs ou les rôles sélectionnés doivent posséder, puis cliquez sur Ajouter.
Répétez les étapes pour sélectionner des utilisateurs ou des rôles et attribuer des droits d’accès supplémentaires si nécessaire.
Sélectionner Enregistrer et fermer lorsque vous avez terminé.
En tant que développeur, il est important de savoir comment AEM as a Cloud Service fonctionne avec les configurations et traite la résolution de configurations.
Bien que l’administrateur et les utilisateurs puissent considérer les configurations comme des espaces de travail pour gérer différents paramètres et contenus, il est important de comprendre que les configurations et le contenu sont stockés et gérés séparément par AEM dans le référentiel.
/content
abrite tout le contenu./conf
abrite l’ensemble de la configuration.Le contenu fait référence à sa configuration associée par le biais d’une propriété cq:conf
. AEM effectue une recherche en fonction du contenu et de son contexte cq:conf
pour trouver la configuration appropriée.
Dans cet exemple, supposons que vous ayez du code d’application concernant les paramètres de la gestion des actifs numériques.
Conf conf = resource.adaptTo(Conf.class);
ValueMap imageServerSettings = conf.getItem("dam/imageserver");
String bgkcolor = imageServerSettings.get("bgkcolor", "FFFFFF");
Le point de départ de toute recherche de configuration est une ressource de contenu, quelque part sous /content
. Il peut s’agir d’une page, d’un composant à l’intérieur d’une page, d’une ressource ou d’un dossier DAM. Il s’agit du contenu réel pour lequel vous recherchez la configuration appropriée qui s’applique dans ce contexte.
Maintenant, avec la variable Conf
vous pouvez récupérer l’élément de configuration spécifique qui vous intéresse. Dans ce cas, la variable dam/imageserver
, qui est un ensemble de paramètres liés à la variable imageserver
. L’appel getItem
renvoie une ValueMap
. Vous pouvez ensuite lire un bgkcolor
et indiquez une valeur par défaut "FFFFF" si la propriété (ou l’élément de configuration complet) n’est pas présente.
Examinons maintenant le contenu JCR correspondant :
/content/dam/wknd
+ jcr:content
- cq:conf = "/conf/wknd"
+ image.png [dam:Asset]
/conf/wkns
+ settings
+ dam
+ imageserver [cq:Page]
+ jcr:content
- bgkcolor = "FF0000"
Dans cet exemple, vous pouvez supposer ici un dossier DAM spécifique à WKND et une configuration correspondante. Démarrage dans ce dossier /content/dam/wknd
, vous pouvez constater qu’il existe une propriété string nommée cq:conf
qui référence la configuration qui doit s’appliquer à la sous-arborescence. La propriété est définie sur la propriété jcr:content
d’un dossier de ressources ou d’une page. Ces liens conf
sont explicites. Il est donc facile de les suivre en regardant simplement le contenu dans CRXDE.
Saut à l'intérieur /conf
, vous pouvez suivre la référence et voir qu’il existe une /conf/wknd
noeud . Il s’agit d’une configuration. Sa recherche est transparente par rapport au code de l’application. L’exemple de code n’a jamais de référence dédiée à ce code, il est masqué derrière la balise Conf
. La configuration qui s’applique est contrôlée par le contenu JCR.
Vous pouvez constater que la configuration contient un nom fixe settings
qui contient les éléments réels, y compris le noeud dam/imageserver
dont vous avez besoin dans ce cas. Un tel élément peut être considéré comme un "document de paramètres" et est représenté par un cq:Page
inclusion d’un jcr:content
contenant le contenu réel.
Enfin, vous pouvez voir la propriété bgkcolor
cet exemple de code est nécessaire. La variable ValueMap
tu reviens de getItem
est basé sur le jcr:content
noeud .
L’exemple de base ci-dessus montrait une configuration unique. Cependant, il existe de nombreux cas où vous souhaitez avoir différentes configurations, telles qu’une configuration globale par défaut, une configuration différente pour chaque marque et peut-être une configuration spécifique pour vos sous-projets.
Pour ce faire, la recherche de configuration dans AEM dispose d’un mécanisme d’héritage et de secours dans l’ordre de préférence suivant :
/conf/<siteconfig>/<parentconfig>/<myconfig>
cq:conf
quelque part dans /content
/conf/<siteconfig>/<parentconfig>
/conf/<siteconfig>
/conf/global
admin
/apps
/libs
Les configurations dans AEM reposent sur les configurations basées sur le contexte Sling. Les lots Sling fournissent une API de service qui peut être utilisée pour obtenir des configurations basées sur le contexte. Les configurations basées sur le contexte sont des configurations qui sont liées à une ressource de contenu ou à une arborescence de ressources, comme décrit dans l’exemple précédent.
Pour plus d’informations sur les configurations basées sur le contexte, des exemples et leur utilisation, consultez la documentation Sling.
À des fins de débogage et de test, une console Web ConfMgr dans https://<host>:<port>/system/console/conf
peut afficher des configurations pour un chemin/élément donné.
Indiquez simplement :
Pour voir quelles configurations sont résolues et recevoir un exemple de code qui résout ces configurations, sélectionnez Résoudre.
À des fins de débogage et de test, une console Web de configuration basée sur le contexte dans https://<host>:<port>/system/console/slingcaconfig
permet d’interroger des configurations basées sur le contexte dans le référentiel et d’afficher leurs propriétés.
Indiquez simplement :
Pour récupérer les chemins et propriétés de contexte associés pour la configuration sélectionnée, sélectionnez Résoudre.