Wir erstellen unser erstes Directus-Projekt
Um mit Directus zu starten, ist die einfachste Lösung, die kostenlose Community Cloud zu nutzen. Directus selbst ist Open Source und kann natürlich auch händisch auf jedem Server installiert werden. Den Quellcode für den eigenen Server finden wir hier.
Für alle ohne Server geht es hier weiter: Account erstellen, Projekt als Community Cloud erstellen - fertig!
Am besten auch hier erst das Demo Project auswählen. Einstellungen, Collections und Daten, die uns helfen, das System zu verstehen und die API auszuprobieren, werden bereits hinterlegt.
Die REST- und GraphQL-API anbinden
Haben wir unseren Directus-Server am Laufen und mit diversen Daten gefüllt, können wir uns um das Herzstück kümmern: die API. Prinzipiell ist eine API oft ein aufwendiger Prozess, der händisch angelegt und definiert werden muss. Directus macht es uns aber einfach und stellt automatisch für jede Collection einen Endpoint zur Verfügung, den wir filtern, sortieren oder erweitern können.
Möchten wir zum Beispiel alle Artikel unserer Collection namens Articles erhalten, wäre dies der folgende GET-Aufruf:
{{ DOMAIN }}/items/articles
Da wir diesen Call ohne eine Authentifizierung durchführen, müssen wir erst in der Benutzerverwaltung prüfen, ob die Rolle Public die Articles auch lesen darf. Nur dann erhalten wir eine positive Rückmeldung, andernfalls müssten wir ein sogenanntes JSON Web Token von einem Nutzer übermitteln, der die Berechtigung besitzt.
Wir können auch direkt Filter anhängen, um beispielsweise nur die Artikel zu erhalten, die im Status "draft" liegen.
{{ DOMAIN }}/items/articles?filter[status][_eq]=draft
Auch Sortieren ist ganz einfach möglich über folgenden Aufruf:
{{ DOMAIN }}/items/articles?sort=sort,-date_created
Grundsätzlich können wir uns merken, dass alles, was wir in der Admin-Oberfläche eingeben, auch über die API - im gewünschten Format - abgerufen werden kann.
Alle Details zu den Möglichkeiten der API finden sich in den offiziellen Docs.
Möglichkeiten eines Headless CMS
Directus ist in seiner Version 9 bereits ein sehr ausgearbeitetes System und bietet damit viele Funktionalitäten, die man sich von einem Headless CMS wünschen kann.
Natürlich ist ein Headless CMS nicht die richtige Wahl für jede Problemstellung. Möchten wir eine normale Webseite entwickeln, ist unsere Wahl wahrscheinlich eher ein klassisches CMS. Müssen wir aber eher einen Produktkatalog entwickeln, welcher später auf der Webseite mit diversen Produktfiltern angezeigt wird, und sollen die Vertriebsmitarbeiter mit einer App ausgestattet werden, um den Kunden zügig und schnell das richtige Produkt zu verkaufen, kann es sinnvoll sein, eher ein Headless CMS einzusetzen.
Der große Vorteil liegt auf der Hand: Ändern wir die Produktbeschreibung in Directus, ändert es sich automatisch auf jedem Ausgabekanal, der über die Directus-API angebunden wird.
Wir selbst können steuern, welche Struktur und Felder für unseren Produktkatalog relevant sind und welche Daten zu einem Produkt gehören. Es benötigt keine Vorlage, von der wir nur die Hälfte ausfüllen; wir selbst können die Vorlage und Felder definieren.
Habt ihr schon mal mit einem Headless CMS oder sogar mit Directus gearbeitet?
Jonathan Schneider ist Web-/App-Entwickler und arbeitet seit über zehn Jahren im Bereich Entwicklung und Programmierung, mit der Spezialisierung auf Frontend.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Directus: Schneller zur Backend-API mit dem Headless CMS |
- 1
- 2
Ich kenne weder Flask noch FastAPI, aber Directus ist kein Framework sondern ein CMS. Du...
Du kannst einer Collection (Tabelle) ein Status-Feld geben und die Berechtigung eine...
Ich arbeite gerade mit Directus und ehrlich gesagt, der ganze Punkt ist ja, dass man ein...
Nicht so sehr, wie man vermuten würde. Ich bin quasi gelernter Frontendler, arbeite aber...
Kommentieren