Publication de pages avec des fragments de contenu profondément imbriqués
Cet article décrit comment résoudre les situations où les pages AEM Sites référençant des fragments de contenu profondément imbriqués ne parviennent pas à publier en raison de délais d’expiration pendant le processus de recherche de référence récursive.
Description description
Environnement
Adobe Experience Manager as a Cloud Service (toutes versions)
Problème/Symptômes
Lors de la publication de pages AEM Sites qui font référence à des fragments de contenu avec des références imbriquées profondes ou larges, la page n’apparaît pas dans la payload Gérer la publication et n’est pas publiée. Cela se produit lorsqu’un fragment de contenu fait référence à de nombreux autres fragments de contenu, ce qui entraîne des milliers de références imbriquées et plusieurs niveaux d’imbrication. Le processus de vérification des références devient lent et peut expirer, ce qui empêche la page d’être incluse dans le workflow de publication. Aucun message d’erreur explicite n’apparaît dans l’interface utilisateur, mais la page attendue est absente de la payload de publication.
Cause
La recherche de référence récursive pour les fragments de contenu profondément imbriqués peut entraîner une dégradation des performances et des délais d’expiration, empêchant les pages d’être incluses dans la payload de publication. La désactivation de la recherche récursive améliore les performances, mais nécessite la gestion manuelle de la publication de fragments imbriqués.
Résolution resolution
Pour résoudre le problème de publication des pages AEM Sites référençant des fragments de contenu profondément imbriqués, procédez comme suit :
-
Désactivez la recherche récursive de références de fragments de contenu en mettant à jour la configuration pour
com.day.cq.wcm.core.impl.reference.ActivationReferenceSearchServiceImplet en définissant l’option pour désactiver la recherche récursive de références de fragments de contenu. -
Mettez à jour la configuration via Cloud Manager :
- Dans votre projet Cloud Manager, ajoutez ou mettez à jour le fichier de configuration OSGi pour
com.day.cq.wcm.core.impl.reference.ActivationReferenceSearchServiceImpl. - Définissez
"enable.recursive.cf.reference.search": falsedans la configuration. - Validez et déployez la configuration via votre pipeline Cloud Manager.
- Dans votre projet Cloud Manager, ajoutez ou mettez à jour le fichier de configuration OSGi pour
-
Vous pouvez également mettre à jour la configuration via la console OSGi dans des environnements locaux ou hors production :
- Connectez-vous à l’instance d’auteur AEM.
- Accédez à
/system/console/configMgr. - Recherchez
ActivationReferenceSearchServiceImpl. - Modifiez la configuration et définissez la recherche récursive de référence de fragment de contenu sur
false. - Enregistrez la configuration.
-
Après avoir désactivé la recherche récursive, essayez de publier à nouveau la page concernée à l’aide de la fonction Gérer la publication. La page doit maintenant être incluse dans la payload de publication et la publication doit réussir.
-
Publiez manuellement les fragments de contenu profondément imbriqués selon les besoins. Lorsque la recherche récursive est désactivée, seules les références de premier niveau sont automatiquement résolues. Assurez-vous que tous les fragments de contenu imbriqués requis sont publiés en les publiant manuellement par le biais des consoles CF/Assets ou en incluant les dossiers CF appropriés dans votre processus de publication.