Configurações e o navegador de configuração

AEM configurações servem para gerenciar configurações no AEM e servir como espaços de trabalho.

O que é uma configuração?

Uma configuração pode ser considerada a partir de dois pontos de vista diferentes.

  • Um administrador usa configurações como espaços de trabalho no AEM para definir e gerenciar grupos de configurações.
  • Um desenvolvedor usa o mecanismo de configuração subjacente que implementa configurações para persistir e buscar configurações no AEM.

Em resumo: do ponto de vista do administrador, as configurações são a forma como você cria espaços de trabalho para gerenciar as 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:

  • As configurações permitem determinados recursos para determinados grupos de usuários.
  • As configurações definem direitos de acesso para esses recursos.

Configurações como administrador

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.

As configurações podem ser criadas para vários recursos diferentes no AEM.

Exemplo

Por exemplo, um administrador pode criar duas configurações para Modelos editáveis.

  • WKND-Geral
  • WKND-Magazine

O administrador pode então criar modelos de página gerais usando a configuração WKND-General 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 da WKND-Magazine seria associada apenas ao site de revistas.

Ao fazer isso:

  • Quando um autor de conteúdo cria uma nova página para a revista, o autor pode escolher entre modelos gerais (WKND-General) ou modelos de revista (WKND-Magazine).
  • Quando um autor de conteúdo cria uma nova página para outra parte do site que não é a revista, o autor só pode escolher entre os modelos gerais (WKND-General).

Configurações semelhantes são possíveis não apenas para Modelos editáveis, mas também para Configurações de nuvem, Segmentos do ContextHub e Modelos de fragmento de conteúdo.

Usar o navegador de configuração

O Navegador de configuração permite que um administrador crie, gerencie e configure facilmente os direitos de acesso às configurações no AEM.

OBSERVAÇÃO

Só é possível criar configurações usando o Navegador de configuração se o usuário tiver direitos de admin. admin direitos também são necessários para atribuir direitos de acesso à configuração ou modificar uma configuração de outra forma.

Criação de uma configuração

É muito simples criar uma nova configuração no AEM usando o Navegador de configuração.

  1. Efetue login no AEM como um Cloud Service e, no menu principal, selecione Ferramentas -> Geral -> Navegador de configuração.

  2. Toque ou clique em Criar.

  3. Forneça um Título e um Nome para sua configuração.

    Criar configuração

    • O Title deve ser descritivo.
    • O Name se tornará o nome do nó no repositório.
  4. Verifique o tipo de configurações que deseja permitir.

  5. Toque ou clique em Criar.

DICA

As configurações podem ser aninhadas.

Editar configurações e seus direitos de acesso

Se você pensar em 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.

  1. Efetue login no AEM como um Cloud Service e, no menu principal, selecione Ferramentas -> Geral -> Navegador de configuração.
  2. Selecione a configuração que deseja modificar e toque ou clique em Propriedades na barra de ferramentas.
  3. Selecione os recursos adicionais que deseja adicionar à configuração
    OBSERVAÇÃO

    Não é possível desmarcar um recurso depois que a configuração é criada.

    1. Use o botão **Permissões efetivas** para exibir uma matriz de funções e quais permissões são concedidas atualmente às configurações. ![Janela de permissões efetivas](/docs/experience-manager-cloud-service/assets/configuration-effective-permissions.png?lang=pt-BR)
  4. Para atribuir novas permissões, digite o nome do usuário ou grupo no campo Selecionar usuário ou grupo na seção Adicionar novas permissões.
    • O campo Selecionar usuário ou grupo oferece o preenchimento automático com base nos usuários e funções existentes.
  5. Selecione o usuário ou a função apropriada nos resultados de preenchimento automático.
    • Você pode selecionar mais de um usuário ou função.
  6. Verifique as opções de acesso que os usuários ou funções selecionados devem ter e clique em Adicionar.
    Adicionar direitos de acesso a uma configuração
  7. Repita as etapas para selecionar usuários ou funções e atribuir direitos de acesso adicionais conforme necessário.
  8. Toque ou clique em Salvar e fechar quando terminar.

Configurações como um desenvolvedor

Como desenvolvedor, é importante saber como o AEM as a Cloud Service funciona com configurações e como ele processa a resolução da configuração.

Separação de configuração e conteúdo

Embora o administrador e usuários possam considerar as configurações como locais de trabalho para gerenciar configurações e conteúdo diferentes, é importante entender que as configurações e o conteúdo são armazenados e gerenciados separadamente pelo AEM no repositório.

  • /content O é o local de todo o conteúdo.
  • /conf O é o local de todas as configurações.

O conteúdo faz referência à configuração associada por meio de uma propriedade cq:conf . AEM realiza uma pesquisa com base no conteúdo e é propriedade cq:conf contextual para localizar a configuração apropriada.

Exemplo

Neste exemplo, suponhamos 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 objeto Conf em mãos, podemos recuperar o item de configuração específico em que estamos interessados. Nesse caso, é dam/imageserver, que é uma coleção de configurações relacionadas a imageserver. A chamada getItem retorna um ValueMap. Em seguida, lemos uma propriedade de string bgkcolor e fornecemos um valor padrão de "FFFFF" caso a propriedade (ou todo o item de configuração) não esteja presente.

Agora vamos analisar o conteúdo 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, assumimos uma pasta DAM específica do WKND aqui e uma configuração correspondente. A partir dessa pasta /content/dam/wknd, veremos que há uma propriedade de string chamada cq:conf que faz referência à configuração que deve se aplicar à subárvore. Normalmente, a propriedade será definida no jcr:content de uma pasta de ativos ou página. Esses links conf são explícitos, portanto, é fácil segui-los observando apenas o conteúdo no CRXDE.

Passando dentro de /conf, seguimos a referência e vemos que há um nó /conf/wknd. Esta é uma configuração. Observe que sua pesquisa é totalmente 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 objeto Conf. Qual configuração se aplica é totalmente controlada pelo conteúdo do JCR.

Vemos que a configuração contém um nó com nome fixo settings que contém os itens reais, incluindo o dam/imageserver que precisamos no nosso caso. Esse item pode ser considerado como um "documento de configurações" e geralmente é representado por um cq:Page incluindo um jcr:content contendo o conteúdo real.

Finalmente, vemos a propriedade bgkcolor que nosso código de amostra precisa. O ValueMap que obtemos de getItem é baseado no nó jcr:content da página.

Resolução de Configuração

O exemplo básico acima mostrou 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 dar suporte a isso, a pesquisa de configuração no AEM tem o mecanismo de herança e fallback na seguinte ordem de preferência:

  1. /conf/<siteconfig>/<parentconfig>/<myconfig>
    • Configuração específica referenciada de cq:conf em algum lugar em /content
    • A hierarquia é arbitrária e pode ser projetada da mesma forma que a estrutura do site, não é da responsabilidade do código do aplicativo saber isso
    • Alterável em tempo de execução por usuários com privilégios de configuração
  2. /conf/<siteconfig>/<parentconfig>
    • Pais transversais para configurações de fallback
    • Alterável em tempo de execução por usuários com privilégios de configuração
  3. /conf/<siteconfig>
    • Pais transversais para configurações de fallback
    • Alterável em tempo de execução por usuários com privilégios de configuração
  4. /conf/global
    • Configurações globais do sistema
    • Geralmente, os padrões globais para sua instalação
    • Definido por uma função admin
    • Alterável em tempo de execução por usuários com privilégios de configuração
  5. /apps
    • Padrões do aplicativo
    • Corrigido com a implantação do aplicativo
    • Somente leitura no tempo de execução
  6. /libs
    • Padrões de produto AEM
    • Somente alterável pelo Adobe, o acesso ao projeto não é permitido
    • Corrigido com a implantação do aplicativo
    • Somente leitura no tempo de execução

Uso de configurações

As configurações em AEM são baseadas em configurações sensíveis ao contexto do Sling. Os pacotes do 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á-las, consulte a documentação do Sling.

Console da Web do ConfMgr

Para fins de depuração e teste, há um console da Web ConfMgr em https://<host>:<port>/system/console/conf, que pode mostrar configurações para um determinado caminho/item.

ConfMgr

Basta fornecer:

  • Caminho do conteúdo
  • Item
  • Usuário

Clique em Resolver para ver quais configurações são resolvidas e receber o código de amostra que resolverá essas configurações.

Console da Web de configuração sensível ao contexto

Para fins de depuração e teste, há um console da Web Context-Aware Configuration em https://<host>:<port>/system/console/slingcaconfig, que permite consultar configurações sensíveis ao contexto no repositório e visualizar suas propriedades.

Console da Web de configuração sensível ao contexto

Basta fornecer:

  • Caminho do conteúdo
  • Nome da configuração

Clique em Resolver para recuperar os caminhos de contexto associados e as propriedades da configuração selecionada.

Nesta página