在 AEM Headless 开发人员历程的这一部分中,您将了解在 AEM 中实施您的第一个 Headless 体验(包括规划注意事项)的步骤,并了解最佳实践以让您的历程尽可能顺畅。
在 AEM Headless 历程的上一个文档 AEM Headless as a Cloud Service 快速入门中,您学习了 Headless CMS 的含义的基本理论,现在应:
本文基于这些基础知识编写,以便您了解如何准备您自己的 AEM Headless 项目。
本文档可帮助您了解实施第一个项目所需的步骤。阅读该文档后,您应:
在继续阅读本文档之前,请确保您已查看 AEM Headless 开发人员历程中的上一个文档 AEM Headless as a Cloud Service 快速入门,确保您:
要开始您的第一个 AEM Headless 项目,您需要确保您拥有一个内容模型,该模型将支持您希望跨所有渠道进行的个性化设置和更新。
如果您正在构建客户端应用程序,则除了 AEM 之外,还需确保设置了适当的开发环境,以便您可以针对 AEM as a Cloud Service 的 API 调用测试客户端。
您想推动一致的体验并管理跨渠道的个性化营销活动,因此,您可以将每个单独的渠道和表面视为其自己独特的内容结构来交付。不过,让每个渠道都有自己的内容模型将导致难以进行维护。
相反,您应考虑如何基于编排原则(例如,品牌和产品层级、商品或表面的类别或客户历程中的步骤)来关联不同表面上的内容。例如,如果您有一组支持所制造的特定品牌汽车的表面,您可能希望从内容模型开始,以获取适用于整个汽车的一般信息,然后使用更具体的内容,例如汽车启动到出现服务问题时所需的内容。此类模型将强制继承一般汽车品牌内容,并允许根据所需的特定上下文进行转换。它还有助于对此内容的更新的将来管理,因为您可以根据角色实施控制,例如整个汽车品牌的整体营销人员或产品经理与负责“启动汽车”体验的作者。
一旦您拥有内容模型并清晰地了解需要在其上显示内容的各种客户端,您就需要确保将与访问各种内容模型关联的 GraphQL/API 发布到需要此内容的所有客户端。关于访问某些内容的方式,提供了不同的选项。您可以请求一段特定的静态内容,以便缓存内容并提高性能。您还可以请求动态生成的内容,而这将需要进行更多的处理。确保客户端使用的是最能满足其业务需求的 API。
AEM 中有三种类型的环境:开发、暂存和生产。
开发环境(可以拥有多个)是试验和尝试想法的安全场所。在项目的初始阶段,Adobe 建议使用开发环境来尝试内容模型的变体,并查看哪些模型为表面提供了预期输出。
Headless 项目的暂存环境用于在新的 AEM 产品版本发布到生产环境之前对其进行验证。在那里保留最新的生产内容模型列表和内容子集,以便呈现 JSON 文件来比较它们是否仍提供相同的输出,因为您已进行更改或 AEM 版本引入了更改
生产环境是内容作者创建和管理其实际内容的地方。生产中的模型更改必须谨慎进行,并考虑向后兼容性。
在开发阶段,建议您使用开发环境和暂存环境。在转至性能测试时,您将需要迁移到生产环境。
开发人员需要使用填充的内容模型设置 AEM 开发环境。由于内容作者仍在创建内容,因此,开发人员开发的客户端将使用 AEM Headless 中的内容。这就是 API 定义之所以如此重要的原因。通过利用 AEM SDK,开发人员可以创建一个测试挂钩,以便创建客户端和单元测试来确保客户端能够正确地呈现内容。
内容作者根据在暂存环境中定义的内容模型来创建内容。利用内容片段创作工具,作者可以创建新的内容片段或编辑现有的内容片段。在发布内容之前,作者可以预览它在客户端中的外观,方式是与开发人员合作,将内容模型推送到开发中,或设置一个开发人员环境以仅供作者预览它在客户端中的外观。
在开始使用 AEM Headless 之前,您需要确保已启用所有必需的功能。此部分概述了所需项目。在 AEM Headless 开发人员历程中,稍后将详细介绍完成这些步骤所需的实际步骤。
您也可以选择参考其他资源,了解有关各个主题的更多信息。
这概述了使用 AEM 实施第一个 Headless 应用程序来交付内容所需的项目。Headless 开发人员历程的后面部分将详细描述如何执行这些步骤。
Headless 项目之所以能够获得成功,既要归功于实施的技术,又要归功于良好的规划和项目治理。以下是您在规划项目时要牢记的面向内容作者和开发人员的大量最佳实践。
现在您已完成 AEM Headless 开发人员历程的这一部分,您应:
我们希望您基于此基础知识来充分了解 AEM Headless 的强大功能和灵活性,以便您能够将其用于自己的项目。为此,您有以下选择。
无论您的学习风格如何,Adobe 都希望您在开始使用 AEM Headless 项目时获得成功。
我们建议您查看文档如何将内容建模为 AEM 内容模型来继续 Headless 开发历程的下一部分,以下是一些其他可选资源,这些资源对本文档中提到的一些概念进行了更深入的探究,但并非继续 Headless 历程所必需的。