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:

  1. Disabilita la ricerca di riferimento per frammenti di contenuto ricorsivi aggiornando la configurazione per com.day.cq.wcm.core.impl.reference.ActivationReferenceSearchServiceImpl e impostando l’opzione per disabilitare la ricerca di riferimento per frammenti di contenuto ricorsivi.

  2. 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": false nella configurazione.
    • Esegui il commit e distribuisci la configurazione tramite la pipeline Cloud Manager.
  3. 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.
  4. 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.

  5. 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.

recommendation-more-help
experience-cloud-kcs-help-kbarticles