As configurações do AEM servem para gerenciar configurações no AEM e servem como espaços de trabalho.
Uma configuração pode ser considerada a partir de dois pontos de vista diferentes.
Em resumo: do ponto de vista de um administrador, as configurações são a forma como você cria espaços de trabalho para gerenciar configurações no AEM, enquanto o desenvolvedor deve entender como o AEM usa e gerencia essas configurações no repositório.
Independentemente da sua perspectiva, as configurações atendem a dois objetivos principais no AEM:
O administrador do AEM e os autores podem considerar as configurações como espaços de trabalho. Esses espaços de trabalho podem ser usados para coletar grupos de configurações, bem como seu conteúdo associado para fins organizacionais, implementando direitos de acesso para esses recursos.
Configurações podem ser criadas para vários recursos diferentes dentro do AEM.
Por exemplo, um administrador pode criar duas configurações para Modelos editáveis.
O administrador pode criar modelos de página gerais usando a configuração geral da WKND e, em seguida, modelos específicos para a revista em WKND-Magazine.
O administrador pode então associar o WKND-General a todo o conteúdo do site WKND. No entanto, a configuração WKND-Magazine seria associada somente ao site do periódico.
Ao fazer isso:
Configurações semelhantes são possíveis não apenas para modelos editáveis, mas também para configurações em nuvem, segmentos do ContextHub e modelos de fragmento de conteúdo.
O Navegador de configuração permite que um administrador crie, gerencie e configure facilmente direitos de acesso a configurações no AEM.
Somente é possível criar configurações usando o Navegador de configuração se o usuário tiver admin
direitos. admin
também são necessários direitos para atribuir direitos de acesso à configuração ou modificar uma configuração de outra forma.
É muito simples criar uma nova configuração no AEM usando o Navegador de configuração.
Faça logon no AEM as a Cloud Service e, no menu principal, selecione Ferramentas -> Geral -> Navegador de configuração.
Toque ou clique em Criar.
Forneça um Título e um Nome para sua configuração.
Verifique o tipo de configurações que deseja permitir.
Toque ou clique em Criar.
As configurações podem ser aninhadas.
Se você pensar nas configurações como espaços de trabalho, os direitos de acesso poderão ser definidos nessas configurações para impor quem pode ou não acessar esses espaços de trabalho.
Não é possível desmarcar um recurso depois que a configuração é criada.
Como desenvolvedor, é importante saber como o AEM as a Cloud Service funciona com configurações e como ele processa a resolução de configurações.
Embora a o administrador e os usuários podem considerar as configurações como locais de trabalho para gerenciar diferentes configurações e conteúdo, é importante entender que as configurações e o conteúdo são armazenados e gerenciados separadamente pelo AEM no repositório.
/content
é o lar de todo o conteúdo./conf
O é o lar de todas as configurações.O conteúdo faz referência à sua configuração associada por meio de um cq:conf
propriedade. O AEM faz uma pesquisa com base no conteúdo e é contextual cq:conf
para encontrar a configuração apropriada.
Neste exemplo, vamos supor que você tenha algum código de aplicativo interessado nas configurações do DAM.
Conf conf = resource.adaptTo(Conf.class);
ValueMap imageServerSettings = conf.getItem("dam/imageserver");
String bgkcolor = imageServerSettings.get("bgkcolor", "FFFFFF");
O ponto de partida de toda a pesquisa de configuração é um recurso de conteúdo, geralmente em algum lugar em /content
. Pode ser uma página, um componente dentro de uma página, um ativo ou uma pasta DAM. Este é o conteúdo real para o qual estamos procurando a configuração correta que se aplica neste contexto.
Agora com o Conf
objeto em mãos, podemos recuperar o item de configuração específico em que estamos interessados. Neste caso, dam/imageserver
, que é uma coleção de configurações relacionadas à imageserver
. A variável getItem
a chamada retorna um ValueMap
. Depois lemos uma bgkcolor
e forneça um valor padrão de "FFFFFF" caso a propriedade (ou o item de configuração inteiro) não esteja presente.
Agora vamos observar o conteúdo JCR correspondente:
/content/dam/wknd
+ jcr:content
- cq:conf = "/conf/wknd"
+ image.png [dam:Asset]
/conf/wkns
+ settings
+ dam
+ imageserver [cq:Page]
+ jcr:content
- bgkcolor = "FF0000"
Neste exemplo, pressupomos uma pasta DAM específica WKND aqui e uma configuração correspondente. Iniciando nessa pasta /content/dam/wknd
, veremos que há uma propriedade de sequência de caracteres chamada cq:conf
que faz referência à configuração que deve ser aplicada à subárvore. Normalmente, a propriedade será definida no jcr:content
de uma pasta ou página de ativos. Esses conf
Os links são explícitos, portanto, é fácil segui-los apenas observando o conteúdo no CRXDE.
Pulando para dentro /conf
, seguimos a referência e vemos que há uma /conf/wknd
nó. Esta é uma configuração. Observe que a pesquisa é completamente transparente para o código do aplicativo. O código de exemplo nunca tem uma referência dedicada a ele, ele está oculto atrás do Conf
objeto. A configuração que se aplica é completamente controlada por meio do conteúdo JCR.
Vemos que a configuração contém um arquivo com nome fixo settings
nó que contém os itens reais, incluindo o dam/imageserver
precisamos no nosso caso. Esse item pode ser considerado um "documento de configurações" e geralmente é representado por um cq:Page
incluindo um jcr:content
retenção do conteúdo real.
Por fim, vemos a propriedade bgkcolor
que nosso código de amostra precisa. A variável ValueMap
voltamos do getItem
é baseado no da página jcr:content
nó.
O exemplo básico acima mostrava uma única configuração. Mas há muitos casos em que você deseja ter configurações diferentes, como uma configuração global padrão, uma diferente para cada marca e talvez uma específica para seus subprojetos.
Para oferecer suporte a isso, a pesquisa de configuração no AEM tem herança e mecanismo de fallback na seguinte ordem de preferência:
/conf/<siteconfig>/<parentconfig>/<myconfig>
cq:conf
em algum lugar em /content
/conf/<siteconfig>/<parentconfig>
/conf/<siteconfig>
/conf/global
admin
função/apps
/libs
As configurações no AEM são baseadas em configurações sensíveis ao contexto do Sling. Os pacotes Sling fornecem uma API de serviço que pode ser usada para obter configurações sensíveis ao contexto. As configurações sensíveis ao contexto são configurações relacionadas a um recurso de conteúdo ou a uma árvore de recursos como foi descrito no exemplo anterior.
Para obter mais detalhes sobre configurações sensíveis ao contexto, exemplos e como usá-los, consulte a documentação do Sling.
Para fins de depuração e teste, há uma ConfMgr console da web em https://<host>:<port>/system/console/conf
, que pode mostrar configurações para um determinado caminho/item.
Basta fornecer:
Clique em Resolver para ver quais configurações são resolvidas e receber um código de amostra que resolverá essas configurações.
Para fins de depuração e teste, há uma Configuração sensível ao contexto console da web em https://<host>:<port>/system/console/slingcaconfig
, que permite consultar configurações sensíveis ao contexto no repositório e visualizar suas propriedades.
Basta fornecer:
Clique em Resolver para recuperar os caminhos e propriedades de contexto associados à configuração selecionada.