Com o Adobe Experience Manager (AEM), você pode usar Fragmentos de conteúdo, juntamente com a API do GraphQL AEM (uma implementação personalizada, com base no GraphQL padrão), para fornecer conteúdo estruturado para uso em seus aplicativos de forma headless. A capacidade de personalizar uma única consulta de API permite recuperar e entregar o conteúdo específico que você deseja/precisa renderizar (como resposta à consulta de API).
Atualmente, o GraphQL é usado em dois cenários (separados) no Adobe Experience Manager (AEM):
Um sistema de gerenciamento de conteúdo (CMS) headless é:
“Um sistema de gerenciamento de conteúdo headless, ou CMS headless, é um sistema de gerenciamento de conteúdo (CMS) de back-end criado desde o início como um repositório de conteúdo que torna o conteúdo acessível por meio de uma API para exibição em qualquer dispositivo“.
Consulte a Wikipédia.
Em termos de criação de fragmentos de conteúdo no AEM, isso significa que:
É possível usar fragmentos de conteúdo para criar um conteúdo que não é inicialmente destinado a ser publicado diretamente (1:1) em páginas formatadas.
O conteúdo dos fragmentos de conteúdo será estruturado de maneira predeterminada, de acordo com os Modelos de fragmento de conteúdo. Isso simplifica o acesso para os seus aplicativos, que processarão ainda mais seu conteúdo.
O GraphQL é:
“…um idioma de consulta para APIs e um tempo de execução para realizar essas consultas com seus dados existentes.”.
Consulte GraphQL.org
A API GraphQL do AEM permite realizar consultas (complexas) nos fragmentos de conteúdo; cada uma dessas consultas está de acordo com um tipo de modelo específico. O conteúdo retornado pode ser usado pelos seus aplicativos.
Para a Adobe Experience Platform, foi desenvolvida uma implementação personalizada da API padrão do GraphQL. Consulte API GraphQL do AEM para uso com fragmentos de conteúdo para obter detalhes.
A implementação da API GraphQL do AEM é baseada nas bibliotecas GraphQL do Java.
Os fragmentos de conteúdo podem ser usados como base para o GraphQL em consultas do AEM, pois:
Fragmentos de conteúdo:
Contêm conteúdo estruturado.
Baseiam-se em um Modelo de fragmento de conteúdo, que predefine a estrutura do fragmento resultante.
Esses Modelos de fragmento de conteúdo:
São usados para gerar os Esquemas, uma vez Ativados.
Fornecem os tipos de dados e campos necessários para o GraphQL. Garantem que seu aplicativo solicite apenas o que é possível e receba o que é esperado.
O tipo de dados Referências de fragmento pode ser usado no modelo para fazer referência a outro fragmento de conteúdo e, assim, introduzir níveis adicionais de estrutura.
É particularmente interessante em conjunto com o GraphQL.
É um tipo de dados específico que pode ser usado ao definir um Modelo de fragmento de conteúdo.
Faz referência a outro fragmento, dependente de um Modelo de fragmento de conteúdo específico.
Permite recuperar dados estruturados.
Para ajudar a projetar e desenvolver os Modelos de fragmentos de conteúdo, você pode visualizar a saída JSON.
Consulte Saiba como usar o GraphQL com o AEM - Exemplos de conteúdo e consultas para obter uma introdução sobre o uso da API GraphQL do AEM.
Procurando um tutorial prático? Veja o tutorial completo de Introdução ao AEM Headless e GraphQL que ilustra como criar e expor conteúdo usando as APIs GraphQL do AEM e consumi-lo por meio de um aplicativo externo, em um cenário de CMS headless.