16. März 2017 // von Manuel Ernst

Contentful: Datenpflege (II / III)

Im ersten Teil dieser dreiteiligen Reihe zum Thema Contentful drehte sich alles um das Setup der Datenstruktur, der vorliegende Artikel beschäftigt sich mit dem Erfassen und Pflegen von Content.

Der Contentbereich des Contenful Backends zeigt eine Übersicht über alle erfassten Einträge und stellt außerdem einige Hilfsmittel zur Verfügung um bestehende Inhalte zu sortieren oder zu selektieren. So ist es zum Beispiel möglich nach bereits veröffentlichten Einträgen zu filtern oder auch über ein Suchfeld den Content nach konkreten Stichwörter zu durchsuchen.

Aufbauend auf Teil 1 der Contentful Artikelreihe soll nun gezeigt werden wie Daten gepflegt bzw. erhoben werden können. Grundlage hierfür ist der zuvor definierte Contenttyp "Blogpost".
In der Eingabemaske für den Contenttypen "BlogPost" werden alle Felder angezeigt die definiert worden sind. Die Darstellung in der Eingabemaske passt sich dabei konkret an den Datentyp eines Feldes an. Enthält ein Feld zum Beispiel Langtext, erscheint ein Editorfenster mit Textormatierungsmöglichkeiten, dagegen wird in einem Medienfeld direkt eine hinzugefügte Datei angezeigt, im Beispiel ist das das Bild das als "FeatureImage" dienen soll.

Im folgenden sollen einige Feldtypen mit ihren Eingabemasken aus dem Blogpost Beispiel vorgestellt werden.

Feldtypen

Langtext

Bei Langtextfeldern wird eine Menüleiste eingeblendet die bei der Textformatierung unterstützt. Wie bereits beschrieben wird die grundsätzliche Textformatierung im Contentful Backend über Markdown realisiert. Über die Einträge in dem Formatierungsmenü werden die benötigten Markdown Marker wie z.B. für Fettschrift oder Linkauszeichnung gin den Text eingefügt. Um eine konkretere Vorstellung über das fertig formatierte Ergebnis zu erhalten kann über den "Preview" Menüreiter eine Vorschau aktiviert werden. Markdown wird hierbei in HTML Code gerendert und dargestellt.

Medien

Zum Contentful Backend gehört ein umfangreicher Assetmanager mit dessen Hilfe jegliche Resourcen, zum Beispiel Bilder, Dokumente oder Präsentationen, zur Verfügung gestellt werden können. Über die Contentpflegemaske kann nun bei einem Medienfeld ausgewählt werden ob eine bereits bestehende Resource verknüpft, oder ob eine neue Datei hochgeladen werden soll. Im Blogpost Beispiel sind hier nur Bilder zugelassen.

Tags

Im Contenttyp wurde das Feld "Tags" als ein Kurztextfeld definiert, mit dem Zusatz dass hier eine Liste von mehreren Textschnippseln angegeben werden können. Contentful bietet außerdem für das Frontend die Möglichkeit an dieses Feld als "Tags" Eingabefeld zu definieren. Dieses Eingabefeld stellt eine elegante Möglichkeit zur Verfügung um die einzelnen Tags hinzuzufügen, zu bearbeiten und wieder zu entfernen.

Slug

Ein besonderes Feld ist das "Slug" Feld. Wenn für einen BlogPost ein Titel erfasst wurde, generiert das Contentful Interface automatisch basierend auf diesen Titel einen Slug der URL kompatibel ist und der zudem unique gegenüber allen anderen Slugs ist die zuvor erfasst worden sind (im Beispiel lautet der Titel "The very first entry", der daraus generierte Slug heißt dann "the-very-first-entry"). Sollte es aufgrund eines Titelduplikats zu einer Kollisionen kommen, weißt das Frontend darauf hin und erzwingt eine Änderung des Slugs bevor das Posting veröffentlicht werden kann.

Veröffentlichung

Jeder Contenteintrag hat im Contentful Backend einen Status über den definiert wird ob ein Eintrag veröffentlicht wird bzw. ob gemachte Änderungen schon im Frontend angezeigt werden sollen.
Die folgenden Stati gibt es:

Status Bedeutung
Draft Ein Eintrag im "Draft" Status wird nicht veröffentlicht.
Published Ein Eintrag im "Published" Status wurde veröffentlicht, bzw. alle Änderungen die je gemacht wurden sind veröffentlicht worden.
Updated Ein Eintrag wurde bereits veröffentlicht, allerdings sind in der Zwischenzeit Änderungen vorgenommen worden die aber noch nicht veröffentlicht worden sind.
Archieved Der Eintrag wird nicht mehr angezeigt, es ist außerdem nicht mehr möglich Änderungen vorzunehmen.

Der Status eines Eintrags lässt sich jederzeit in der Detailansicht eines Eintrages ändern, zusätzlich können diese Änderungen auch in der Übersichtsliste durchgeführt werden.

User die im Contentfulfrontend bestimmten Rollen zugeordnet sind können auf diesem Wege mit verschiedenen Berechtigungen ausgestattet werden. Ein "Editor" beispielsweise hat die Möglichkeit Einträge anzulegen und zu editieren, damit einer dieser Einträge dann aber tatsächlich veröffentlicht wird bedarf es der Genehmigung eines Administrators.

Nachdem nun die Definition des Schemas und die Datenpflege abgeschlossen ist fehlt nur noch die Frontendintegration. Der letzte Blogpost aus dieser Reihe beschäftigt sich mit diesem Thema.

Verwandte Blogposts