GraphQL "includeVariations" restituisce vuoto con filtri in AEMaaCS

In AEMaaCS, il parametro includeVariations:true in una query GraphQL restituisce risultati vuoti quando viene applicato un filtro aggiuntivo, ad esempio _path. Ciò si verifica quando si recuperano varianti di frammenti di contenuto con filtri specifici. Per risolvere il problema, abilita il filtro ibrido e modifica il filtro query.

Descrizione description

Ambiente

  • Prodotto: Adobe Experience Manager (AEM) as a Cloud Service - Sites
  • Istanza: Sviluppo

Problema/Sintomi

  • L'utilizzo di includeVariations:true restituisce risultati corretti.
  • L'aggiunta di filtri (ad esempio, _path) genera un output di query vuoto.
  • Si verifica quando si recuperano varianti di frammenti di contenuto con i filtri

Risoluzione resolution

Per risolvere il problema, effettua le seguenti operazioni:

  1. Abilitare il filtro ibrido aggiungendo la proprietà cfGlobalVersion=1 a /content/dam. Migliora le prestazioni delle query e risolve i problemi di filtro basati sui percorsi. Per ulteriori informazioni, consulta la documentazione di Utilizzare il filtro ibrido di AEM GraphQL.

  2. Testarlo in un ambiente inferiore prima di applicarlo alla produzione.

  3. Modificare i filtri delle query. Utilizza l'operatore STARTS_WITH per _path invece di EQUALS nelle espressioni:

    code language-none
    [
                {
                    value: "/content/dam/content-fragments/sites/example-path/",
                     _operator: STARTS_WITH
                 }
            ]
    

    Nota: questa soluzione alternativa non funziona se è abilitato il filtro ibrido.

  4. Se sono necessarie più varianti, esegui esplicitamente una query su ciascuna variante utilizzando alias, come illustrato di seguito:

    code language-none
    query($path: String!) {
           standard: pageByPath(_path: $path, variation: "standard") {
             item {       _path
               title       _variation
             }
           }
           premier: pageByPath(_path: $path, variation: "premier") {
             item {       _path
               title       _variation
             }
           }
         }
    
  5. Per ottimizzare la progettazione delle query, se è necessaria una sola variante specifica, specificarla direttamente nella query utilizzando il parametro di variante anziché affidarsi a includeVariations: true.

  6. Verifica la presenza di frammenti di contenuto non validi in cui mancano i modelli di contenuto associati.

  7. Rimuovi i frammenti non validi o rendili validi associandoli ai modelli appropriati.

  8. Dopo aver abilitato il filtro ibrido o aver apportato modifiche, verifica i registri sia sull’istanza di authoring che su quella di pubblicazione per verificare che le impostazioni siano applicate correttamente.

  9. Utilizza le query elenco con moderazione quando è necessario un solo frammento; preferisci le query mirate (ad esempio, pageByPath).

Lettura correlata

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f