在 AEM Headless 開發人員歷程的這一部分中,您可以了解如何建立內容結構模型。然後瞭解使用內容片段模型和內容片段的Adobe Experience Manager (AEM)結構,以便跨管道重複使用。
開始時, 瞭解CMS Headless開發 涵蓋headless內容傳遞以及應使用它的原因。 然後 AEM Headless 快速入門以您自己的專案而言描述 AEM Headless 如何運作。
在 AEM Headless 歷程的上一個文件「踏上首次使用 AEM Headless 之路」中,您接著了解實作第一個專案所需的步驟。閱讀本檔案後,您應該:
本文章以這些基本知識為基礎,以便您了解如何準備您自己的 AEM Headless 專案。
資料模型是一個廣大的領域,因為開發關聯式資料庫時會用到這類模型。有許多書籍和線上資訊來源可供使用。
在針對AEM Headless使用的資料建立模型時,只考慮有意義的方面。
外面的世界很大很糟糕。
也許吧,也許不是,但肯定是很大的 複雜 外面的世界。 資料模型是用來定義非常(非常)小子區段的簡化表示,使用特定用途所需的特定資訊。
在AEM處理內容時,資料模型稱為內容模型。
例如:
有很多學校,但它們都有很多共同點:
即使在這麼小的例子中,此清單也似乎無止盡。但是,如果您只想讓應用程式執行簡單的工作,您可以將資訊限制在要件。
例如,為該地區的所有學校宣傳特別活動:
您想描述的情況稱為 實體 — 基本上就是您想要儲存相關資訊的「專案」。
您想要儲存關於這些的資訊是屬性,例如老師的姓名和資格。
那麼實體之間就是各種關係。例如,通常一個學校只有一位校長,還有很多老師 (校長通常也是老師)。
分析和定義此資訊的流程以及彼此間的關係被稱之為內容模型。
通常,您可以先繪製一個 概念結構 說明實體及其關係。 通常這是高層級的 (概念性)。
穩定後,您可以將模型轉譯成描述實體、屬性和關係的邏輯結構描述。在此層級,要仔細檢查定義以消除重複並最佳化您的設計。
有時這兩個步驟會合併,通常取決於您的情境複雜性。
例如,Head Teacher
和 Teacher
是否需要各自成為單獨的實體,或者只是 Teacher
模型的額外屬性?
需要資料完整性來保證您的內容在其整個生命週期內的準確性和一致性。這包括確保內容作者可以輕鬆了解什麼儲存在哪裡 - 因此以下事項至關重要:
當內容結構中相同資料儲存兩次時,就會出現資料冗餘。應該避免這種情況,因為在建立內容時會造成困惑,查詢時會發生錯誤,更不用說濫用儲存空間了。
最佳化結構,您可以提高內容建立和查詢的效能。
一切都是平衡的行為,但建立的結構若過於複雜或層次過多,可能:
讓產內容的作者感到困惑。
如果查詢必須存取多個巢狀 (被參考的) 內容片段以擷取所需內容,就會嚴重影響效能。
資料模型是一套既有的技術,通常在開發關聯式資料庫時使用,那麼內容模型對 AEM Headless 代表什麼?
為確保您的應用程式能夠始終一致、有效率地從 AEM 要求和接收所需內容,這些內容必須結構化。
這表示您的應用程式預先知道回應採用的格式,因此知道如何處理回應。這比接收自由格式的內容要容易得多,自由格式的內容必須剖析以確定它包含什麼以及如何使用它。
AEM 使用內容片段來提供將內容 Headless 傳遞到應用程式所需的結構。
您的內容模型結構:
內容片段模型也作為 AEM GraphQL 結構描述的基礎,用於擷取您的內容 - 在後面的課程會詳細介紹。
對內容的要求是使用 AEM GraphQL API 發出的,這是標準 GraphQL API 的自訂實作。AEM GraphQL API 可讓您對內容片段執行 (複雜) 查詢,每個查詢都根據特定的模型類型。
然後,您的應用程式可以使用傳回的內容。
內容片段模型提供多種機制,可讓您定義內容的結構。
內容片段模型描述一個實體。
您必須在設定瀏覽器中啟用內容片段功能,才能建立模型。
應該命名模型,以便內容作者在建立內容片段時知道要選取哪個模型。
在模型中:
例如:
AEM 提供以下資料類型用於建立內容模型:
兩種資料類型允許您參考特定片段之外的內容:
內容參考
這提供對任何類型之其他內容的簡單參考。
例如,您可以參考在指定之位置的影像。
片段參考
這提供對其他內容片段的參考。
此類型的參考用於建立巢狀內容,引入建立內容模型時所需的關係。
可以設定此資料類型以允許片段作者:
首先,您必須為您的網站啟用內容片段模型。此啟用是在設定瀏覽器中完成;在「工具」>「一般」>「設定瀏覽器」下。 您可以選擇設定全域項目,也可以建立設定。例如:
請參閱其他資源 - 設定瀏覽器中的內容片段
然後可以建立內容片段模型並定義結構。您可以在「工具>資產>內容片段模型」底下執行此操作。 例如:
請參閱其他資源 - 內容片段模型。
內容片段一律以內容片段模型為基礎。模型提供結構,片段保存內容。
實際建立內容的第一步是建立內容片段。方法是使用「資產>檔案」底下所需資料夾中的「建立>內容片段」 。 精靈會引導您完成這些步驟。
內容片段基於特定的內容片段模型 (建立流程第一步時選取的)。
建立片段後,您可以在內容片段編輯器中開啟它。 您可以在這裡進行以下作業︰
選擇適當的模型後,在內容片段編輯器中開啟一個內容片段進行編輯:
請參閱其他資源 - 使用內容片段。
如需基本結構範例,請參閱範例內容片段結構。
現在您已經了解如何為您的結構建立模型,並根據結構模型建立內容,下一步是了解如何使用 GraphQL 查詢存取和擷取您的內容片段內容。此課程會介紹並討論GraphQL,然後檢視一些範例查詢,以瞭解實際運作方式。