CMS Systeme und ihre Vorteile? (Teil 4: Drupal)
Heute folgt der vierte und letzte Blog der CMS-Reihe mit dem Titel „Drupal“.
Drupal ist neben Typo3, Wordpress und Joomla! eines der bekanntesten Content-Management-Systeme der Welt und belegt den dritten Platz im internationalen Vergleich.
Drupal ähnelt einem Baukastensystem mit fast unbegrenzten Möglichkeiten, deshalb eignet es sich für die verschiedensten individuellen Anforderungen.
Entwicklung von Drupal:
Ursprünglich wurde Drupal als eine Communitylösung für Stundenten entwickelt. Niemand rechnete mit so vielen Anhängern und der weltweiten Nutzung des Systems.
Die erste Version von Drupal wurde 2001 veröffentlicht, seitdem verbreitet sich das System rasant und wird stetig von der Community weiterentwickelt.
Architektur und Aufbau:
Drupal greift auf PHP als Programmiersprache zurück und ist mit den meisten gängigen Datenbanken kompatibel.
Die Erstinstallation ist sehr schlank und enthält lediglich ein paar Module und Funktionen wie Suchfeld, Kontaktformular, RSS-Feeds oder Blog. Alle weiteren gewünschten Funktionen können über unterschiedliche Module (Themes) integriert werden. Mittlerweile stehen bei Drupal über 12000 Module zur Verfügung, die sowohl Entwicklern als auch Anwendern keine Wünsche mehr offen lassen. All diese Module lassen sich auf https://www.drupal.org/project/project_module finden und herunterladen. Zusätzlich finden Sie dort auch vorgefertigte Profile (Lösungen), die für typische Anwendungsfälle zusammengestellt worden sind.
Durch die individuelle Installation der einzelnen Module spart man zum einen Ressourcen auf dem Computer und zum anderen viel Zeit bei den Wartungsarbeiten. Außerdem kann man selbst entscheiden, wie groß das System werden soll und welche Funktionen wirklich gebraucht werden.
Drupal verfügt weiterhin über ein sehr genaues und konkretes Rollen- und Rechtemanagement, welches durch den Administrator verwaltet und kontrolliert werden kann. Im Gegensatz zu Wordpress, welches nur mit vorgefertigte Rollen arbeitet, ist der Administrator bei Drupal in der Lage die einzelnen Benutzer oder Rollen je nach Zugriffsrechten individuell einzustellen.
Beim Thema Inhaltsorganisation denkt Drupal nicht, wie andere Content-Managemant-Systeme, in Hierarchien, sondern eher unter dem Stichwort Wiederverwendbarkeit. So geht Drupal davon aus, dass Inhalte an mehreren Stellen auf einer Website auftauchen können. Aus diesem Grund erstellt Drupal in seiner Grundinstallation Stichwort basierte Übersichtsseiten, die es ermöglichen Begriffe mit unterschiedlichen Inhalten zu verbinden. So können die Inhalte durch Auswahl der entsprechenden Eingabemasken individuell definiert werden.
Beispiel: Möchte man beispielsweise Rezepte veröffentlichen, so könnte man die Eingabemasken „Zutaten“, „Kalorienmenge“, „Name des Rezepts“, „vegetarisch“ und „veagan“ definieren. Der Rezeptsuchende hat so die Möglichkeit das passende Rezept über mehrere Wege zu finden.
Aber keine Sorge für diejenigen, die bei der Inhaltsorganisation lieber mit Hierarchien arbeiten, auch hierfür hat Drupal ein Modul, bei dem die Inhaltsorganisation als Stammbaum aufgebaut ist.
Ein weiterer großer Pluspunkt für Drupal ist die Mehrsprachigkeit, die eine internationale Nutzung ermöglicht. Die zentrale Übersetzungsplattform macht es möglich, dass Drupal in über 181 Sprachen verfügbar ist. Durch das nicht geteilte Front- und Backend ist bei jeder Sprache auch die Übersetzung der Redaktionsoberflächen vorhanden. Diese Funktion ist sehr vorteilhaft, wenn man mit einem internationalen Team zusammenarbeitet, da jeder die Möglichkeit hat in seiner Sprache zu arbeiten und Drupal die Übersetzung von sich aus erbringt.
Natürlich ist auch Drupal nicht perfekt... denn Drupal eignet sich eher nicht für kleinere Projekte mit einem statischen Aufbau, weil das System dafür einfach viel zu umfangreich ist. Außerdem bedarf jede Funktion, die über ein Modul installiert wurde, Arbeit und Abstimmung mit den bereits vorhandenen Modulen. Dies führt manchmal zu umfangreichen Serviceeinstellungen und längeren Ladezeiten.
Community:
Hinter Drupal verbirgt sich eine sehr kontaktfreudige und große Community. Diese verteilt sich auf mehrere weltweite User-Groups. Regelmäßige Treffen finden als Camps oder Code-Sprints in den meisten größeren Städten statt, diese sind dann in der Regel auf einen bestimmten Themenkomplex konzentriert. Außerdem gibt es verschiedene internationale Konferenzen beispielsweise die Drupalcon.
Drupal 8:
Vor gar nicht so langer Zeit, am 19.11.2015 war das große Drupal 8-Release. Manche sprechen hier vom „größten Drupal-Update aller Zeiten“. Hier ein kleiner Einblick was sich durch Drupal 8 alles verbessert hat:
-
alle Themes sind nun in responsive verfügbar
-
auch das Backend ist nun responsive, so dass administratorische Aufgaben auch auf Tablet oder Smartphone erledigt werden können
-
neue Felder für die Modellierung von Inhalten werden zur Verfügung gestellt
-
Änderungen können nun auch nur mit dem Frontend vorgenommen werden
-
Standardmäßig werden die Einstellungen der Drupal-Installation in einer Datenbank gespeichert, so hat man die Möglichkeit die Konfigurationen Dateibasiert zu speichern
-
es ist nun einfacher Einstellungen von der einen auf die andere Seite zu exportieren
-
kompatibel mit der PHP 7-Version
-
jedes Inhaltselement ist nun übersetzbar und es kann eine Fallback-Sprache eingestellt werden ohne die Standardsprache zu verändern
-
vier neue Web-Service-Module
die Performance wurde verbessert beispielsweise durch besseres Caching oder die Zusammenfassung von CSS und JS-Dateien uvm.
Pros
- schlanke Basisinstallation → wenig Ressourcenverbrauchzu umfangreich für kleine Projekte (statische Websites)
- international weit verbreitetes Systemzum Teil umfangreiche Serviceeinstellungen und lange Wartezeiten bei Erweiterung des Systems (~3 Jahre)
- über 6000 Erweiterungen verfügbar → fast unbegrenzte Möglichkeiten
- Mehrsprachigkeit
- konkretes Rollen- und Rechtemanagement
- große und sehr kontaktfreudige Community
Cons
- zu umfangreich für kleine Projekte (statische Websites)
- zum Teil umfangreiche Serviceeinstellungen und lange Wartezeiten bei Erweiterung des Systems
Drupal ist einem Baukasten wirklich sehr ähnlich, wenn man sich die einzelnen Module als Bausteine vorstellt, die sich individuell zusammen setzen lassen. Durch diese fast unbegrenzten Möglichkeiten eignet sich Drupal für so ziemlich jedes Projekt. Gerade auch bei Projekten, die in mehreren Sprachen verfügbar sein sollen, lässt Drupal keine Wünsche offen. Lediglich kleine, statische Projekte lassen sich, wie oben bereits erwähnt, mit Drupal nicht so gut umsetzen.