Directus Data Platform / Headless CMS

Was ist Directus? (Data Platform / Headless CMS) 🤔

Directus ist eine moderne, quelloffene (Open Source) "Data Platform". Man kann es als ein flexibles Headless Content Management System (CMS), als API-Generator oder als benutzerfreundliche grafische Oberfläche (GUI) für SQL-Datenbanken verstehen. Anstatt Inhalte in einem proprietären System zu speichern, legt Directus seine Konfiguration und Metadaten über eine bestehende oder neu erstellte SQL-Datenbank (unterstützt werden z.B. PostgreSQL, MySQL, SQLite, Microsoft SQL Server, Oracle DB) und spiegelt deren Struktur wider (Datenbank-Introspektion).

Die Kernfunktionalität besteht darin, eine intuitive, webbasierte Administrationsoberfläche (das "Data Studio") zur Verwaltung der Datenbankinhalte bereitzustellen und gleichzeitig automatisch dynamische und anpassbare REST- und GraphQL-APIs über diese Daten zu generieren. Als "headless" System gibt Directus keine Vorgaben für das Frontend (die Nutzersicht) – die über die APIs bereitgestellten Daten können von beliebigen Frontends (Webseiten, mobilen Apps, Dashboards, anderen Anwendungen) konsumiert werden. Die Hauptanwendung ist in Node.js entwickelt, das Data Studio nutzt Vue.js.

Schlüsselfunktionen für Open Data

Mehrere Merkmale machen Directus zu einem geeigneten Werkzeug für die Bereitstellung von offenen Daten (Open Data):

  • Verwaltung strukturierter Daten: Da es auf relationalen SQL-Datenbanken aufbaut, eignet es sich hervorragend zur Verwaltung und Bereitstellung strukturierter Datensätze, wie sie im Open-Data-Kontext häufig vorkommen.
  • Datenmodellierung per GUI: Über das Data Studio können auch Nutzer*innen ohne SQL-Kenntnisse Datenmodelle (Tabellen, Felder, Datentypen, Beziehungen) einfach erstellen und anpassen.
  • Granulare Zugriffskontrolle: Directus verfügt über ein sehr detailliertes Rollen- und Berechtigungssystem. Damit lässt sich exakt konfigurieren, welche Datensammlungen (Collections) und Felder öffentlich zugänglich sein sollen (z.B. nur Lesezugriff für anonyme Nutzer) und welche geschützt bleiben oder nur bestimmten Nutzergruppen zur Verfügung stehen.
  • Sofortige APIs (REST & GraphQL): Nach der Konfiguration des Datenmodells und der Berechtigungen stellt Directus automatisch leistungsfähige APIs bereit, über die Dritte die freigegebenen Daten standardisiert abfragen, filtern und sortieren können – eine essenzielle Funktion für Open Data Portale.
  • Benutzerfreundliches Data Studio: Die webbasierte Oberfläche ermöglicht es zuständigen Datenkurator*innen oder Fachredakteur*innen, die offenen Daten ohne Programmierkenntnisse zu pflegen, zu aktualisieren und deren Qualität zu sichern.
  • Asset Management: Integrierte Verwaltung von Dateien und Medien (Bilder, Dokumente, Videos), die ebenfalls als Teil der offenen Daten über die APIs bereitgestellt werden können.
  • Open Source (GPLv3): Die offene Lizenz ermöglicht eine flexible und kostengünstige Nutzung ohne Vendor Lock-in.

Umsetzung einer Open Data Plattform mit Directus

Wenn Directus als Basis für eine Open Data Plattform dient, übernimmt es typischerweise die Rolle des zentralen Backends für die Datenverwaltung und -bereitstellung:

  • Datenhaltung: Die offenen Datensätze werden in einer verbundenen SQL-Datenbank strukturiert abgelegt.
  • Datenpflege: Über das Directus Data Studio werden die Daten von den verantwortlichen Personen verwaltet und aktuell gehalten.
  • Datenfreigabe: Mittels des Rechtesystems wird der öffentliche (Lese-)Zugriff auf die gewünschten Datensammlungen und Felder konfiguriert.
  • Datenzugriff für Nutzer: Externe Nutzer, Entwickler*innen oder Anwendungen greifen über die von Directus automatisch bereitgestellten REST- oder GraphQL-APIs auf die freigegebenen Daten zu. Die APIs unterstützen Filterung, Sortierung, Paginierung und andere Abfrageparameter.
  • Frontend-Portal (optional, aber üblich): Da Directus "headless" ist, wird oft ein separates Frontend (eine Webseite oder Webanwendung) entwickelt. Dieses Frontend nutzt die Directus-APIs, um die offenen Daten abzurufen und sie für Endnutzer in einer ansprechenden, durchsuchbaren, vielleicht visualisierten oder herunterladbaren Form darzustellen. Directus selbst liefert dieses Endnutzer-Portal nicht mit.

Vorteile und Überlegungen

Die Nutzung von Directus als Backend für eine Open Data Plattform bietet mehrere Vorteile, erfordert aber auch einige Überlegungen:

Vorteile:

  • Baut auf etablierten und robusten SQL-Datenbanken auf.
  • Sehr benutzerfreundliche Oberfläche für die Datenpflege durch Nicht-Entwickler*innen.
  • Stellt automatisch leistungsfähige und standardisierte APIs bereit, was Entwicklungsaufwand spart.
  • Ist Open Source, vermeidet Lizenzkosten und Herstellerabhängigkeit.
  • Ermöglicht präzise Kontrolle darüber, welche Daten veröffentlicht werden.
  • Gut geeignet für die Verwaltung und Bereitstellung strukturierter Datensätze.

Überlegungen / Nachteile:

  • Setzt das Vorhandensein und Management einer SQL-Datenbank voraus.
  • Bei sehr großen Datenmengen oder hoher API-Last können Performance-Optimierungen notwendig werden.
  • Ein benutzerfreundliches Frontend-Portal muss in der Regel separat entwickelt werden.
  • Die Konfiguration komplexer Datenmodelle und Berechtigungen erfordert eine gewisse Einarbeitung.
  • Weniger geeignet für die reine Verwaltung großer Mengen unstrukturierter Dateien, obwohl ein Asset-Management vorhanden ist.

Relevante Cases

Schönen Dunk Forum Erweiterung

Erweiterung mit maßgeschneidertem Content Management System

Zurück

Wie können wir Ihnen helfen?

Die Potenziale digitaler Möglichkeiten sind riesig. Das Allermeiste, was Sie sich vorstellen können, können wir für Sie entwickeln. Glauben Sie nicht? Dann sollten wir reden. Sonst natürlich auch gerne.

Mathias Münzner

Geschäftsführer

06221-1878440

Kontakt

cortona GmbH

Margot-Becke-Ring 8

69124 Heidelberg

T: +49 (0) 6221 18 78 440

E: info@cortona.de