Springe zum Inhalt

Drupal 7: persönliche Erfahrungen

Drupal LogoNach langer Abstinenz habe ich mich wieder einmal mit Drupal beschäftigt. Zur Experimentierfreudigkeit kam zudem eine aktuelle Aufgabenstellung: Neuorganisation einer kommerziellen Webseite inklusive Auswahl des geeigneten CMS.

Die Aufgabenstellung war relativ einfach: ansprechende Startseite, ein paar Menüpunkte mit einfachen Seiten, mehrere Kontaktformulare mit unterschiedlichen Feldern. Daneben ein paar Seiten, deren Inhalt dynamisch aus anderen Dateien bzw. Inhalten des Dateisystems generiert werden müssen. Dazu noch ein paar Blog-artige Seiten mit Neuerungen in unterschiedlichen Kategorien.

Meiner Erfahrung nach habe ich irgendwann verallgemeinert: WordPress = Blog, Drupal = kleiner Projekte mit unterschiedlichen Elementen, Joomla = umfangreiche Projekte mit allem Schnickschnack.

Bei obigen Projekt landete ich also bei Drupal. Die Installation ist bei fast allen CMS gleich: heruntergeladene Dateien in ein Verzeichnis auf den Webserver kopieren, Datenbank anlegen, Seite aufrufen und damit Installation starten. Ebenso bei Drupal. Einfach und in wenigen Minuten durchgeführt.

Ein erstes Theme, welches ungefähr den Anforderungen entsprach war schnell gefunden, die ersten Inhalte schnell übertragen. Alles bestens, alles fein. Drupal meckert nicht, läuft schnell und kommt sogar von Haus aus mit so exotischen Beschleunigern wie dem von mir eingesetzten HHVM zurecht.

Textformatierungen

But wait, die bisherigen Texte hatten keinerlei Auszeichnung, Formatierungen waren bis auf Zeilenumbrüche nicht vorhanden. Kein Problem im Texteingabefeld für den Inhalt in Drupal. Was aber nun bei der ersten Überschrift, dem ersten fett zu formatierenden Text? Drupal setzt hier auf HTML-Kenntnisse der Autoren. Wenn man im Web schreiben will sollte man nach Drupals-Meinung schon wissen, dass Überschriften mit H1, H2 usw. formatiert werden, Fett mit <b> wie Bold formatiert wird und auch korrekt abgeschlossen werden will. Meiner Meinung nach ist das aber unzumutbar für Autoren und Redakteure, die sich um ansprechende Inhalte kümmern sollen und nicht um spitze Klammern.

Ein Wysiwyg-Editor musste also her. In WordPress leistet TinyMCE gute Dienste, hoffentlich läßt er sich auch in Drupal integrieren. Für Drupal existiert dazu das Modul WYSIWYG, welches die Integration mehrerer Editoren in Drupal ermöglicht. Leider läd das Modul den Editor nicht selbst herunter, es liefert nur minimalistische Informationen, wo man den Editor im Dateisystem ablegen soll. Nach dem Herunterladen und dem Kopieren an die richtige Stelle ist es aber noch nicht getan. Es muss zuerst konfiguriert werden, wie der Editor pro Rolle aussehen soll (standardmäßig sind keine Buttons aktiviert, der Editor ist also quasi nicht sichtbar) und man muss den Editor noch den unterschiedlichen Textformaten zuweisen. Soweit so gut und kompliziert. Der Editor läuft und funktioniert.

Nein, es läuft nicht korrekt. Zeilenumbrüche werden weggefiltert, der Text ist nur noch ein einziger Matsch. Es muss erst in den Einstellungen der Textformate definiert werden, dass <p> ein erlaubter Tag ist.

Menüs

Weiter geht es mit den Menüs. Bei jedem Inhalt kann definiert werden, ob ein Menüpunkt erstellt werden soll und wo der Eintrag in der Menüstruktur stehen soll. Standard. Aber warum zum Teufel werden die Menüpunkte nicht aufgeklappt? Nach ein bisschen Forschen fand ich heraus, dass man das Ausklappen der Menüpunkte in Drupal pro Menüpunkt konfigurieren kann. Leider steht der Standard auf "nicht ausgeklappt" und läßt sich auch nicht beim Festlegen des Inhalts als Menüpunkt einstellen, warum auch immer. Mir fällt eigentlich kein Anwendungsfall ein, in dem ein Untermenü erst auf Klick und nicht gleich beim Darüberfahren aufgeklappt werden sollte. Also: klick, klick, klick, klick: alle Menüpunkte des Hauptmenüs auf automatisch aufgeklappt eingestellt.

Bilder

Nun das größte Problem: Bilder. Das Einbinden von Bildern ist für jedes CMS nicht ganz unkompliziert. Bilder werden meistens im Dateisystem und nicht wie der Artikelinhalt selbst in der Datenbank abgelegt. Es müssen also immer Dateien und evtl. noch automatisch erstellte verkleinerte Abbildungen im Inhalt referenziert werden. Dazu wird noch eine Möglichkeit benötigt, die Bilder hochzuladen und evtl. zu verwalten. Drupal hat nach einer Standardinstallation nichts von all dem! Leider auch nach Jahren Entwicklungszeit seit meinem letzten Kontakt mit Drupal.

Aus der Erinnerung wusste ich, dass früher ein paar Module benötigt wurden, um Bilder in Drupal einzufügen. Leider hat sich an dieser Situation nichts geändert. Eine entsprechende Anleitung für Drupal 7 war schnell gefunden. Eigentlich nichts anderes, was ich schon vor Jahren machen musste, um Bilder einigermaßen komfortabel in Drupal einzufügen: sechs (!) zusätzliche Module installieren.

Diese wollen natürlich erst einmal zum Zusammenarbeiten bewegt werden. Der oben verlinkte Artikel gibt da ein paar Hilfestellungen.

Anschließend waren zwar nicht alle Menüpunkte wie in der Anleitung beschrieben verfügbar, ein Einfügen mehrerer Bilder funktionierte jedoch, wenn auch mit mehreren im Brower geöffneten Popups, welche auch noch ausgesprochen "unstylish" aussehen.

Drupal setzt bei Bildern auf eine Eigenorganisation. Verzeichnisse für unterschiedliche Webseitenbereiche müssen selbst angelegt und verwaltet werden. Ebenso gibt es nirgendwo einen Überblick, welche Dateien aktuell noch referenziert werden oder aus einem alten gelöschten Artikel stammen. Löschen sollte man deshalb keine Bilder, denn eine Negativliste, also eine Liste der nicht auf der Webseite verwendeten Bilder, gibt es nicht.

Fazit

Aus meiner Sicht habe ich im obigen Anwendungsfall keine allzugroßen Anforderungen an das CMS gestellt. Leider hat sich Drupal dabei nicht mit Bravour geschlagen, sondern musste erst mit viel Zusatzarbeit in ein die Grundanforderungen erfüllendes System verwandelt werden. Für Experimentierfreudige ist Drupal sicher brauchbar. Der Drupal-Kern erlaubt eine sehr gute Strukturierung von Inhalten. Leider hat es bei einfachsten Anforderungen bei mir versagt.