AEM Headless 基本概念

AEM 的 Headless 功能以幾個關鍵功能為基礎。這些將在歷程的後續部分詳細說明。現在重點只需知道它們的作用和名稱。

內容片段模型

內容片段模型定義您在 AEM 中建和管理之資料和內容的結構。它們做為您內容的支架。選擇建立內容時,您的作者會從您定義的內容片段模型中進行選擇,這會指引他們建立內容。

內容片段

內容片段允許您設計、建立、規劃和發佈每頁自主的內容。它們可讓您將內容準備就緒用於多個位置和多個管道。

內容片段包含結構化內容,能以 JSON 格式傳遞。

GraphQL 和 REST API

為了以 Headless 方式修改您的內容,AEM 提供了兩個強大的 API。

  • GraphQL API 可讓您建立存取和傳遞內容片段的要求。
  • Assets REST API 可讓您建立及修改內容片段 (和其他資產)。

您將在 AEM Headless 歷程的後段會了解這些 API 以及如何使用它們。或者,參閱下面的「其他資源」區段以取得更多文件。

Headless 整合層級

AEM 支援 CMS 的全 Headless 模型和傳統的全堆疊或 Headful 模型。但是,AEM 不僅提供這兩種獨特的選擇,而且也支援結合了兩者優勢的混合模型,從而為您的 Headless 專案提供獨特的靈活性。

為了確保您了解 Headless 概念,此 AEM Headless 開發人員歷程重點放在純 Headless 模型,讓您在 AEM 中無需製作程式碼即可快速開始使用。

但是,一旦您了解 AEM Headless 功能,您就應明白混合模型帶來的額外可能性。下面列出了這些案例,以便您明白。在歷程結束時,您會更詳盡地了解這些概念,以防您的專案需要這種靈活性。

您有 Headless 內容的外部取用者,例如單次頁面應用程式 (SPA)。

讓我們假設您的基本要求至少是將內容從 AEM 傳遞到現有的外部服務。

層級 1:內容片段整合 - 傳統的 Headless 模型

此整合層級是傳統的 Headless 模型,允許您的內容作者在 AEM 中建立內容,並使用 GraphQL 將以 Headless 方式傳遞到任意數量的外部服務,或者使用資產 API 從外部服務編輯它們。AEM 中不需要製作程式碼。

在此模型中,AEM 僅用於使用 AEM 內容片段建立和提供內容。內容的呈現和互動則委派給取用內容的外部應用程式,通常是單頁應用程式 (SPA)。

層級 2:將 SPA 嵌入 AEM - 混合模型

此整合層級是建置在層級 1 上,也允許將外部應用程式 (SPA) 嵌入到 AEM 中,以便內容作者可以在 AEM 內的外部應用程式情境中檢視內容。該應用程式也支援在 AEM 中對外部應用程式進行有限編輯。

此層級的優勢是允許內容作者以 Headful 方式在 AEM 中靈活地製作內容,他們的內容會在嵌入的外部 SPA 中依情境呈現,同時仍以 Headless 方式傳遞內容。

層級 3:在 AEM 中嵌入並完全啟用 SPA - 混合模型

此整合層級是建置在層級 2 上,使外部 SPA 中的大部分內容都可以在 AEM 中進行編輯。

您沒有 Headless 內容的外部取用者,例如單頁應用程式 (SPA)。

如果您的目標是建立一個新的 SPA 以 Headless 方式取用來自 AEM 的內容,您可以使用內容片段等功能來管理您的 Headless 內容,也可以使用 AEM 的 SPA 編輯器框架來建置 SPA。

使用 SPA 編輯器,SPA 不僅可以取用來自 AEM 的內容,還可以由您的內容作者在 AEM 中進行完全編輯,從而為您提供在 AEM 中進行 Headless 傳遞和在情境中編輯的靈活性。

要求和先決條件

您必須先滿足數個要求才能開始 Headless AEM 專案。

知識

  • GraphQL
  • 使用 React 或 Angular 框架建立 SPA 的開發經驗
  • 建立內容片段和使用編輯器的基本 AEM 技能

工具

  • 用於測試部署專案的沙箱存取權
  • 用於資料模型和測試的本機開發執行個體
  • 您的 Headless AEM 內容的現有外部 SPA 或其他取用者

定義您的專案

對於任何成功的專案,重要的是不僅要明確定義專案的要求,還要明確定義角色和責任。

範圍

明確定義專案的範圍很重要。範圍會告知接受標準,並讓您設立完成的定義。

您必須問的第一個問題是「我想透過 AEM Headless 實現什麼目標?」一般來說,答案應該是您擁有或將來將擁有您使用自己的開發工具而非 AEM 建置的體驗應用程式。此體驗應用程式可以是行動應用程式、網站或任何其他面向取用內容之使用者的體驗應用程式。使用 AEM Headless 的目標是使用最先進的 API 為您的體驗應用程式提供在 AEM 中建立、儲存和管理的內容,這些 API 會直接從您的體驗應用程式呼叫 AEM Headless 以擷取內容或甚至是全 CRUD 內容。如果這不是您想要的,您可能想要返回 AEM 文件尋找符合您目標的內容。

角色和責任

任一專案的角色皆不相同,但在 AEM Headless 開發方面需要考慮的重要角色是:

管理員

管理員負責系統的基本設定和配置。例如,管理員在 Adobe 使用者管理系統 (稱為 Identity Management System (IMS)) 中設定您的組織。Adobe 在 IMS 中建立您的組織後,管理員是組織中第一個收到來自 Adobe 的電子郵件邀請的使用者。管理員可以登入 IMS 並新增其他角色的使用者。

管理員設定好使用者後,他們將被授予存取所有 AEM 資源的權限,以完成他們的份內工作,使用 AEM Headless 傳遞體驗應用程式。

管理員應該是設定 AEM 並準備好執行階段,以使內容作者能夠建立和更新內容,開發人員使用 API 擷取或修改內容以供體驗應用程式取用。