AEM configuraciones sirven para administrar la configuración en AEM y servir como espacios de trabajo.
Se puede considerar una configuración desde dos puntos de vista diferentes.
En resumen: desde el punto de vista del administrador, las configuraciones son la forma en que se crean los espacios de trabajo para administrar la configuración en AEM, mientras que el desarrollador debe comprender cómo AEM utiliza y administra estas configuraciones dentro del repositorio.
Independientemente de su perspectiva, las configuraciones tienen dos propósitos principales en AEM:
Tanto el administrador de AEM como los autores pueden considerar las configuraciones como espacios de trabajo. Estos espacios de trabajo se pueden utilizar para reunir grupos de configuraciones, así como el contenido asociado, con fines organizativos, mediante la implementación de derechos de acceso para dichas funciones.
Se pueden crear configuraciones para muchas funciones distintas dentro de AEM.
Por ejemplo, un administrador puede crear dos configuraciones para Plantillas editables.
A continuación, el administrador puede crear plantillas de página generales mediante la configuración de WKND-General y, a continuación, plantillas específicas de la revista en WKND-Magazine.
El administrador puede luego asociar el WKND-General con todo el contenido del sitio WKND. Sin embargo, la configuración de WKND-Magazine solo se asociaría con el sitio de la revista.
Haciendo esto:
Se pueden realizar configuraciones similares no solo para plantillas editables, sino también para configuraciones de nube, segmentos de ContextHub y modelos de fragmentos de contenido.
El navegador de configuración permite a un administrador crear, administrar y configurar fácilmente los derechos de acceso a las configuraciones en AEM.
Sólo es posible crear configuraciones mediante el navegador de configuración si el usuario tiene admin
derechos. admin
también se requieren derechos para asignar derechos de acceso a la configuración o para modificar una configuración.
Es muy sencillo crear una nueva configuración en AEM mediante el navegador de configuración.
Inicie sesión en AEM como Cloud Service y, en el menú principal, seleccione Herramientas -> General -> Navegador de configuración.
Haga clic o pulse Crear.
Proporcione un Título y un Nombre para la configuración.
Compruebe el tipo de configuraciones que desea permitir.
Haga clic o pulse Crear.
Las configuraciones se pueden anidar.
Si considera que las configuraciones son espacios de trabajo, se pueden establecer derechos de acceso en esas configuraciones para imponer quién puede acceder a esos espacios de trabajo y quién no.
Una vez creada la configuración, no es posible anular la selección de una función.
Como desarrollador, es importante saber cómo AEM como Cloud Service trabaja con las configuraciones y cómo procesa la resolución de la configuración.
Aunque el administrador y los usuarios pueden considerar las configuraciones como lugares de trabajo para administrar diferentes configuraciones y contenido, es importante comprender que las configuraciones y el contenido se almacenan y administran por separado por AEM en el repositorio.
/content
es el hogar de todo el contenido./conf
es el hogar de toda la configuración.El contenido hace referencia a su configuración asociada mediante una propiedad cq:conf
. AEM realiza una búsqueda basada en el contenido y es la propiedad contextual cq:conf
para encontrar la configuración adecuada.
Para este ejemplo, supongamos que tiene algún código de aplicación que esté interesado en la configuración de DAM.
Conf conf = resource.adaptTo(Conf.class);
ValueMap imageServerSettings = conf.getItem("dam/imageserver");
String bgkcolor = imageServerSettings.get("bgkcolor", "FFFFFF");
El punto de partida de todas las búsquedas de configuración es un recurso de contenido, generalmente en algún lugar bajo /content
. Podría ser una página, un componente dentro de una página, un recurso o una carpeta DAM. Este es el contenido real para el que buscamos la configuración correcta que se aplica en este contexto.
Ahora, con el objeto Conf
en la mano, podemos recuperar el elemento de configuración específico en el que estamos interesados. En este caso es dam/imageserver
, que es una colección de configuraciones relacionadas con imageserver
. La llamada getItem
devuelve un ValueMap
. Luego leemos una propiedad de cadena bgkcolor
y proporcionamos un valor predeterminado de "FFFFFF" en caso de que la propiedad (o el elemento de configuración completo) no esté presente.
Ahora veamos el contenido JCR correspondiente:
/content/dam/wknd
+ jcr:content
- cq:conf = "/conf/wknd"
+ image.png [dam:Asset]
/conf/wkns
+ settings
+ dam
+ imageserver [cq:Page]
+ jcr:content
- bgkcolor = "FF0000"
En este ejemplo, asumimos una carpeta DAM específica de WKND aquí y una configuración correspondiente. A partir de esa carpeta /content/dam/wknd
, veremos que hay una propiedad de cadena denominada cq:conf
que hace referencia a la configuración que debe aplicarse al subárbol. La propiedad generalmente se establece en jcr:content
de una carpeta o página de recursos. Estos vínculos conf
son explícitos, por lo que es fácil seguirlos con solo mirar el contenido en CRXDE.
Al saltar dentro de /conf
, seguimos la referencia y vemos que hay un nodo /conf/wknd
. Esta es una configuración. Tenga en cuenta que su búsqueda es completamente transparente para el código de la aplicación. El código de ejemplo nunca tiene una referencia dedicada a él, está oculto detrás del objeto Conf
. La configuración que se aplica se controla completamente a través del contenido JCR.
Vemos que la configuración contiene un nodo con nombre fijo settings
que contiene los elementos reales, incluido el dam/imageserver
que necesitamos en nuestro caso. Este elemento se puede considerar como un "documento de configuración" y generalmente se representa mediante un cq:Page
que incluye un jcr:content
que contiene el contenido real.
Finalmente, vemos la propiedad bgkcolor
que necesita nuestro código de muestra. El ValueMap
que obtenemos de getItem
se basa en el nodo jcr:content
de la página.
El ejemplo básico anterior mostraba una configuración única. Sin embargo, hay muchos casos en los que desea tener configuraciones diferentes, como una configuración global predeterminada, una diferente para cada marca y tal vez una específica para sus subproyectos.
Para admitir esto, la búsqueda de configuración en AEM tiene herencia y mecanismo de reserva en el siguiente orden de preferencia:
/conf/<siteconfig>/<parentconfig>/<myconfig>
cq:conf
en algún lugar de /content
/conf/<siteconfig>/<parentconfig>
/conf/<siteconfig>
/conf/global
admin
/apps
/libs
Las configuraciones de AEM se basan en configuraciones según el contexto de Sling. Los paquetes de Sling proporcionan una API de servicio que puede utilizarse para obtener configuraciones según el contexto. Las configuraciones según el contexto son configuraciones que están relacionadas con un recurso de contenido o un árbol de recursos como se describió en el ejemplo anterior.
Para obtener más información sobre las configuraciones según el contexto, ejemplos y cómo utilizarlos, consulte la documentación de Sling.
Para fines de depuración y prueba, existe una consola Web ConfMgr en https://<host>:<port>/system/console/conf
, que puede mostrar configuraciones para una ruta/elemento determinado.
Simplemente proporcione:
Haga clic en Resolver para ver qué configuraciones se resuelven y recibir código de muestra que resuelva dichas configuraciones.
Para depurar y probar, existe una consola web de configuración según el contexto en https://<host>:<port>/system/console/slingcaconfig
, que permite consultar las configuraciones según el contexto en el repositorio y ver sus propiedades.
Simplemente proporcione:
Haga clic en Resolver para recuperar las rutas y propiedades de contexto asociadas para la configuración seleccionada.