在 AEM Headless开发人员历程,您可以了解如何对内容结构进行建模。 然后,使用内容片段模型和内容片段实现Adobe Experience Manager(AEM)的结构,以便跨渠道重复使用。
开始时 了解CMS无头开发 涵盖了无标题内容交付以及应使用它的原因。 然后 AEM Headless快速入门 在您自己的项目上下文中描述了AEM Headless。
在AEM无头历程的上一个文档中, 使用AEM Headless获得首个体验的路径之后,您便了解了实施第一个项目所需的步骤。 阅读完该文档后,您应:
本文基于这些基础知识,以便您了解如何准备自己的AEM无头项目。
数据建模是一个非常大的领域,因为它在开发关系数据库时使用。 有许多书籍和在线信息源可供使用。
我们仅会考虑在建模数据以与AEM Headless一起使用时需要注意的方面。
这是个大坏世界.
也许,也许不是,但这肯定是个大问题 复杂 世界之外,数据建模用于定义非常(非常)小的子区域的简化表示,使用特定目的所需的特定信息。
在AEM处理内容时,我们将数据建模称为内容建模。
例如:
学校有很多,但它们有各种共同之处:
即使在如此小的例子中,这份名单也可能看起来无穷无尽。 但是,如果您只想让应用程序执行一个简单的任务,则需要将信息限制在基本内容中。
例如,为该地区所有学校宣传特别活动:
您要描述的内容称为 实体 — 基本上是我们要存储有关信息的“内容”。
我们要存储的关于这些数据的信息是 属性 (属性),如教师的姓名和资格。
然后是多种 关系 之间。 例如,一所学校通常只有一位校长,而许多教师(而校长通常也是一位教师)。
分析和定义这些信息的过程,以及这些信息之间的关系,称为 内容建模.
通常,您需要首先绘制 概念架构 描述实体及其关系的。 通常情况下,这是高级别(概念性)。
稳定后,您可以将模型转换为 逻辑架构 用于描述实体、属性和关系的属性。 在此级别,您应仔细检查定义,以消除重复并优化设计。
有时,这两个步骤会合并,通常取决于您方案的复杂性。
例如,您是否需要单独的实体 Head Teacher
和 Teacher
,或者只是 Teacher
模型?
需要数据完整性才能确保内容在整个生命周期中的准确性和一致性。 这包括确保内容作者可以轻松地了解要在何处存储的内容 — 因此,以下内容至关重要:
在内容结构中存储相同信息两次时,会发生数据冗余。 应避免这种情况,因为它在创建内容时可能会导致混淆,在查询时会导致错误;更别提存储空间的滥用了。
通过优化结构,您可以提高内容创建和查询的性能。
一切都是一种平衡行为,但创建一个过于复杂或层次过多的结构,可以:
对于生成内容的作者而言,这会令人困惑。
如果查询必须访问多个嵌套(引用)内容片段才能检索所需内容,则会严重影响性能。
数据建模是一组已建立的技术,通常在开发关系数据库时使用,因此“内容建模”对AEM Headless意味着什么?
要确保您的应用程序能够始终如一地高效地从AEM请求和接收所需内容,必须对此内容进行结构化。
这意味着您的应用程序事先知道响应的形式,因此知道如何处理。 这比接收自由格式内容要容易得多,后者必须进行解析以确定内容包含的内容,因此,还要确定内容的使用方式。
AEM使用内容片段来提供向应用程序无头交付内容所需的结构。
内容模型的结构是:
内容片段模型还用作AEM GraphQL架构的基础,用于检索内容 — 有关更多信息,请参阅以后的会话。
对内容的请求使用AEM GraphQL API(标准GraphQL API的自定义实施)进行。 AEM GraphQL API允许您对内容片段执行(复杂)查询,每个查询均根据特定的模型类型而定。
然后,您的应用程序可以使用返回的内容。
内容片段模型提供了多种机制,允许您定义内容的结构。
内容片段模型描述实体。
您必须在配置浏览器中启用内容片段功能,才能创建新模型。
应该命名模型,以便内容作者知道在创建内容片段时要选择的模型。
在模型中:
例如:
AEM提供了以下数据类型来为内容建模:
两种数据类型提供对特定片段外部内容的引用:
内容参考
这为任何类型的其他内容提供了简单的引用。
例如,您可以引用指定位置的图像。
片段引用
这提供了对其他内容片段的引用。
此类引用用于创建嵌套内容,其中介绍了为内容建模所需的关系。
数据类型可配置为允许片段作者执行以下操作:
最初,您需要为网站启用内容片段模型,这是在配置浏览器中完成的;在工具 — >常规 — >配置浏览器下。 您可以选择配置全局条目,也可以创建新配置。 例如:
请参阅其他资源 — 配置浏览器中的内容片段
然后,可以创建内容片段模型并定义结构。 这可以在工具 — >资产 — >内容片段模型下完成。 例如:
请参阅其他资源 — 内容片段模型。
内容片段始终基于内容片段模型。 模型提供了结构,片段包含内容。
实际创建内容的第一步是创建内容片段。 可以使用Assets ->文件下所需文件夹中的创建 — >内容片段来完成。 向导将指导您完成各个步骤。
内容片段基于特定的内容片段模型,您可以选择该模型作为创建过程的第一步。
创建片段后,您可以在内容片段编辑器中打开该片段。 在此对话框中,您可以:
选择相应的模型后,将打开内容片段,以在内容片段编辑器中进行编辑:
请参阅其他资源 — 使用内容片段。
有关示例的基本结构,请参阅示例内容片段结构。
既然您已经学习了如何对结构建模并创建基于此的内容,那么下一步就是 了解如何使用GraphQL查询访问和检索内容片段内容. 这将介绍和讨论GraphQL,然后查看一些示例查询,以了解实际操作情况。