Drupal vs. Joomla – die nächste Runde

Es ist ja schon einiges geschrieben worden über diese beiden Content Management Systeme. Jetzt werde ich  auch mal meinen Senf dazugeben und versuchen die Systeme so neutral wie möglich zu vergleichen (falls das überhaupt möglich ist).

Joomla 1.5 ist jetzt seit Januar 2008 veröffentlicht, Drupal 6 seit Februar 2008. Die Krux bei der Einführung neuer Open Source-Systeme ist dabei, das die neuen Systeme zwar mit neuen Funktionen und verbesserten Code daherkommen (Joomla 1.5 wurde komplett neu geschrieben), die Module aber oft nicht „hinterherkommen“ und auf sich warten lassen. Dies erschwert natürlich die Entscheidung auf das neue System umzusteigen, weil sich damit längst nicht alle Funktionen realisieren lassen.

Grundfunktionalität/Core

Drupal: Volltextsuche, Forum, Blog, Kommentare, Kontaktformular, Polls, Content Syndication (RSS), Buch-Funktion, News Aggregator, Versionskontrolle (Revisionen), Rollenbasiertes Rechtesystem, Benutzeranmeldung, Update-Benachrichtigung, Statistik, Tracking und Analysen, Suchmaschinenfreundliche URLs

Joomla: Volltextsuche, Blog, Kontaktformular, Polls, Content Syndication (RSS), Hierarchisches Rechtesystem, Benutzeranmeldung, Print & PDF Ausgabe, Online-Editor, Statistik, Tracking und Analysen, Bannermanagement, Suchmaschinenfreundliche URLs, Archivierungsfunktion

Administration/Usability

Drupal: Im Gegensatz zu Joomla und anderen Content Management Systemen gibt es bei Drupal keine klare Trennung zwischen Backend und Frontend. Beide Bereiche gehen nahtlos ineinander über. Dies mag sicherlich etwas gewöhnungsbedürftig sein für Leute die schon mit anderen CMS gearbeitet haben. D.h. es wird dasselbe Template für den Admin-Bereich benutzt wie für die Site. Das verursacht bei manchen Templates Probleme, da die Breite für einige Funktionen nicht ausreicht. Auch wenn ich sonst kein Freund von fluiden Layouts bin; hier würde es Sinn machen. Es kann dem Admin-Bereich aber auch ein eigenes Template zugewiesen werden. Ein eigenständiges Admin-Template gibt es jedoch nicht.

Die Hauptnavigation befindet sich in der Sidebar und ist in die Bereiche Inhaltsverwaltung, Strukturierung, Einstellungen, Benutzerverwaltung, Logs und Hilfe aufgeteilt. Die Eingaben editiert man dann im Content-Bereich. Ich empfinde die Hauptnavigation in Drupal manchmal als etwas unübersichtlich und unintuitiv. Auf Contentseiten muss man ziemlich lange scrollen und der Löschen/Speichern-Button ist ganz unten. Will man einen Artikel in ein anderes Menue verschieben, wird es total unübersichtlich. Alle Menue-Einträge sämtlicher Menues erscheinen in einem kleinen Fenster und sind kaum zu unterscheiden. Benutzerfreundlich ist das alles nicht.

Ich persönlich habe mich zwar schnell an die Bedienung gewöhnt, einem Kunden so eine Benutzeroberfläche anzubieten, noch dazu in einem Konglomerat aus Deutsch und Englisch, verursacht mir ein wenig Kopfschmerzen.

Joomla: Die Joomla-Administration ist ein eigener Bereich. Die Hauptnavigation ist Horizontal angelegt und in die Bereiche Site, Menüs, Inhalt, Komponenten, Erweiterungen, Werkzeuge und Hilfe aufgeteilt. Die Unterpunkte erscheinen dann dynamisch ebenfalls horizontal. Alles wirkt übersichtlich und aufgeräumt. Der Zugriff auf alle Funktionen erfolgt sehr schnell. Das Backend ist mittlerweile komplett in Deutsch. Module, Templates und Plug-ins werden direkt aus der Admin installiert – ohne FTP und ohne vorheriges entpacken. Außerdem steht noch ein eigenes FTP-Modul für Joomla zur Verfügung (eXtplorer)  d.h. es kann außer bei der Installation vollkommen auf einen FTP-Client verzichtet werden.

Die Inhaltserstellung und Verwaltung wurde erheblich verbessert in der 1.5. So sind im Editor jetzt Standard-Buttons für Bildeinfügen, Seitenumbruch und weiterlesen-Button integriert. Parameter wie Autor, Datum, etc. lassen sich sowohl global für alle Inhalte einstellen, als auch individuell für jeden Beitrag. Inhalte sind vielfältig filterbar.

Webstandards/Templates

Drupal: Fast alle frei verfügbaren Templates für Drupal sind tabellenlos und weitestgehend barrierefrei. Die Anzahl der Templates ist bei weitem nicht so groß wie bei Joomla, dafür wird auf die Einhaltung von Webstandards  großen Wert gelegt.

Drupal verfügt über ein Template System mit dem sich zahlreiche Veränderungen an der Ausgabe und Erscheinung von Nodes vornehmen lassen wie z.B. Themeable Functions, Template Variablen, Overrides, Hooks und nartürlich auch CSS. Diese komplexen Manipulationsmöglichkeiten erfordern allerdings etwas  KnowHow und PHP-Kentnisse.

Joomla: Für Joomla gibt es eine unüberschaubare Anzahl an freien Templates. Die Qualität des Codes lässt aber immer noch zu wünschen übrig. Die Templates selbst sind meistens Webstandard konform, jedoch der Code der Module wird immer noch in Tabellen ausgegeben. Nichtsdestotrotz hat sich bei Joomla 1.5, auf Drängen der Community, einiges getan. So verfügt Joomla 1.5 jetzt über ein Template Override-System, mit dem sich die Ausgabe des HtmlCodes aller Module und Komponenten direkt ins Template verlagern lässt. So erhält der Designer endlich die Kontrolle über den Code-Output.

Mit dem vorinstallierten Beez-Template und dem komplexeren JA-Purity-Template liegen saubere, barrierefreie Templates vor, auf dessen Basis sich eigene   Templates entwickeln lassen. Es ist also möglich Joomla-Templates tabellenlos zu machen, es hat sich bloß noch nicht rumgesprochen. Ich werde in Kürze ein Tutorial schreiben wie Joomla 1.5 barrierefrei und tabellenlos gemacht werden kann.

Organisation von Inhalten/Content Management

Drupal: Die Inhalte werden in Drupal mittels des Taxonomy-Moduls organisiert. Zuerst wird ein Vokabular angelegt. Dem Vokabular werden dann Begriffe zugeordnet. Es kann aber auch ein „freies Tagging“ aktiviert werden d.h. die Begriffe (Tags) können beim Erstellen der Inhalte frei gewählt werden. Die Hierarchie der Begriffe kann wahlweise einfach oder mehrfach verschachtelt werden. Ich denke, dass  das Taxonomie-System mit Tags die flexiblere Art der Organisation von Inhalten ist. So lassen sich kategorienübergreifend Beziehungen zwischen Texten und Themen herstellen.

Joomla: Die Inhalte in Joomla werden mittels Bereichen (Sektionen) und Kategorien organisiert. Die Bereiche entsprechen dem Vokabular bei Drupal, die Kategorien den Begriffen. Einfaches Beispiel: Bereich: Obst, Kategorien: Birnen, Äpfel, Zitronen. Eine mehrfache, kategorienübergreifende  Zuordnung eines Beitrags ist nicht möglich.

Benutzer/Rechteverwaltung

Drupal: Die Benutzerverwaltung in Drupal ist rollenbasiert. Es können beliebig viele Rollen (Gruppen von Benutzern) angelegt werden. Für jede Rolle kann über die Zugriffskontrolle exakt definiert werden, was diese Gruppe von Benutzern auf der Seite tun darf. So lassen sich Kompetenzen ziemlich fein definieren und verteilen. Bestimmte Inhalte können auch nur für bestimmte Rollen sichtbar gemacht werden.

Joomla: In Joomla gibt es nur 6 verschiedene, vordefinierte Rollen. 3 für das Frontend (Author, Editor, Publisher) und 3 für das Backend (Manager, Administrator, Super Administrator). Ein Author darf Nachrichten schreiben und seine eigenen Nachrichten ändern. Ein Editor darf Nachrichten schreiben und jede Nachricht, die im Frontend erscheint, ändern. Ein Publisher darf Nachrichten schreiben und jede Nachricht, die im Frontend erscheint, ändern. Außerdem darf er darüber entscheiden, ob Nachrichten veröffentlicht werden oder nicht. Ein Manager darf Inhalte erzeugen und veröffentlichen jedoch nicht: Benutzer verwalten, Module installieren, die Site konfigurieren, Templates und Sprachdateien installieren. Ein Administrator darf alles was die vorherigen Rollen dürfen, jedoch nicht die Site-Konfiguration bearbeiten, sich selbst zum Super Admin machen.

Ein SuperAdministrator darf alles.

Zudem gibt es noch die Möglichkeit bestimmte Inhalte nur für Special User sichtbar zu machen. Ein Special User ist jeder Benutzer, der mehr Rechte als ein Manager hat.

Community

Drupal: Die deutsche Drupal-Community (drupalcenter.de) ist recht groß und sehr engagiert. Die Dokumentation ist ziemlich umfangreich. Es existiert ein Handbuch, ein Forum und verschiedene lokale Usergruppen, die sich auch im Reallife treffen. Wer des Englischen mächtig ist, findet auf Drupal.org ein noch größeres Wissenreservoir.

Joomla: Die deutschsprachige Joomla-Community ist ebenfalls sehr engagiert und noch um einiges größer als die von Drupal. Joomla ist das CMS mit der größten Verbreitung; so muss man oftmals noch nicht einmal eine Frage im Forum posten, da die Lösung oft schon in den zahlreich beantworteten Threads gefunden werden kann.

Erweiterungen/Module/Extensions

Es existiert eine unüberschaubare Menge an Erweiterungen sowohl für Drupal als auch für Joomla. Die meisten Module sind stabil und ausgereift. Hier empfiehlt es sich auf die Bewertungen und Berichte anderer User zu achten.

Die 10 wichtigsten Erweiterungen für Drupal:

  • FCK Editor – WYSIWYG Editor
  • CCK-Content Construction Kit – Zum Anlegen eigener Inhalts-Typen
  • Content Access – um Inhalte nur bestimmten Benutzern zugänglich zu machen
  • Imagecache – Modul zur Definition von Bild, Thumbnail-Größen
  • Poormanscron – Startet automatisch Cron-Jobs in bestimmten Intervallen z.B. für die Indexierung der Suche, Feeds etc.
  • Panels – für die Erstellung flexibler Seitenlayouts – z.B. mehrspaltige Layouts.
  • Sections – um bestimmte Bereiche einer Site per CSS anders zu stylen
  • (i18n) Internationalization – für die Übersetzung der Inhalte in verschiedene Sprachen
  • Views – zum auflisten, strukturieren und filtern von Inhalten
  • Pathauto – zur automatischen, suchmaschinenfreundlichen Generierung von Titeln

Die 10 wichtigsten Erweiterungen für Joomla:

  • Community Builder – Extension zur Erweiterung von User Management, Profilen, Workflow (derzeit nur im Legacy Mode)
  • DOCman – Dokumenten Management und Download (derzeit nur im Legacy Mode)
  • JCE Editor – WYSIWYG Editor
  • eXtplorer – Interner FTP Client
  • Joom!Fish – – für die Übersetzung der Inhalte in verschiedene Sprachen
  • yvComment – für die Integration von Kommentaren in Seiten/Blogs
  • Custom Properties – Komponente zur Auszeichnung von Inhalten mit Tags
  • Fireboard Forum – Forum System mit sehr vielen Features (derzeit nur im Legacy Mode)
  • Expose Flash Gallery – Gallerie Komponente
  • VirtueMart –integriertes  E-Commerce System

Der Legacy Mode in Joomla 1.5 ermöglicht die Weiterverwendung von Joomla 1.0 Modulen. Dies funktioniert nicht immer einwandfrei und geht zu Lasten der Performance.

Fazit

Ein eindeutiges Votum für eines der vorgestellten Systeme werde ich nicht abgeben. Beides sind ausgereifte Systeme, mit einer engagierten Community aus Entwicklern und Nutzern, von denen sich noch viel erwarten lässt. Joomla 1.5 hat sich erfolgreich von seinen Altlasten befreit. Der Einsatz von Joomla 1.0 ist allerdings nicht mehr zu empfehlen. Letztendlich ist es entscheidend welche Art von Webseite man realisieren will,  welche Gruppe von Personen mit dem System arbeiten sollen und mit welchen Funktionen die Seite aufwarten soll.

Das spricht für Drupal:

  • Community-Features: Viele Funktionen zum Aufbau einer Community sind bereits im Core, viele weitere freie Module stehen zur Verfügung
  • Ausgereifte Benutzerverwaltung/Rechtemanagement
  • Ausgereiftes Taxonomie System zur Organisation von Inhalten
  • Einhaltung von Webstandards
  • Erstellung eigener Inhaltstypen mit CCK
  • Automatische Benachrichtigung für System-Updates und Module
  • Flexible und vielfältig anpassbar – für Admins mit PHP-Kenntnissen bieten sich zahlreiche Manipulationsmöglichen an den Templates

Das spricht für Joomla:

  • Benutzerfreundlichkeit
  • Geringe Einarbeitungszeit
  • Leichte Erstellung von Inhalten
  • Leichte Installation von Templates & Modulen
  • Große Community
  • Viele frei verfügbare Templates
  • Kein FTP-Client notwendig

Weiterführende Links zu Drupal

Weiterführende Links zu Joomla

10 Gedanken zu „Drupal vs. Joomla – die nächste Runde

  1. Nur ein paar Verbesserungen ;- )

    CCK ist nicht dafür gedacht neue Content Typen zu erstellen sondern diese mit neuen Attributen zu versehen ( zB Produkt Bild ). Eigene Content Typen ist schon eine Standard Core Funktionalität.

    Poormanscron startet nicht automatisch sondern ist eine Hilfestellung für Webpakete die keine automatischen Crons anlegen dürfen.

  2. Das spricht für Joomla:
    # Benutzerfreundlichkeit ?
    # Geringe Einarbeitungszeit ?
    # Leichte Erstellung von Inhalten ?

    ????
    Kann dem nicht übereinstimmen…

    Das sind genau die 3 Gründe warum ich zu Drupal gewechselt bin, da es dort viel einfacher ist sich einzuarbeiten und Inhalte zu erstellen….
    Joomla ist viel zun unübersichtlich und haut ein mit 100 Einstellungen zu. Drupal ist hat ein wunderbares Grundgerüst, welches man sich Stück für Stück aufrüsten kann, wenn bedarf besteht.

  3. Hallo,
    vielen Dank für den Hinweis. Die Komponenten Zoo und K2 machen wirklich einen vielversprechenden Eindruck.

  4. Hallo,

    schön dass hier mal nicht parteilich gesprochen wird.

    In der Zwischenzeit gibt es auch für Joomla CCK-Komponenten wie ZOO oder K2, leider weithin noch unbekann, da hier sowieso eher die kleinerer Nutzerschaar professioneller Anwender sich tummeln dürfte als bei Drupal.

    Mit der endlich im nächsten Jahr erscheinenden Version 1.6 werden Themen wie Suchmaschinenoptimierung, Rollen-Rechtemanagement, Multilingualität und umgesetzt sein und damit dürfte nun auch Joomla an professionelle Nutzung herangereift sein.

    Die Frage, für welches System man sich entscheidet, kann natürlich nur individuell und nach Vorlieben beantwortet werden.

  5. Hallo Carl,
    das klingt aber recht anspruchsvoll was man auf der Webseite alles machen soll.
    Mir fällt dazu das Views-Modul von Drupal ein. Damit lassen sich gewiss viele von den gewünschten Funktionen realisieren. Ob alle, das kann ich momentan nicht beurteilen. Ansonsten würde ich empfehlen, sich das Modul einmal näher anzusehen oder die Anforderungen noch einmal im Forum von Drupalcenter.de vorzustellen.

  6. Vlt. könnte Ihr mir bei meiner Entscheidung konkret helfen:

    Ich möchte eine Website entwickeln, die zwar grundsätzlich viele Funktionen beinhalten soll, die sowohl Joomla und Drupal standardmäßig anbieten: Community-Funktionen, Standard Web 2.0-Funktionen etc. Da sind meine Anforderungen auch nicht so hoch.

    Wichtiger wird der Hauptteil der Seite, der eher nach individuellen Entwicklungen ausschaut:
    -> User soll Content aus Datenbank auswählen können, im eigenen User-Profil speichern können, individuelle Sortierung des ausgewählten Contents nach vorher definierten Sortierungs-Regeln, Ausgabe des Contents zur Festplatte des PC etc.

    Welche Software würdet ihr mir da empfehlen?? Würdet ihr mir dafür überhaupt eine CMS-Software empfehlen? Oder lieber auf der grünen Wiese und nachher irgendwo einbetten (WordPress etc.)?

    Wäre toll wenn ihr was dazu sagen könntet.

  7. Den Punkt Sicherheit wollte ich eigendlich auch mit aufnehmen. Allerdings fehlt mir hierzu das Beurteilungsvermögen. Rein intutiv würde ich Drupal größere Sicherheit zuschreiben. Es werden öfter Sicherheitsupdates veröffendlicht. Von gehackten Drupalseiten habe ich auch noch nicht gehört, von Joomlaseiten aber sehr wohl.
    Ist aber ein reines Bauchgefühl und somit rein subjektiv.

  8. Sehr schön.
    Was ist aber mit Sicherheit. Haben die beiden Systeme unterschiedliche Sicherheitsmechanismen. Wer mach hier das Rennen?

  9. Hi Alex,
    eigendlich müsste ich Dir einen Blumenstrauß überreichen. Du bist der erste Kommentator und dann auch noch so konstruktiv 🙂 Danke dafür.
    Der Beitrag spiegelt meinen derzeitigen Wissenstand wieder und ist sicherlich nicht vollständig. Der eine oder andere konstruktive Kommentar würde die Sache noch etwa „runder“ machen.
    Also Leute, nicht so schüchtern. Traut euch.

  10. Ich weiß nicht genau, wies mit Joomla 1.5 aussieht, aber einer der entscheidenen Vorteile Drupals gegenüber Joomla ist das Hook-/Callback-System, dass der Core schon mitbringt.
    Die gesammelte Box an Override-Functions im Theming und Form-Bereich sowie Vereinfachungsfunktionen (z.B. hook_theme) stellen imho einen deutlichen Vorteil dar. Nichts muss doppelt programmiert werden.
    Nachteil: Oft müssen Module installiert werden, die man höchstens für eine Funktion benötigt. Bei großen Seiten kann man so 20 oder mehr Module installiert haben, die man im Grunde kaum benötigt.
    Auch, wie du bereits richtig erwähnt hast, doch einiges an Einarbeitungszeit von Nöten ist, um mit Drupal entwicklerisch klarzukommen…

    Ich finde das Menüsystem in Drupal auch nicht beosnders dolle, auch zum entwickeln nicht, aber soweit ich weiß, soll D7 da schon besser sein. Habs noch nicht ausprobiert.

    Und was mich total annervt, ist die Speicherauslastung. Selbst wenn ich den php-Speicher auf 100MB hochschraube, stoße ich hier und da an die Grenzen. (Auch ein Verdienst der Dependencies).

    Aber alles kein Grund Drupal den Rücken zu kehren 🙂

Kommentare sind geschlossen.