Como fazer uma ativação de árvore no AEM como um serviço de nuvem
Às vezes, é necessário publicar uma árvore inteira de documentos ou ativos, como quando uma série inteira de documentos está pronta para ser publicada ou quando você acaba de fazer uma migração de ativos para o AEM como um serviço em nuvem. A maneira como se faz essas ativações em massa mudou nos últimos anos, e você não pode mais fazer uma replicação em árvore da maneira antiga no AEM Cloud Service. Veja o que mudou:
Replicação em árvore na versão anterior do AEM
Nas versões anteriores do AEM (i.e. AEM 6.5 e versões anteriores), ao precisar fazer a ativação em massa (ou “publicação em massa”), usaria a funcionalidade “Replicação em árvore” ou “Ativação em árvore” no AEM. Isso colocaria em fila todas as páginas ou ativos que você deseja replicar e adicionaria cada um deles à fila de replicação do AEM.
Neste ponto, você iniciou uma das formas mais antigas e clássicas de incendiar o AEM, já que várias coisas podem e acontecem com frequência:
- A fila de replicação pode ser carregada com centenas, milhares, às vezes CENTENAS DE MILHARES de ativos e páginas, dependendo do tamanho da árvore de conteúdo que você pediu que o AEM ativasse e de quantos subativos ou páginas secundárias precisaram ser inseridos.
- O autor do AEM pode então ficar extremamente atolado tentando colocar todo esse tráfego de replicação em um armazenamento temporário para enviá-lo aos editores do AEM.
- Qualquer ativação de página comum atual que outros autores possam estar fazendo no momento precisa ficar atrás dessa enorme fila de tráfego de replicação, que pode levar horas (ou até mesmo o fim de semana inteiro, como vi em alguns casos)
- Se houver ALGUM problema com qualquer um dos editores, a fila será interrompida (um dos muitos editores com alta CPU, rede ou falha de armazenamento enquanto um dos itens estava sendo replicado, um mau presságio é visto no céu pelo xamã da sua equipe, QUALQUER COISA). Isso trancará toda a fila de replicação até que o problema seja resolvido.
- Se houver algum problema de permissão com qualquer um dos ativos ou páginas que estão sendo replicados (ou seja, o usuário que os publica possivelmente não tem acesso à árvore completa por algum motivo, ou talvez algo tenha sido feito manualmente para um dos editores que você não contabilizou), a fila será interrompida.
- Ou um evento de replicação de árvore pode causar tantos eventos de invalidação de cache que a carga recebida pode travar os editores enquanto eles tentam ativar ativos repetidamente.
Qualquer pessoa que tenha administrado um site do AEM por qualquer período de tempo provavelmente enfrentou problemas de replicação e confiabilidade do site associados à replicação em árvore.
Replicação de árvores no AEM como um serviço em nuvem
Quando o AEM como serviço de nuvem foi lançado pela primeira vez, a replicação em árvore ainda estava disponível (com limites) e era feita de forma semelhante à feita no AEM 6.5. (a interface de usuário do Tree Replication foi, na verdade, removida no final de 2021)
Como primeira observação, você deve estar ciente do fato de que a “replicação”, como é conhecida no AEM 6.5 e antes, não é mais a forma como o conteúdo passa do autor para a publicação. Isso agora é feito com a Sling Distribution. Veja este vídeo do AdaptTo para saber mais sobre como isso funciona:
O novo mecanismo para replicação de árvores é o fluxo de trabalho “Publicar árvore de conteúdo”.
O que esse fluxo de trabalho basicamente faz é:
- O início do fluxo de trabalho solicita uma carga útil de qual árvore você deseja ativar (ou seja, a partir de qual nível)
- Em seguida, o AEM iniciará o fluxo de trabalho e agrupará a replicação da árvore em pacotes que, em seguida, distribuirá a todos os editores usando o Sling Distribution. Ele percorrerá recursivamente todo o caminho da carga útil até ser concluído.
Veja o que fazer para colocá-lo em uso: digamos que você tenha acabado de fazer uma migração de ativos da sua instância local do AEM 6.5 Assets para o AEM as a Cloud Service. Digamos que você tenha o caminho “/content/dam/arborydigital/images”, que tem uma série de subárvores contendo milhares de imagens que você deseja ativar. Para ativar/publicar esses:
-
Acesse sua instância do AEM Cloud Service Author
-
Vá para Ferramentas - > Fluxo de trabalho - > Modelos
-
Clique em “CRIAR” e depois em “Criar modelo” no canto superior direito
-
Dê um nome a ele
-
Clique no modelo de fluxo de trabalho e clique em “EDITAR”
-
Pesquise por “Etapa do processo” e arraste-a como uma etapa em seu fluxo de trabalho
-
Clique na etapa do processo e clique no ícone de chave inglesa para configurar essa etapa. Clique na guia “PROCESSAR” na caixa de diálogo que aparece.
-
Selecione o processo “Publicar árvore de conteúdo” e marque a caixa de seleção “Handler Advance”.
-
Adicione “enableVersion=true, agentId=publish, includeChildren=true” nos argumentos. Por padrão, o fluxo de trabalho Publicar Árvore de Conteúdo NÃO inclui crianças. Adicionar esse argumento faz com que o fluxo de trabalho itere pela árvore e publique todos os nós secundários.
Além disso, se você quiser segmentar apenas a visualização com esse fluxo de trabalho em vez de sua camada de publicação, você pode colocar “agentID=preview” como argumento. (Grite para Eric Van Geem por apontar isso!) -
Clique no botão “SYNC” no canto superior direito
-
Selecione seu novo fluxo de trabalho na lista Modelos de fluxo de trabalho e clique em “INICIAR FLUXO DE TRABALHO”. Na caixa de diálogo que aparece, na “Carga útil”, você pode digitar ou navegar até a árvore que deseja ativar. Por exemplo, inserir “/content/dam/arborydigital/images” ativará TODOS os nós nesse diretório. Clique em “RUN”.
-
Em seguida, o fluxo de trabalho será iniciado e levará de alguns minutos a algumas horas para ser concluído, dependendo de quantos ativos você acabou de solicitar que ele ative.
-
Monitoramento: você pode então monitorar o status do seu evento de replicação examinando o log `aemerror` no Splunk ou acompanhando os registros de erros do AEM com o Adobe IO na linha de comando.
Você verá eventos como esse, que indicam que os pacotes de ativação da árvore estão sendo lançados para publicação:
20.08.2024 13:53:24.538 [cm-p107857-e1299068-aem-author-6d6b4bddf6-bnhwx] *INFO* [eventAdminAsyncThread #7] org.apache.sling.distribution.journal.impl.publisher.distributionPublisher [publicar] Pacote aplicado com sucesso com id dstrpck-1724161011143-d6d35a6a-d557-4f99-9906-e8eb55e7772c, digite ADD, paths [/content/dam/arborydigital/images/smoothing-spline-jmp.jpg, /content/dam/arborydigital/images/screenshots/gallery/blorp.jpg...
Limites: ainda não encontrei nenhum limite sobre “quão grande é muito grande” para ativar ativos. Enquanto escrevia esta postagem no blog, iniciei um fluxo de trabalho de replicação em árvore no AEM Cloud Service para uma árvore de conteúdo contendo aproximadamente 100 GB de ativos, e a árvore terminou antes de eu terminar de escrever a postagem do blog.
Espero que isso funcione bem para você!
Sobre o autor
Gostou do que você ouviu? Tem dúvidas sobre o que é certo para você? Adoraríamos conversar! Entre em contato conosco