Erfahren Sie, wie Sie Ihre Inhalte modellieren model-your-content
In diesem Teil der AEM Headless-Entwickler-Tour erfahren Sie, wie Sie Ihre Inhaltsstruktur modellieren. Setzen Sie dann diese Struktur für Adobe Experience Manager (AEM) mithilfe von Inhaltsfragmentmodellen und Inhaltsfragmenten um, um sie kanalübergreifend wiederzuverwenden.
Die bisherige Entwicklung story-so-far
Zunächst wurde unter Grundlegendes zur CMS-Headless-Entwicklung die Bereitstellung von Headless-Inhalten behandelt und beschrieben, warum sie verwendet werden. Dann wurde in Erste Schritte mit AEM Headless as a Cloud Service AEM Headless im Kontext Ihres eigenen Projekts beschrieben.
Im vorherigen Dokument der AEM Headless-Tour, Der Weg zu Ihrem ersten Erlebnis mit AEM Headless, haben Sie dann die Schritte kennengelernt, die zur Implementierung Ihres ersten Projekts erforderlich waren. Nach dem Lesen sollten Sie zu Folgendem imstande sein:
- Verstehen und Erklären wichtiger Planungsüberlegungen für die Gestaltung Ihrer Inhalte
- Verstehen und Erklären der Schritte zur Implementierung von Headless, je nach Ihren Anforderungen an die Integrationsebene.
- Einrichten der erforderlichen Tools und AEM-Konfigurationen.
- Kenntnis der Best Practices, mit denen Sie für reibungslose Headless-Abläufe sorgen, die Inhaltsgenerierung effizient gestalten und die schnelle Bereitstellung von Inhalten sicherstellen können
Dieser Artikel baut auf diesen Grundlagen auf, sodass Sie verstehen, wie Sie Ihr eigenes AEM Headless-Projekt vorbereiten.
Ziel objective
-
Zielgruppe: Anfänger
-
Ziele: Sie erfahren, wie Sie Ihre Inhaltsstruktur modellieren und diese Struktur dann mithilfe von AEM-Inhaltsfragmentmodellen und Inhaltsfragmenten umsetzen:
- Einführung von Konzepten und Terminologie für die Daten-/Inhaltsmodellierung.
- Erfahren Sie, warum eine Inhaltsmodellierung für die Headless-Bereitstellung von Inhalten erforderlich ist.
- Erfahren Sie, wie Sie diese Struktur mit AEM-Inhaltsfragmentmodellen (und Autoreninhalten mit Inhaltsfragmenten) umsetzen können.
- Erfahren Sie, wie Sie Ihre Inhalte modellieren können. Grundprinzipien mit einfachen Beispielen.
Inhaltsmodellierung content-modeling
Die Welt da draußen ist groß und schlecht.
Vielleicht, aber vielleicht auch nicht. Es ist sicherlich eine komplizierte Welt da draußen, und die Datenmodellierung wird verwendet, um eine vereinfachte Darstellung eines sehr (sehr) kleinen Unterabschnitts zu definieren, wobei die spezifischen Informationen verwendet werden, die für einen bestimmten Zweck benötigt werden.
Zum Beispiel:
Es gibt viele Schulen, aber alle haben verschiedene Gemeinsamkeiten:
- Ein Standort
- Ein(e) Schulleiter(in)
- Viele Lehrkräfte
- Viele Mitarbeiter, die nicht zum Lehrpersonal gehören
- Viele Schüler/innen
- Viele Ex-Lehrkräfte
- Viele Ex-Schüler/innen
- Viele Klassenzimmer
- Viele (viele) Bücher
- Viele (viele) Ausrüstungsgegenstände
- Viele Aktivitäten außerhalb des Lehrplans
- und so weiter…
Selbst in einem so kleinen Beispiel kann die Liste endlos erscheinen. Wenn Ihre Anwendung jedoch nur eine einfache Aufgabe ausführen soll, können Sie die Informationen auf das Wichtigste beschränken.
Beispielsweise Werbung für Sonderveranstaltungen für alle Schulen in der Region:
- Schulname
- Schulort
- Schulleiter(in)
- Veranstaltungstyp
- Veranstaltungsdatum
- Lehrkraft, die die Veranstaltung organisiert
Konzepte concepts
Was Sie beschreiben möchten, wird als Entitäten bezeichnet – im Grunde die „Dinge“, über die Informationen gespeichert werden sollen.
Die Informationen, die über sie gespeichert werden sollen, sind die Attribute (Eigenschaften), z. B. die Namen und Qualifikationen der Lehrkräfte.
Dann gibt es verschiedene Beziehungen zwischen den Entitäten. Beispielsweise hat eine Schule in der Regel nur eine(n) Schulleiter(in) und viele Lehrkräfte (und normalerweise ist der Schulleiter auch Lehrer).
Der Prozess der Analyse und Definition dieser Informationen zusammen mit den Beziehungen zwischen ihnen wird als Inhaltsmodellierung bezeichnet.
Grundlagen basics
Oft müssen Sie zunächst ein Konzeptschema erstellen, in dem die Entitäten und ihre Beziehungen beschrieben werden. Normalerweise handelt es sich hierbei um einen allgemeinen (konzeptionellen) Ansatz.
Sobald dies stabil ist, können Sie die Modelle in ein logisches Schema übersetzen, das die Entitäten zusammen mit den Attributen und den Beziehungen beschreibt. Auf dieser Ebene prüfen Sie die Definitionen genau, um Duplikate zu vermeiden und Ihren Entwurf zu optimieren.
Benötigen Sie beispielsweise separate Entitäten für Head Teacher
und Teacher
oder einfach ein zusätzliches Attribut im Teacher
-Modell?
Gewährleistung der Datenintegrität data-integrity
Datenintegrität ist erforderlich, um die Genauigkeit und Konsistenz Ihrer Inhalte über den gesamten Lebenszyklus hinweg zu gewährleisten. Dazu gehört auch, sicherzustellen, dass Autoren von Inhalten leicht verstehen können, was wo gespeichert werden soll. Daher ist Folgendes wichtig:
- eine klare Struktur
- eine möglichst knappe Struktur (ohne Genauigkeit zu opfern)
- Validierung einzelner Felder
- beschränken Sie gegebenenfalls den Inhalt bestimmter Felder auf das, was aussagekräftig ist
Beseitigen von Datenredundanz data-redundancy
Datenredundanz tritt auf, wenn dieselben Informationen zweimal in der Inhaltsstruktur gespeichert werden. Dies sollte vermieden werden, da es zu Verwirrung bei der Erstellung des Inhalts und zu Fehlern bei Abfragen führen kann, ganz zu schweigen von der schlechten Nutzung des Speicherplatzes.
Optimierung und Leistung optimization-and-performance
Durch die Optimierung Ihrer Struktur können Sie die Leistung sowohl bei der Inhaltserstellung als auch bei Abfragen verbessern.
Alles ist ein Balanceakt, aber eine zu komplexe Struktur oder eine Struktur mit zu vielen Ebenen kann für die Autorinnen und Autoren, die die Inhalte erstellen, verwirrend sein. Weiterhin kann es die Leistung stark beeinträchtigen, wenn die Abfrage auf mehrere verschachtelte (referenzierte) Inhaltsfragmente zugreifen muss, um die gewünschten Inhalte abzurufen.
Inhaltsmodellierung für AEM Headless content-modeling-for-aem-headless
Die Datenmodellierung ist eine Reihe etablierter Techniken, die häufig bei der Entwicklung von relationalen Datenbanken verwendet werden. Was bedeutet die Inhaltsmodellierung also für AEM Headless?
Vorteile why
Um sicherzustellen, dass Ihr Programm die erforderlichen Inhalte konsistent und effizient von AEM anfragen und empfangen kann, müssen diese Inhalte strukturiert sein.
Das bedeutet, dass Ihr Programm die Form der Antwort im Voraus kennt und daher weiß, wie sie verarbeitet wird. Dies ist einfacher als das Empfangen von Freiforminhalten, die geparst werden müssen, um festzustellen, was sie enthalten und wie sie daraufhin verwendet werden können.
Einführung in das Wie? how
AEM verwendet Inhaltsfragmente, um die Strukturen bereitzustellen, die für die Headless-Bereitstellung Ihrer Inhalte an Ihre Programme erforderlich sind.
Die Struktur Ihres Inhaltsmodells wird:
- durch die Definition Ihres Inhaltsfragmentmodells umgesetzt,
- als Grundlage der Inhaltsfragmente verwendet, die für die Inhaltserstellung verwendet werden.
Anfragen für Ihre Inhalte werden mit der AEM-GraphQL-API gestellt, einer angepassten Implementierung der standardmäßigen GraphQL-API. Mit der AEM GraphQL-API können Sie (komplexe) Abfragen für Ihre Inhaltsfragmente durchführen, wobei jede Abfrage einem bestimmten Modelltyp entspricht.
Die zurückgegebenen Inhalte können dann von Ihren Programmen verwendet werden.
Erstellen der Struktur mit Inhaltsfragmentmodellen create-structure-content-fragment-models
Inhaltsfragmentmodelle bieten verschiedene Mechanismen, mit denen Sie die Struktur Ihrer Inhalte definieren können.
Ein Inhaltsfragmentmodell beschreibt eine Entität.
Innerhalb eines Modells:
- Mit Datentypen können Sie die einzelnen Attribute definieren.
Definieren Sie beispielsweise das Feld mit dem Namen eines Lehrers als Text und dessen Dienstjahre als Zahl. - Mit den Datentypen Inhaltsreferenz und Fragmentreferenz können Sie Beziehungen zu anderen Inhalten in AEM erstellen.
- Mit dem Datentyp Fragmentreferenz können Sie mehrere Ebenen der Struktur umsetzen, indem Sie die Inhaltsfragmente verschachteln (je nach Modelltyp). Dies ist für Ihre Inhaltsmodellierung von entscheidender Bedeutung.
Beispiel:
Datentypen data-types
AEM stellt die folgenden Datentypen bereit, mit denen Sie Ihren Inhalt modellieren können:
- Einzeiliger Text
- Mehrzeiliger Text
- Zahl
- Boolesch
- Datum und Uhrzeit
- Aufzählung
- Tags
- Inhaltsreferenz
- Fragmentreferenz
- JSON-Objekt
Verweise und verschachtelte Inhalte references-nested-content
Zwei Datentypen bieten Verweise auf Inhalte außerhalb eines bestimmten Fragments:
-
Inhaltsreferenz
Dies bietet einen einfachen Verweis auf andere Inhalte beliebigen Typs.
Sie können beispielsweise auf ein Bild an einer bestimmten Stelle verweisen. -
Fragmentreferenz
Dies bietet Verweise auf andere Inhaltsfragmente.
Dieser Referenztyp wird verwendet, um verschachtelte Inhalte zu erstellen und die Beziehungen einzuführen, die zum Modellieren Ihres Inhalts erforderlich sind.
Der Datentyp kann so konfiguriert werden, dass Fragmentautoren folgende Möglichkeiten haben:- Direktes Bearbeiten des referenzierten Fragments
- Erstellen eines neuen Inhaltsfragments basierend auf dem entsprechenden Modell
Erstellen von Inhaltsfragmentmodellen creating-content-fragment-models
Zunächst müssen Sie Inhaltsfragmentmodelle für Ihre Site aktivieren. Dies geschieht im Konfigurations-Browser unter Tools > Allgemein > Konfigurations-Browser. Sie können entweder den globalen Eintrag konfigurieren oder eine Konfiguration erstellen. Zum Beispiel:
Anschließend können die Inhaltsfragmentmodelle erstellt und die Struktur definiert werden. Dies kann unter Tools > Allgemein > Inhaltsfragmentmodelle erfolgen. Zum Beispiel:
Verwenden des Modells zum Erstellen von Inhalten mit Inhaltsfragmenten use-content-to-author-content
Inhaltsfragmente basieren immer auf einem Inhaltsfragmentmodell. Das Modell stellt die Struktur bereit, das Fragment enthält den Inhalt.
Auswählen des entsprechenden Modells select-model
Der erste Schritt zur tatsächlichen Erstellung Ihrer Inhalte besteht darin, ein Inhaltsfragment zu erstellen. Dies geschieht über „Erstellen“ > „Inhaltsfragment“ unter „Assets“ > „Dateien“ im erforderlichen Ordner. Der Assistent führt Sie durch die Schritte.
Ein Inhaltsfragment basiert auf einem bestimmten Inhaltsfragmentmodell, das Sie als ersten Schritt des Erstellungsprozesses auswählen.
Erstellen und Bearbeiten von strukturierten Inhalten create-edit-structured-content
Nachdem das Fragment erstellt wurde, können Sie es im Inhaltsfragmenteditor öffnen. Hier haben Sie folgende Möglichkeiten:
- Bearbeiten der Inhalte im normalen oder im Vollbildmodus
- Formatieren der Inhalte entweder als Volltext, Nur-Text oder Markdown
- Erstellen und Verwalten von Inhaltsvarianten
- Verknüpfen von Inhalten.
- Bearbeiten von Metadaten.
- Anzeigen der Baumstruktur.
- Vorschau der JSON-Darstellung.
Erstellen von Inhaltsfragmenten creating-content-fragments
Nach Auswahl des entsprechenden Modells wird ein Inhaltsfragment zur Bearbeitung im Inhaltsfragment-Editor geöffnet:
Erste Schritte mit einigen Beispielen getting-started-examples
Eine einfache Struktur als Beispiel finden Sie unter „Beispielstruktur für Inhaltsfragmente“.
Wie geht es weiter whats-next
Nachdem Sie nun gelernt haben, wie Sie Ihre Struktur modellieren und abhängig davon Inhalte erstellen, besteht der nächste Schritt darin, zu erfahren, wie Sie mit GraphQL-Abfragen auf Ihre Inhaltsfragmente zugreifen und diese abrufen können. Hier wird GraphQL eingeführt und beschrieben. Außerdem werden einige Beispielabfragen gezeigt, um zu demonstrieren, wie die Dinge in der Praxis funktionieren.
Zusätzliche Ressourcen additional-resources
-
Arbeiten mit Inhaltsfragmenten – die Einführungsseite für Inhaltsfragmente
- Inhaltsfragmente im Konfigurations-Browser – Aktivieren der Funktion „Inhaltsfragment“ im Konfigurations-Browser
- Inhaltsfragmentmodelle – Erstellen und Bearbeiten von Inhaltsfragmentmodellen
- Verwalten von Inhaltsfragmenten – Erstellen und Bearbeiten von Inhaltsfragmenten. Diese Seite führt Sie zu anderen detaillierten Abschnitten.
-
AEM-GraphQL-Schemata – So setzt GraphQL Modelle um
-
Erste Schritte mit AEM Headless – Eine kurze Video-Tutorial-Reihe, die einen Überblick über die Verwendung von AEM Headless-Funktionen bietet, einschließlich Inhaltsmodellierung und GraphQL
- Grundlagen der GraphQL-Modellierung –- Erfahren Sie, wie Sie Inhaltsfragmente in Adobe Experience Manager (AEM) für die Verwendung mit GraphQL definieren und verwenden.