Le déplacement de composant échoue dans Adobe Experience Manager lorsque des conteneurs volumineux déclenchent des réponses JSON fractionnées

Cet article explique pourquoi le déplacement de composants dans une page dans Adobe Experience Manager (AEM) échoue lorsque la page contient un grand nombre de nœuds de contenu et fournit une solution temporaire.

Description description

Lorsque vous utilisez AEM, le déplacement d’un composant dans une page qui contient un grand nombre de nœuds de contenu ne fonctionne pas comme prévu. Ce problème se produit lorsque le nombre de nœuds dans un conteneur dépasse la limite configurée pour les résultats JSON dans le servlet GET Apache Sling (DefaultGetServlet). Par défaut, cette limite est définie sur 1 000 nœuds. Lorsque la limite est dépassée, une requête au point d’entrée .infinity.json du conteneur renvoie une réponse HTTP 300 avec des références à plusieurs fichiers JSON partagés au lieu d’une seule réponse JSON. L’interface utilisateur de création d’AEM ne gère pas correctement cette réponse partagée, ce qui entraîne l’échec silencieux de l’opération de déplacement du composant.

Environnement

  • Adobe Experience Manager (toutes versions)

Symptômes

  • Toute tentative de déplacement d’un composant dans une page contenant un grand nombre de nœuds est sans effet.
  • La requête de /container.infinity.json renvoie une réponse HTTP 300 avec des références à plusieurs fichiers JSON fractionnés, tels que :
  • /content/.../jcr:content/root/container.2.json
  • /content/.../jcr:content/root/container.1.json
  • /content/.../jcr:content/root/container.0.json

Cause

Le DefaultGetServlet applique une limite au nombre de nœuds renvoyés dans une seule réponse JSON. Lorsque cette limite est dépassée, le servlet renvoie une réponse partagée, qui n’est actuellement pas gérée par le workflow de création d’AEM lors des opérations de déplacement de composant.

Résolution resolution

Suivez les étapes ci-dessous pour résoudre le problème :

  1. Connectez-vous à la Configuration de la console web AEM à l’adresse /system/console/configMgr.
  2. Recherchez la configuration du servlet de GET Apache Sling (org.apache.sling.servlets.get.DefaultGetServlet).
  3. Augmentez la valeur de json.maximumresults sur un nombre supérieur au nombre total de nœuds dans votre conteneur le plus volumineux (par exemple : augmentez de 1 000 à 2 000).
  4. Enregistrez la configuration.
  5. Réessayez l’opération de déplacement du composant pour vérifier si elle s’est maintenant terminée correctement.
  6. Surveillez les futures notes de mise à jour d’AEM Sites pour obtenir des mises à jour concernant un correctif permanent pour ce problème.
recommendation-more-help
experience-cloud-kcs-help-kbarticles