Nesta parte do Jornada do desenvolvedor sem periféricos do AEM, você aprenderá a modelar sua estrutura de conteúdo. Em seguida, estabeleça essa estrutura no Adobe Experience Manager (AEM) usando modelos de fragmentos de conteúdo e fragmentos de conteúdo, para a reutilização em outros canais.
No início, Saiba mais sobre o desenvolvimento headless CMS a entrega de conteúdo headless abordada e por que ela é usada. Em seguida, a Introdução ao AEM Headless as a Cloud Service descreveu o AEM Headless no contexto de seu próprio projeto.
No documento anterior da jornada do AEM Headless, Caminho para a sua primeira experiência utilizando o AEM Headless, você aprendeu as etapas necessárias para implementar seu primeiro projeto. Depois de lê-lo, você pode fazer o seguinte:
Este artigo se baseia nesses fundamentos para que você entenda como preparar seu próprio projeto do AEM Headless.
A Modelagem de Dados é um campo grande, pois é usada ao desenvolver Bancos de Dados Relacionais. Há muitos livros e fontes de informação online disponíveis.
Essa jornada considera apenas os aspectos que são de interesse ao modelar dados para uso com AEM Headless.
O mundo é grande e complexo.
Talvez, mas talvez não. Trata-se certamente de uma complicado mundo lá fora e a modelagem de dados é usada para definir uma representação simplificada de uma subseção muito (muito) pequena, usando as informações específicas necessárias para um determinado propósito.
Como o AEM lida com conteúdo, essa jornada se refere à modelagem de dados como modelagem de conteúdo.
Por exemplo:
Existem muitas escolas, mas todas têm muitas coisas em comum:
Mesmo em um exemplo tão pequeno, a lista pode parecer infinita. Mas se você quiser que seu aplicativo execute apenas uma tarefa simples, limite as informações ao essencial.
Por exemplo, para realizar a publicidade de eventos especiais para todas as escolas da área, as seguintes informações são necessárias:
O que você deseja descrever é chamado de Entidades - basicamente as "coisas" sobre as quais você deseja armazenar informações.
As informações que você deseja armazenar sobre eles são as Atributos (propriedades), como Nome e Qualificações dos professores.
Há várias Relações entre as entidades. Por exemplo, geralmente uma escola tem apenas um diretor e muitos professores (e geralmente o diretor também é professor).
O processo de análise e definição dessas informações, junto com as relações entre elas, é chamado de Modelagem de conteúdo.
Muitas vezes, você deve começar elaborando um Esquema conceitual que descreve as entidades e seus relacionamentos. Geralmente, é um esquema de alto nível (conceitual).
Depois que isso estiver estável, você pode traduzir os modelos em um Esquema lógico que descreve as entidades, juntamente com os atributos, e as relações. Nesse nível, examine as definições cuidadosamente para eliminar a duplicação e otimizar o design.
Às vezes, essas duas etapas são mescladas, frequentemente dependendo da complexidade do seu cenário.
Por exemplo, você precisa de entidades separadas para Head Teacher
e Teacher
ou simplesmente um atributo adicional no modelo Teacher
?
A integridade de dados é necessária para garantir a precisão e a consistência do conteúdo em todo o ciclo de vida. Isso inclui garantir que os autores de conteúdo possam entender facilmente o que armazenar, para que os itens a seguir sejam fundamentais:
A redundância de dados ocorre quando as mesmas informações são armazenadas duas vezes na estrutura de conteúdo. Isso deve ser evitado, pois pode gerar confusão na criação do conteúdo e erros na consulta; sem falar no mau uso do espaço de armazenamento.
Ao otimizar sua estrutura, você pode melhorar o desempenho, tanto para criação de conteúdo quanto para consultas.
Tudo é um ato de equilíbrio, mas criar uma estrutura muito complexa, ou com muitos níveis, pode ser confuso para os autores que geram o conteúdo. Além disso, isso pode afetar seriamente o desempenho se a consulta tiver que acessar vários Fragmentos de conteúdo aninhados (referenciados) para recuperar o conteúdo necessário.
A Modelagem de dados é um conjunto de técnicas estabelecidas, frequentemente usadas ao desenvolver bancos de dados de relacionamento. Então o que a Modelagem de conteúdo significa para o AEM Headless?
Para garantir que seu aplicativo possa solicitar e receber o conteúdo necessário do AEM de forma consistente e eficiente, esse conteúdo deve ser estruturado.
Isso significa que o aplicativo sabe antecipadamente a forma de resposta e, portanto, como processá-la. Isso é mais fácil do que receber conteúdo de forma livre, que deve ser analisado para determinar o que contém e, portanto, como pode ser usado.
O AEM usa Fragmentos de conteúdo para fornecer as estruturas necessárias para a entrega headless do conteúdo aos seus aplicativos.
A estrutura do modelo de conteúdo é:
Os Modelos de fragmento de conteúdo também são usados como a base dos Esquemas da GraphQL do AEM, usados para recuperar conteúdo. Falaremos mais sobre isso em uma próxima sessão.
As solicitações de conteúdo são feitas usando a API GraphQL do AEM, uma implementação personalizada da API GraphQL padrão. A API do GraphQL do AEM permite realizar consultas (complexas) nos fragmentos de conteúdo, com cada consulta de acordo com um tipo de modelo específico.
O conteúdo retornado pode ser usado pelos seus aplicativos.
Os Modelos de fragmentos de conteúdo fornecem vários mecanismos que permitem definir a estrutura do conteúdo.
Um Modelo de fragmento de conteúdo descreve uma entidade.
Você deve ativar a funcionalidade de Fragmento de conteúdo no Navegador de configuração para poder criar modelos.
O modelo deve ser nomeado para que o autor de conteúdo saiba qual modelo selecionar ao criar um Fragmento de conteúdo.
Dentro de um modelo:
Por exemplo:
O AEM fornece os seguintes tipos de dados para você modelar o conteúdo:
Dois tipos de dados fornecem referências ao conteúdo fora de um fragmento específico:
Referência de conteúdo
Isso fornece uma referência simples a outro conteúdo de qualquer tipo.
Por exemplo, você pode fazer referência a uma imagem em um local especifico.
Referência de fragmento
Isso fornece referências a outros Fragmentos de conteúdo.
Esse tipo de referência é usado para criar conteúdo aninhado, introduzindo as relações necessárias para modelar o conteúdo.
O tipo de dados pode ser configurado para permitir que os autores de fragmento:
No início, você deve ativar os Modelos de fragmentos de conteúdo no site. Isso é feito no Navegador de configuração, em Ferramentas > Geral > Navegador de configuração. Você pode optar por configurar a entrada global ou criar uma configuração. Por exemplo:
Consulte Recursos adicionais - Fragmentos de conteúdo no navegador de configuração
Em seguida, os Modelos de fragmentos de conteúdo podem ser criados e a estrutura definida. Isso pode ser feito em Ferramentas -> Geral -> Modelos de fragmentos do conteúdo. Por exemplo:
Consulte Recursos adicionais - Modelos de fragmento de conteúdo.
Fragmentos de conteúdo são sempre baseados em um Modelo de fragmento de conteúdo. O modelo fornece a estrutura, o fragmento retém o conteúdo.
A primeira etapa para realmente criar o conteúdo é criar um Fragmento de conteúdo. Isso é feito usando Criar -> Fragmento de conteúdo, na pasta requerida em Ativos -> Arquivos. O assistente orienta você pelas etapas.
Um Fragmento de conteúdo é baseado em um Modelo de fragmento de conteúdo específico, que pode ser selecionado como a primeira etapa do processo de criação.
Após a criação do fragmento, é possível abri-lo no Editor de fragmento de conteúdo. Aqui você pode fazer o seguinte:
Após selecionar o modelo apropriado, um fragmento de conteúdo é aberto para edição no editor de fragmento de conteúdo:
Consulte Recursos adicionais - Trabalhar com fragmentos de conteúdo.
Para ver uma estrutura básica de amostra, consulte Amostra da estrutura do fragmento de conteúdo.
Agora que você aprendeu a modelar a estrutura e criar um conteúdo que é dependente dela, a próxima etapa é Aprender a usar consultas GraphQL para acessar e recuperar conteúdo dos fragmentos de conteúdo. Ele apresenta e discute o GraphQL e, em seguida, examina alguns exemplos de consultas para ver como as coisas funcionam na prática.