A movimentação de componentes falha no Adobe Experience Manager quando contêineres grandes acionam respostas JSON divididas

Este artigo explica por que a movimentação de componentes em uma página no Adobe Experience Manager (AEM) falha quando a página contém um grande número de nós de conteúdo e fornece uma solução temporária.

Descrição description

Ao usar o AEM, mover um componente em uma página que contém um grande número de nós de conteúdo não funciona como esperado. Esse problema ocorre quando o número de nós em um container excede o limite configurado para resultados JSON no Apache Sling GET Servlet (DefaultGetServlet). Por padrão, esse limite é definido como 1000 nós. Quando o limite é excedido, uma solicitação para o ponto de extremidade .infinity.json do contêiner retorna uma resposta HTTP 300 com referências a vários arquivos JSON divididos em vez de uma única resposta JSON. A interface do usuário de criação do AEM não trata essa resposta dividida corretamente, causando falha silenciosa na operação de movimentação de componente.

Ambiente

  • Adobe Experience Manager (todas as versões)

Sintomas

  • A tentativa de mover um componente em uma página que contém um grande número de nós não tem efeito.
  • A solicitação para /container.infinity.json retorna uma resposta HTTP 300 com referências a vários arquivos JSON divididos, como:
  • /content/.../jcr:content/root/container.2.json
  • /content/.../jcr:content/root/container.1.json
  • /content/.../jcr:content/root/container.0.json

Causa

O DefaultGetServlet impõe um limite ao número de nós retornados em uma única resposta JSON. Quando esse limite é excedido, o servlet retorna uma resposta de divisão, que não é tratada atualmente pelo fluxo de trabalho de criação do AEM durante as operações de movimentação de componentes.

Resolução resolution

Siga as etapas abaixo para resolver o problema:

  1. Faça logon na Configuração do AEM Web Console em /system/console/configMgr.
  2. Localize a configuração do Apache Sling GET Servlet (org.apache.sling.servlets.get.DefaultGetServlet).
  3. Aumente o valor de json.maximumresults para um número maior que o total de nós no seu maior contêiner (por exemplo: aumente de 1000 para 2000).
  4. Salve a configuração.
  5. Repita a operação de movimentação do componente para verificar se ele agora é concluído com êxito.
  6. Monitore as notas de versão futuras do AEM Sites para obter atualizações relacionadas a uma correção permanente para esse problema.
recommendation-more-help
experience-cloud-kcs-help-kbarticles