GraphQL "includeVariations" devuelve un valor vacío con filtros en AEMaaCS

En AEMaaCS, el parámetro includeVariations:true de una consulta GraphQL devuelve resultados vacíos cuando se aplica un filtro adicional (por ejemplo, _path). Esto sucede cuando se recuperan variaciones de fragmentos de contenido con filtros específicos. Para solucionar este problema, habilite el filtrado híbrido y modifique el filtro de consulta.

Descripción description

Entorno

  • Producto: Adobe Experience Manager (AEM) as a Cloud Service - Sitios
  • Instancia: Desarrollo

Problema/Síntomas

  • El uso de includeVariations:true devuelve resultados correctos.
  • Si agrega filtros (por ejemplo, _path), el resultado es un resultado de consulta vacío.
  • Se produce al recuperar variaciones de fragmentos de contenido con filtros

Resolución resolution

Para resolver el problema, siga estos pasos:

  1. Habilite el filtrado híbrido agregando la propiedad cfGlobalVersion=1 a /content/dam. Mejora el rendimiento de las consultas y corrige los problemas de filtrado basados en rutas. Consulte la Documentación sobre el uso del filtrado híbrido de AEM GraphQL para obtener más información.

  2. Pruébelo en un entorno inferior antes de aplicarlo a la producción.

  3. Modifique los filtros de consulta. Utilice el operador STARTS_WITH para _path en lugar de EQUALS en las expresiones:

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

    Nota: esta solución no funciona si el filtrado híbrido está habilitado.

  4. Si se requieren varias variaciones, consulte explícitamente cada variación con alias, como se muestra a continuación:

    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. Para optimizar el diseño de la consulta, si solo se necesita una variación específica, especifíquela directamente en la consulta utilizando el parámetro de variación en lugar de depender de includeVariations: true.

  6. Compruebe si hay fragmentos de contenido no válidos en los que falten los modelos de contenido asociados.

  7. Limpie los fragmentos no válidos o haga que sean válidos asociándolos a los modelos adecuados.

  8. Después de habilitar el filtrado híbrido o de realizar cambios, compruebe los registros de las instancias de autor y publicación para confirmar que la configuración se aplique correctamente.

  9. Utilice las consultas de lista con moderación cuando solo se necesite un fragmento; prefiera las consultas de destino (por ejemplo, pageByPath).

Lectura relacionada

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