Da wir immer wieder gefragt werden, welches Content Management System am Besten geeignet für ein bestimmtes Projekt ist, wollen wir mit dieser Artikel Serie einen Überblick über Einsatzbereiche und Vor- und Nachteile unserer favorisierten Systeme geben.
Dazu stellen wir Demo Installationen zum Kennenlernen und Experimentieren mit den Systeme zur Verfügung:
Universelle Einsatzbarkeit & Anpassbarkeit
Das Schöne an Drupal ist, dass es sehr viele einfache Möglichkeiten zur Anpassung bietet und sehr einfach erweiterbar ist.
Dieses System ist nicht – wie WordPress – auf Blogs zentriert, sondern es bietet eine Architektur, die alles möglicht macht, ohne zu dass es zu überfrachtet mit Funktionen ist (so wie zB. viele Joomla Admin- Komponenten). Blogs, Formulare, Foren, Umfragen, Benutzer Profilseiten, Kommentare, Suche, und viele weitere Datenbank Module sind im Kern System bereits integriert. Wichtige Administrator Funktionen wie Statistiken, SEO- “URL Aliase”, Auto Updates u.v.m. sind ebenfalls vorhanden. Direkt im Admin Interface gibt es sehr viele sinnvolle Optionen, wodurch individuelle Internetseiten effizient realisiert werden können. So sind zB. für *sämtliche* Layouts editierbare Template Dateien vorhanden und einfache Programmier Aufgaben können direkt im Editor mit PHP/HTML/JS Code Schnipseln erledigt werden.
Zur Erstellung von Seiten ist zu Beginn einige Einarbeitungszeit notwendig, aber man gewinnt durch die guten, integrierten Hilfetexte schnell Übersicht und freut sich, dass alle – für Programmierer – relevanten Optionen vorhanden sind. Die Template Dateien sind direkt in PHP & HTML formuliert, so dass es nicht nötig ist, spezielle Sprachen zu lernen wie TypoScript, o.ä.
Entscheidend ist auch, dass die Navigation und alle Berechtigungen einfach geändert werden können, denn dadurch wird es erst möglich, einen Admin Bereich einzurichten, der genau auf die Erfordernisse der Anwender zugeschnitten ist. So kann man nutzlose und gefährliche Optionen ausblenden und alle wichtigen Funktionen in die Frontend- Seite integrieren. Die Benutzer-rollen können zB. so eingestellt werden, dass unerfahrene Benutzer intutitiv alles editieren, aber nichts zerstören können, während User der Rolle ‘Webmaster’ Zugriff auf alle nützlichen Systemeinstellungen erhalten.
Drupal ist von Grund auf mehrsprachig angelegt. Jeder Textschnipsel (String) kann einfach übersetzt werden und sämtliche Systemnachrichten sind bereits in vielen Sprachen vorhanden.
Im zentralen Plugin Repository sind bereits Module für jeden erdenklichen Zweck vorhanden. Diese lassen sich einfach installieren und ebenfalls gut anpassen, da sie nach vorgegebenen Standards des Frameworks programmiert sind, wodurch die Einarbeitung in den Code leicht fällt.
Performance und Sicherheit
Wichtig zu erwähnen ist auch, dass Drupal sehr schlank und schnell ist. Es bietet mehrere Zwischenspeicher – Schichten “Caching” und diverse, moderne Komprimierungs- und Optimierungs- Funktionen, die den Server, die Internet-Verbindungen und die Client Browser wesentlich entlasten. So können auch ‘High Traffic’ Sites mit 100.000+ “Page Views” (Seiten-Aufrufe) täglich auf einem einzelnen Webserver betrieben werden. Bei Einsatz von Joomla oder Typo3 werden ganze Server- Farmen mit “Load Balancing” -Verteilern für solche Szenarien benötigt.
Das integrierte Benutzer-, Rollen- und Berechtigungs- Management ist frei konfigurierbar, ausgereift und dadurch sicher: jahrelange “Penetrations” (Angriffs) -/ Tests und konsequente Weiterentwicklung mit viele Sicherheitsfunktionen, wie zB. Token Checks bei Formularen.
Moderne Architektur
Für Entwickler ist sehr interessant, dass dieses System durchgänging in einer durchdachten, modernen ‘Model View Controller’ Architektur programmiert ist, mit der sich sehr einfach, eigene, individuelle Module realisieren lassen. So ist es kein Problem, zB. eine Seminar Verwaltung zu erstellen, die genau die passenden Felder in den Editoren und pixelexakte Ansichten erhält und so ganz genau auf den jeweiligen Anwendungszweck und die Wünsche des Kunden passt.
Durch die gute Architektur ist es möglich, Änderungen und Erweiterungen an den Layout Templates und an allen Datenbank Modulen schnell, effizient und sicher umzusetzen. Dadurch lassen sich Seiten erstellen, die komplett individuell gestaltet sind und nicht an ein Standard Template erinnern.
Da das System -Design und die -Bibliotheken durchgängig verwendet werden – auch in allen Zusatz- Modulen – ist es einfach und effizient möglich, Anpassungen vorzunehmen. Alle Drupal Module im Repository weisen durch die Verwendung der System Standards eine hohe Qualität auf und sind sicher und zuverlässig programmiert. Dies steht im Gegensatz zu z.B. Joomla (bis v1.5?) und vielen anderen CMS: dort bringt jede Komponente eine eigene Template Engine und eigene Bibilotheken mit, was das System insgesamt um ein Vielfaches komplexer, schwerfälliger und unsicherer macht. Solche Komponenten sind nur mit hohem Aufwand anpassbar und anschleßend kaum noch “update-bar”.
Warum nicht Drupal?
Vielleicht weil es zu komplex ist?
NaJaaeinNein: in der Standardinstallation sieht die Administration sehr unübersichtlich aus. Die (Admin) Navigation (und alles andere) lässt sich aber so anpassen, dass es intuitiv und funktional wird. Hat man einmal die Struktur verstanden und angepasst, kann man alles damit machen (TM).
Weil es zu technisch und kompliziert ist!
Bei anderen Systemen ist der Preis für die freien Gestaltungsmöglichkeiten wesentlich höher. Da ich in den letzten fünf Jahren ein eigenes CMS Framework designed und entwickelt habe, kann ich sagen, dass die Architektur und die Administration sehr gut durchdacht und ausgereift ist. Andere Systeme erreichen mit viel mehr Optionen viel weniger Freiheiten und verwirren oft mit Automatismen, die mehr Arbeit verursachen als einsparen.
Einarbeitung ist bei professionellen Systemen immer notwendig. Bei Drupal lohnt sich das, weil man damit sehr effizient individuelle Webseiten realisieren kann, wenn man sich auskennt.