Nesta parte do jornada do desenvolvedor sem periféricos do AEM, você pode aprender a modelar sua estrutura de conteúdo. Em seguida, perceba essa estrutura do Adobe Experience Manager (AEM) usando Modelos de fragmentos de conteúdo e Fragmentos de conteúdo, para reutilização em canais.
No início Saiba mais sobre o desenvolvimento sem periféricos do CMS a entrega de conteúdo sem cabeçalho coberto e por que ele deve ser usado. Então Introdução ao AEM Headless as a Cloud Service descrito AEM Headless no contexto de seu próprio projeto.
No documento anterior da jornada sem cabeçalho AEM, Caminho para sua primeira experiência usando AEM headless, você aprendeu as etapas necessárias para implementar seu primeiro projeto. Depois de lê-lo, você deve:
Este artigo se baseia nesses fundamentos para que você entenda como preparar seu próprio projeto sem periféricos AEM.
A Modelagem de Dados é um campo muito grande, pois é usado ao desenvolver Bancos de Dados Relacionais. Há muitos livros, e fontes de informação online, disponíveis.
Somente consideraremos os aspectos que são de interesse ao modelar dados para uso com AEM Headless.
É um mundo grande e ruim lá fora.
Talvez, talvez não, mas é certamente um grande complicado mundo afora e a modelagem de dados é usada para definir uma representação simplificada de uma subseção muito pequena, usando as informações específicas necessárias para um determinado propósito.
Como AEM trata do conteúdo, referimos a Modelagem de dados como a Modelagem de conteúdo.
Por exemplo:
Há muitas escolas, mas todas têm várias coisas em comum:
Mesmo num exemplo tão pequeno, a lista pode parecer interminável. Mas se você simplesmente quiser que seu aplicativo execute uma tarefa simples, precisará limitar as informações ao essencial.
Por exemplo, a publicidade de eventos especiais para todas as escolas da área:
O que você deseja descrever é chamado de Entidades - basicamente as "coisas" sobre as quais queremos armazenar informações.
As informações que queremos armazenar sobre eles são as Atributos (propriedades), como Nome e Qualificações para os professores.
Então há vários Relações entre as entidades. Por exemplo, geralmente uma escola tem apenas um professor titular e muitos professores (e geralmente o professor principal 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.
Frequentemente, é necessário começar elaborando um Esquema conceitual que descreve as entidades e seus relacionamentos. Geralmente, isso é 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 os relacionamentos. Nesse nível, você deve examinar 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 Teacher
modelo?
A integridade dos 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 vitais:
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 ao criar o conteúdo e erros ao consultar; já para não falar do uso indevido 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 a criação de uma estrutura demasiado complexa, ou com demasiados níveis, pode:
Seja confuso para os autores que geram o conteúdo.
Afete bastante 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, geralmente usadas quando bancos de dados de relacionamento desenvolvidos, portanto, o que a modelagem de conteúdo significa para AEM headless?
Para garantir que seu aplicativo possa solicitar e receber o conteúdo necessário de 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 é muito mais fácil do que receber conteúdo de forma livre, que deve ser analisado para determinar o que contém e, portanto, como ele pode ser usado.
O AEM usa Fragmentos de conteúdo para fornecer as estruturas necessárias para a entrega sem cabeçalho do conteúdo aos seus aplicativos.
A estrutura do modelo de conteúdo é:
Os Modelos do Fragmento de conteúdo também são usados como a base dos Esquemas GraphQL de AEM, usados para recuperar o conteúdo - mais sobre isso em uma sessão posterior.
As solicitações de conteúdo são feitas usando a API GraphQL AEM, uma implementação personalizada da API GraphQL padrão. A API GraphQL AEM permite executar consultas (complexas) nos Fragmentos de conteúdo, sendo que cada consulta é feita de acordo com um tipo de modelo específico.
O conteúdo retornado pode ser usado pelos seus aplicativos.
Os Modelos de fragmentos do 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 criar novos 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:
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 especificado.
Referência do 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 seu conteúdo.
O tipo de dados pode ser configurado para permitir que os autores de fragmento:
No início, é necessário ativar os Modelos de fragmento de conteúdo para o 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 nova 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 sob 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 do conteúdo. Isso é feito usando Criar -> Fragmento de conteúdo na pasta necessária em Ativos -> Arquivos. O assistente o guiará 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 do conteúdo. Aqui você pode:
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 - Como trabalhar com fragmentos de conteúdo.
Para obter uma estrutura básica como amostra, consulte A estrutura do fragmento do conteúdo de amostra.
Agora que você aprendeu a modelar sua estrutura e criar conteúdo dependente disso, a próxima etapa é Saiba como usar consultas GraphQL para acessar e recuperar o conteúdo dos Fragmentos de conteúdo. Isso introduzirá e discutirá o GraphQL e, em seguida, observará algumas consultas de amostra para ver como as coisas funcionam na prática.