Lo spostamento del componente non riesce in Adobe Experience Manager quando contenitori di grandi dimensioni attivano risposte JSON divise

Questo articolo spiega perché lo spostamento di componenti all’interno di una pagina in Adobe Experience Manager (AEM) non riesce se la pagina contiene un numero elevato di nodi di contenuto e fornisce una soluzione alternativa temporanea.

Descrizione description

Quando si utilizza AEM, lo spostamento di un componente all’interno di una pagina che contiene un numero elevato di nodi di contenuto non funziona come previsto. Questo problema si verifica quando il numero di nodi in un contenitore supera il limite configurato per i risultati JSON nel servlet Apache Sling GET (DefaultGetServlet). Per impostazione predefinita, questo limite è impostato su 1000 nodi. Quando il limite viene superato, una richiesta all’endpoint .infinity.json del contenitore restituisce una risposta HTTP 300 con riferimenti a più file JSON suddivisi anziché a una singola risposta JSON. L’interfaccia utente di authoring di AEM non gestisce correttamente questa risposta di suddivisione, causando un errore silenzioso nell’operazione di spostamento del componente.

Ambiente

  • Adobe Experience Manager (tutte le versioni)

Sintomi

  • Il tentativo di spostare un componente all’interno di una pagina contenente un numero elevato di nodi non ha alcun effetto.
  • La richiesta a /container.infinity.json restituisce una risposta HTTP 300 con riferimenti a più file JSON suddivisi, ad esempio:
  • /content/.../jcr:content/root/container.2.json
  • /content/.../jcr:content/root/container.1.json
  • /content/.../jcr:content/root/container.0.json

Causa

DefaultGetServlet applica un limite al numero di nodi restituiti in una singola risposta JSON. Quando questo limite viene superato, il servlet restituisce una risposta divisa che al momento non è gestita dal flusso di lavoro di authoring di AEM durante le operazioni di spostamento dei componenti.

Risoluzione resolution

Per risolvere il problema, segui i passaggi seguenti:

  1. Accedere alla configurazione della console Web AEM all’indirizzo /system/console/configMgr.
  2. Individua la configurazione per Apache Sling GET Servlet (org.apache.sling.servlets.get.DefaultGetServlet).
  3. Aumentare il valore di json.maximumresults a un numero maggiore del totale dei nodi nel contenitore più grande (ad esempio, da 1000 a 2000).
  4. Salva la configurazione.
  5. Ripetere l’operazione di spostamento del componente per verificare se è stato completato correttamente.
  6. Monitora le future note sulla versione di AEM Sites per aggiornamenti relativi a una correzione permanente per questo problema.
recommendation-more-help
experience-cloud-kcs-help-kbarticles