Pubblicazione di pagine con frammenti di contenuto nidificati in modo profondo
Questo articolo descrive come risolvere le situazioni in cui le pagine AEM Sites che fanno riferimento a frammenti di contenuto profondamente nidificati non vengono pubblicate a causa di timeout durante il processo di ricerca ricorsiva dei riferimenti.
Descrizione description
Ambiente
Adobe Experience Manager as a Cloud Service (tutte le versioni)
Problema/Sintomi
Quando si pubblicano pagine AEM Sites che fanno riferimento a frammenti di contenuto con riferimenti nidificati ampi o profondi, la pagina non viene visualizzata nel payload Gestisci pubblicazione e non viene pubblicata. Ciò si verifica quando un frammento di contenuto fa riferimento a molti altri frammenti di contenuto, dando luogo a migliaia di riferimenti nidificati e a più livelli di nidificazione. Il processo di controllo dei riferimenti diventa lento e potrebbe subire un timeout, impedendo l’inclusione della pagina nel flusso di lavoro di pubblicazione. Nell’interfaccia utente non viene visualizzato alcun messaggio di errore esplicito, ma la pagina prevista non è presente nel payload della pubblicazione.
Causa
La ricerca ricorsiva dei riferimenti per frammenti di contenuto nidificati in profondità può causare il deterioramento delle prestazioni e timeout, impedendo l’inclusione delle pagine nel payload della pubblicazione. La disattivazione della ricerca ricorsiva migliora le prestazioni, ma richiede la gestione manuale della pubblicazione dei frammenti nidificati.
Risoluzione resolution
Per risolvere il problema relativo alla mancata pubblicazione delle pagine AEM Sites che fanno riferimento a frammenti di contenuto profondamente nidificati, effettua le seguenti operazioni:
-
Disabilita la ricerca di riferimento per frammenti di contenuto ricorsivi aggiornando la configurazione per
com.day.cq.wcm.core.impl.reference.ActivationReferenceSearchServiceImple impostando l’opzione per disabilitare la ricerca di riferimento per frammenti di contenuto ricorsivi. -
Aggiorna la configurazione tramite Cloud Manager:
- Nel progetto Cloud Manager aggiungere o aggiornare il file di configurazione OSGi per
com.day.cq.wcm.core.impl.reference.ActivationReferenceSearchServiceImpl. - Imposta
"enable.recursive.cf.reference.search": falsenella configurazione. - Esegui il commit e distribuisci la configurazione tramite la pipeline Cloud Manager.
- Nel progetto Cloud Manager aggiungere o aggiornare il file di configurazione OSGi per
-
In alternativa, aggiorna la configurazione tramite la console OSGi in ambienti locali o non di produzione:
- Accedi all’istanza di AEM Author.
- Passa a
/system/console/configMgr. - Cerca
ActivationReferenceSearchServiceImpl. - Modificare la configurazione e impostare la ricerca di riferimento per frammenti di contenuto ricorsivi su
false. - Salva la configurazione.
-
Dopo aver disabilitato la ricerca ricorsiva, prova a pubblicare di nuovo la pagina interessata utilizzando Gestisci pubblicazione. Ora la pagina deve essere inclusa nel payload della pubblicazione e pubblicata correttamente.
-
Pubblica manualmente i frammenti di contenuto annidati in modo approfondito, in base alle esigenze. Se la ricerca ricorsiva è disattivata, vengono risolti automaticamente solo i riferimenti di primo livello. Assicurati che tutti i frammenti di contenuto nidificati richiesti siano pubblicati pubblicandoli manualmente tramite le console CF/Assets o includendo le cartelle CF pertinenti nel processo di pubblicazione.