Wir haben noch nicht alle älteren Artikel nachbearbeitet. Das bezieht sich in der Regel nur auf die Codebeispiele, die noch nicht optimal dargestellt werden.
Content-Management und Webstandards: Drupal
Im dritten Teil unserer Reihe über Content-Management-Systeme (CMS) stellt Ihnen Konstantin Käfer Drupal vor. Dieses CMS legt besonderen Wert auf den Aufbau von Communities. Dabei macht es Ihnen Drupal besonders einfach, Webstandards einzuhalten.
Drupal ist ein Content-Management-System. Das heißt, es stellt Funktionen bereit, um Webseiten dynamisch erstellen und verwalten zu können. Drupal ist sehr flexibel und erweiterbar: Es gibt einige hunderte Module, die verschiedenste Aufgaben übernehmen – angefangen vom Online-Shop über Foren, Weblogs, Warenwirtschafts- bis hin zu Kundenbeziehungsmanagement-Systemen. Zu den bekanntesten Nutzern gehören MTV.co.uk, die Podcasting-Seite twit.tv, die NASA und die Vereinten Nationen.
Drupal benötigt PHP, eine Datenbank und einen Webserver und ist unter der GPL-Lizenz freigegeben. Die aktuelle Versionsnummer ist 4.7, Version 5 mit interessanten Neuerungen steht bereits vor der Tür. Der in der neuen Version verfügbare Installer ermöglicht es auch Einsteigern, schnell ein Blog oder eine andere Website aufzusetzen. Wer allerdings komplexere Anwendungen bauen will, kommt um intensivere Beschäftigung nicht herum. Die Lernkurve ist stellenweise steil, wenn man sich aber erst einmal in die Grundlagen eingearbeitet hat, findet man sich schnell zurecht und kann ansehnliche Ergebnisse erzielen.
Serienmäßig sauberer Quelltext
Als Webdesigner, der sich um die Einhaltung von Webstandards kümmert, wird man wenig Probleme mit Drupal haben, da der standardmäßig ausgegebene Quelltext schon als XHTML 1.0 Strict validiert.
Drupal kommt mit mehreren Themes, die teilweise auch WCAG-kompatibel sind. Auch wenn standardkonformes HTML ausgegeben wird, kann man sämtliche relevanten HTML-Quelltexte ändern, um beispielsweise die Anordnung der Elemente auf einer Seite zu ändern oder um das Aussehen und den Aufbau von Kommentaren zu ändern. Dazu ist es nicht erforderlich, im Drupal-Quelltext Änderungen vorzunehmen – alles ist in einem Template möglich.
Eingabeformate
In Drupal gibt es das Konzept der Eingabeformate: Ein Nutzer kann – die notwendige Berechtigung vorausgesetzt – zwischen mehreren Eingabefiltern auswählen, also bestimmen, wie der eingegebene Text behandelt werden soll. So können bestimmte HTML-Tags zugelassen und andere verboten werden, aber auch andere Auszeichnungssprachen, wie Markdown (markdown.module), Textile (textile.module) oder das häufig in Foren zum Einsatz kommende BBCode verwendet werden. Außerdem gibt es auch das HTMLTidy-Modul, das überprüft, was der Nutzer eingegeben hat und bei ungültigen HTML eine Fehlermeldung ausgibt.
Alternativ dazu kann man das Eingabefeld auch mit einem Rich-Text-Editor wie fckEditor (fckeditor.module) oder TinyMCE (tinymce.module) ersetzen. Damit kann man Texte ähnlich einer Textverarbeitung formatieren, also durch Klicks auf einen „Fett“-Button oder durch Auswahl der Schriftgröße.
Sprechende URLs
Mit dem mitgelieferten path.module
können allen Adressen sprechende URLs zugeordnet werden. Was standardmäßig „http://example.com/node/32“ heißt, wird danach als „http://example.com/ueber-uns“ bezeichnet. Das erleichtert das Merken und die Weitergabe von Adressen und hilft auch Suchmaschinen, die mit „http://example.com/0,1578,449307,00.html“ wenig anfangen können.
Da fast alles in Drupal als Modul vorliegt (beispielsweise die Benutzerverwaltung, das Menüsystem oder eine Implementierung eines Kontaktformulars), ist auch dieses Aliasing-System ein Modul – das sich bei Bedarf auch problemlos abschalten lässt, beispielsweise um Ressourcen zu sparen.
Bilder einfügen
Hier gibt es ein Modul mit dem Namen „img_assist“, das es ermöglicht, Bilder in eine Seite einzufügen, selbst wenn der Benutzer kein HTML verwenden darf. Man klickt einfach auf einen Knopf unterhalb des Eingabefeldes, wählt das passende Bild aus oder lädt ein neues hoch und das img_assist
-Tag wird eingefügt. Dieses Modul kümmert sich auch um die alt
- und title
-Attribute, deren Inhalt der Benutzer beliebig ändern kann.
Es gibt sehr viele Module zur Bildverwaltung. Welche Möglichkeit zum Einfügen von Bildern die beste ist, hängt von Ihren Anforderungen ab. Es gibt leider noch kein Modul, das alle sinnvollen Ansätze zu einer universellen Gesamtlösung kombiniert. Andererseits ist es oftmals einfacher, ein genau auf den Verwendungszweck zugeschnittenes Modul zu verwenden als eines, das alles können will, aber nichts richtig kann.
Funktionalität bis zum Abwinken
Drupal kommt selbst mit einer ganzen Reihe an grundlegenden Modulen, wie Umfragen, Foren, Kontaktformulare, einer Art Wiki, einem System zum Anlegen von Benutzerprofilen, umfangreichen Statistiken, einem ausgeklügelten Taxonomie-System, Blogging-Funktionalitäten und vielem mehr.
Die von Benutzern erstellten Module decken alle Bereiche ab – von einem aufwändigen E-Commerce-System mit PayPal-Anbindung und Lagerverwaltung bis zu einem „Organic Groups“ genannten System, dass es ermöglicht, Nutzergruppen klar abzutrennen, jeder Gruppe ein Forum zuzuweisen und so den Aufbau von Communitys voranzutreiben. Mit dem „Content Construction Kit“ (CCK) gibt es ein Modul, um neue Inhaltstypen zu erstellen. Man kann beispielsweise festlegen, dass eine Seite einen Text, ein Bild und beliebige andere vordefinierte Formularfelder hat, also eine Eingabemaske für Inhalt festlegen. Mit „Views“ kann man Beiträge aus der Datenbank abfragen und ausgeben. So kann man beispielsweise eine Liste aller Umfragen erstellen, die innerhalb des letzten Jahres stattfanden und mit den Tags „Webstandards“ oder „Usability“ versehen sind.
Ständig wachsende Community
Drupal hat sich innerhalb des letzten Jahres enorm weiterentwickelt. Während von 2001 bis 2005 lediglich 42.904 Einträge (dazu zählen unter anderem Forenbeiträge, neue Funktionen, Dokumentation und Fehlerberichte) auf drupal.org erschienen, konnte im Jahr 2006 bereits die 100.000er-Marke geknackt werden. Sogar IBM interessiert sich in den letzten Monaten zunehmend für Drupal und hat auch schon einige Artikel dazu veröffentlicht, leider nur auf Englisch.
Weiterführende Links
- Drupal – Das CMS und viele Module können hier heruntergeladen werden. Außerdem gibt es auch ein englischsprachiges Forum.
- Drupal Handbook – Ein mehrere tausend Seiten umfassendes Handbuch zu Drupal, in dem fast alle Aspekte behandelt werden.
- DrupalCenter.de – Eine Plattform für deutschsprachige Drupal-Nutzer.
- Deutsche Nutzergruppe auf groups.drupal.org.
Kommentare
Kaiuwe
am 11.12.2006 - 11:11
Drupal ist schon ein schönes Teil, aber der unüberschaubare PHP-Funktionshaufen ist nicht mehr ganz zeitgemäß. Hier wären endlich mal Zusammenfassungen in Klassen und Objekten nötig.
Aber einen großen Vorteil hat Drupal: Anpassungen im Programmcode sind viel einfacher und schneller bewerkstelligt als bei vergleichbaren Systemen.
Konstantin Käfer (Autor)
am 11.12.2006 - 15:12
Das ist etwas, das häufig an Drupal kritisiert wird: Es benutzt nicht das
class
Konstrukt von PHP. Ich gebe zu, dass mich das zunächst auch gestört hat, da ich zuvor andere Dinge gewohnt war. Drupal benutzt es aus gutem Grund nicht. Obwohl keine Klassen in Drupal benutzt werden, ist es dennoch objektorientiert aufgebaut. Ein “Wust” an Funktionen ist es eigentlich nicht, da es ein klar definiertes Benennungsschema gibt - und ohne dieses einzuhalten funktioniert ein Modul nicht.Es ist übrigens nicht einmal nötig, am Drupal-Quelltext rumzubasteln. Die allermeisten Dinge lassen sich nämlich über sauber definierte Schnittstellen (APIs) verändern und in Modul-Form gießen. Man kann beispielsweise problemlos zur Einstellungsseite eines anderen (!) Moduls ein Formularelement hinzufügen und seine eigene Validierungs- und Speicherfunktion anhängen.
Flece
am 12.12.2006 - 17:33
Viel interessanter währe es wenn bei den Webkrauts einmal über etwas wirklich neues berichtet wird. Etwas was man nicht sofort bei google findet wenn man nach CMS sucht. Wie währe es mit einem kleinen Bericht über http://modxcms.com/ ? Es ist in Deutschland nahezu unbekannt, bietet aber gerade Entwicklern die sich mit PHP auskennen ungeahnte Möglichkeiten. Endlich einmal ein CMS was seinem Namen alle Ehre macht und kein Portal/Blog/Forum/Communitysitebuilder sein will. Es ist ein kleines Juwel für Entwickler die eben keine 100.000 vorgefertigte Module benötigen (bei denen immer genau DIE eine wichtige Funktion fehlt) sondern eine solides Framework was 100% validen Quelltext ausgeben kann, sich mit AJAX versteht, und man seine eigenen in PHP geschriebenen Funktionen einfügen kann, OHNE in den CMS-Quelltext eingreifen zu müssen.
Und mit Bericht meine ich auch Bericht. Einen kritischen Bericht über die Vor/Nachteile, Zukunftschancen, Zielgruppe usw.
Noch etwas allgemeines am Rand:
Ich wünsch mir die Artikel allesamt noch kritischer und bissiger. Viel zu oft klingen die Artikel hier weichgespült oder nach den Meinungen der Leser geschrieben. Klar gibts dann auch mehr Gegenwind aber das ist doch positiv nd regt zum nachdenken an.
Grüße Flece
Konstantin Käfer (Autor)
am 12.12.2006 - 17:58
Drupal will kein “Portal/Blog/Forum/Communitysitebuilder” sein. Drupal ist generell gesehen erstmal ein Framework und in keine Richtung spezialisiert. Man kann beispielsweise problemlos eine Brochureware-Seite bauen und später bei Bedarf das Kommentar-Modul aktivieren, ein Forum direkt integrieren und weitere Community-Funktionen einbauen.
Ich persönlich sehe Drupal auch nicht in erster Linie als ein System für das es sehr viele Module gibt sondern als eines das ich mit einfachen Mitteln nach meinen eigenen Vorstellungen erweitern kann. Übrigens ist es mit Drupal auch möglich, ein anderes Modul über automatisch bereitgestellte Schnittstellen zu erweitern.
Diese Argument gilt nahezu für jedes CMS. Wenn ich mein Zeug selbst programmieren kann, brauche ich natürlich keine bereits existierenden Module. Allerdings ist es – auch für den Profi – oftmals bequemer, ein Modul herunterzuladen und zu installieren, als sich hinzusetzen und ein komplett neues Modul zu konzeptionieren.
Kann? Heutzutage kann man eigentlich jedes CMS dazu bringen, validen Quelltext auszugeben, wenn man nur genügend Aufwand treibt.
Ich habe mir ModXCMS angesehen und einige Anmerkungen dazu. Zunächst ist das CMS ungefähr vier mal so groß (12 MB vs. 3 MB). Aber auch die Bezeichnung als “Ajax-CMS” wirft bei mir Fragen auf, ob man hier von “Unobtrusive JavaScript” schonmal was gehört hat. Zum Laufen hab ich das Ding leider nicht bekommen, da es einige Dateien offenbar nicht finden konnte. Aber auch der Quelltext strotzt nur so vor Kommentaren wie “clean up here” oder ganzen auskommentierten Codeabschnitten. Das zeugt irgendwie nicht von einer funktionierenden Qualitätskontrolle.
Kaiuwe
am 13.12.2006 - 09:58
Ein Framework und ein (Web-)Content-Management-System sind zwei unterschiedliche Systeme und sollten daher nicht verwechselt werden.
Man könnte hier jetzt streiten, welches "das beste CMS für alle Fälle" ist, aber eine Lösung lässt sich wegen der verschiedensten Anforderungen nie finden.
Danke nochmal an Konstantin für den Link zur API (warum stand der nicht im Artikel?), aber gewöhnungsbedürftig bleibt es trotzdem wenn man selber nur noch für PHP5 schreibt.
alexander farkas
am 13.12.2006 - 13:18
muss das backend eines cms wirklich durchgängig unobtrusiv sein? ich meine nein.
Kaiuwe
am 13.12.2006 - 17:00
Dann viel Spass mit Kunden bei denen JavaScript durch den Administrator deaktiviert ist. Wenn nicht mal Grundfunktionen ohne JS laufen, dann bekommst du dort dein System nicht "an den Mann".
Konstantin Käfer (Autor)
am 13.12.2006 - 17:26
Ich halte Backends, die nur mit aktivierten JavaScript funktionieren für kritisch. Oft genug gibt es Situationen, in denen man an einem anderen Computer, an dem JavaScript deaktiviert ist oder ein nicht unterstützter Browser verwendet wird. Ich persönlich war einmal in einer Situation, in der nur der Internet Explorer 5 auf Mac OS 9 zur Verfügung stand. Wenn jetzt das Backend nicht funktioniert, kann man die Änderung auf später verschieben. Die Deaktivierung von JavaScript durch den Administrator wurde ja schon angesprochen. Zudem gibt es in Firmen häufig Firewalls, die JavaScript und andere “verdächtige” Inhalte automatisch blockieren. Auch hier hat man keine Chance. Weiterhin gibt es noch andere Geräte, mit denen man das Internet nutzen kann wie PDAs oder sogar Smartphones.
Kai Laborenz
am 14.12.2006 - 09:26
Naja - wer seinem eigenen CMS das Javascript abschaltet, weiss wohl, was er zu erwarten hat...
Aber selbst im IE gibt es seit Jahren das Konzept der unterschiedlich vertrauenswürdigen Sites. So lässt sich JS auch geziehlt aktiveren.
Bei einem täglich genutzten CMS ist der Komfortsprung, der durch Javascript/AJAX erreicht werden kann, erheblich.
Tomas Caspers (Webkraut)
am 14.12.2006 - 09:49
Sorry, aber dann sollte dieser Administrator mal ganz dringend über seine Berufswahl nachdenken und ob es da nicht vielleicht passendere Alternativen für ihn gibt.
Der selbe Administrator (oder EDV-Abteilung), der zunächst die Einführung dieses CMS zulässt und dieses dann hinteher lahmlegt, weil es vermeintlich für unsicher gehalten wird? Nee, zieht nicht, dieses Argument, dafür kann man im IE Zonen einrichten, für die bestimmte Dinge erlaubt sind, die anderswo verboten sind.
Kaiuwe
am 14.12.2006 - 11:55
@Kai Laborenz
Keine Frage - stimme ich dir 100% zu.
@Tomas Caspers
Wer sagt denn überhaupt das es vorher zugelassen wird? Du kommst mit den Auftrag garnicht über das Angebot hinaus, weil eben JavaScript nicht zugelassen ist. Es gibt Unternehmen die keine CD-ROM- und Diskettenlaufwerke, kein USB- oder Firewireanschlüsse haben und nur der Admin selber über seinen Rechner im abgeschlossenem Raum Daten einspielen kann. Und wenn der meint das JavaScript keiner braucht, dann stehst du da wie "Max in der Sonne"! Der Chef der Firma traut doch seinem Admin mehr zu als einem externen Anbieter.
alexander farkas
am 14.12.2006 - 13:09
ja, ich habe bisher zweimal für unternehmen gearbeitet, bei denen das so war. (es war sogar ein bißchen extremer)
javascript war dagegen immer verfügbar. und die admins mit denen ich vorab gesprochen habe, hatten mir in beiden fällen angeboten, einstellungen zu änern bzw. software nachzuinstallieren, wenn etwas nicht klappt und sicherheit und kompatibilität das zu lassen. dieses war in beiden fällen jedoch nicht notwendig!
es bleibt dabei javascript kann nicht von jedem erwartet werden, vom backend-user schon.
Kaiuwe
am 14.12.2006 - 15:09
Wenn ein Admin ordentlich arbeitet, dann hat er auch keinen Stress und solche sind dann wirklich auch hilfsbereit. Aber leider ging es uns bei zwei Fällen schon so, das der Admin völlig überfordert war und JavaScript von ihm als neues Loch gesehen wurde. Haben dann die Anwendung extra anpassen müssen.
Wobei natürlich solch einen Mehraufwand bezahlt werden muss. :-)
Konstantin Käfer (Autor)
am 14.12.2006 - 15:38
So etwas gilt vielleicht für Firmen, in denen die Arbeit mit dem CMS die Hauptaufgabe ist. Wenn ich aber in der Schule oder Uni hocke, ist es dem Administrator ziemlich egal, was ich da konkret mache und ob ich es machen kann. Er ist eher auf die Sicherheit des System bedacht. Und mir ist auch klar, das mit entsprechender Absicherung JavaScript kaum Schaden anrichten kann. Allerdings sind hier noch viele falsche Vorstellungen in den Köpfen festgefressen.
Genau. Ich habe ja nicht gesagt, dass ein CMS ohne JavaScript auskommen sollte, sondern nur, dass es auch ohne (zumindest halbwegs) funktionieren sollte. Das ist bei Drupal der Fall. Alles funktioniert auch ohne JavaScript, aber mit hat man schon deutliche Komfortvorteile, wie z.B. Upload per JavaScript, zusammenklappbare
fieldset
s, in denen weniger häufig gebrauchte Funktionen verschwinden oder “Alles auswählen”-Checkboxen in Listen (alternativ auch Shift+Klick, um alle Checkboxen dazwischen auszuwählen).Kino und Filme Fan
am 20.02.2007 - 17:23
ne ja, schaut man sich mal in behörden um dann sind dort die rechner oftmals so sicher das selbst die leute die eigentlich mit dem rechnern arbeiten müssen nicht wirklich mehr was damit machen können.
nach zwei1/2 jahren im öffentlichen dienst weiß ich wovon ich rede! administratoren die vor lauter sicherheitswahn am liebsten die rechner abgeschaltet sehen und so einrichten das nicht selten nur noch word und exel in den grundfunktionen laufen.
aber eigentlich ist das ja am thema vorbei. also zurück zum cms.
da ich gerade, mambo geschädiegt, auf der suche nach einem cms bin bringen mir die berichte hier sehr viel.
Drupal erscheint mir zumindest mal interessant genug um mal drauf zu schauen. was mich angeht, ich bin nun mal ein lama, kannte ich die software noch nicht und bin durch den artikel sehr neugierig geworden.
wem es interessiehrt kann sich ja mal anschauen was mit klimzügen mit mambo möglich ist und wo ich jetzt auch die grenzen des systems sehe. Klick auf meinen nick!
Ein anderes system was ich im einsatz habe und für kleine projekte nur empfehlen kann ist "sefrengo.org"
zu ein beispiel finden ihr unter "www.wasserbetten-news.de/" hat kleine fehler am im grossen und ganzen gerade für einsteiger und projekte mit begrenztem wachstum eines der besten die ich bisher kennen gelernt habe.
Danke!
Christian
am 09.05.2007 - 16:50
Dank euch bin ich auf Drupal aufmerksam geworden und hab mich jetzt lange Zeit (ca. 6 Wochen) damit auseinander gesetzt. Tatsächlich kann man mit Drupal sehr viele Dinge erreichen und so anpassen wie man es möchte. Der Weg dahin ist aber teilweise sehr steinig.
Bei einigen Problemen weis man nicht ob es dafür ein Modul gibt, einen Patch zu einem bestehenden Modul oder ob die Lösung mit Hilfe von etwas PHP in den Templates zu erreichen ist.
Zum Glück scheint es inzwischen wirklich viele Drupal-Entwickler zu geben, natürlich vor allem im englischsprachigen Raum. Hilfe ist also an jeder Ecke zu finden.
Für eine einfache Seite, die nur einige Seiten Content beherbergt oder einfach nur für ein Blog würde ich Drupal aber nicht einsetzen. Da ist die Arbeit mit Wordpress doch um einiges flotter. Für alle anderen Anforderungen (Forum, Benutzerlogin, Profile, Usergenerierter Conten usw.) ist Drupal aber die erste Wahl.
Etwa drei Wochen habe ich benötigt um mein erstes Drupalprojekt zu realisieren und hier ist es: Werbespotsongs.de. Ich habe nur Module benutzt die es bereits gibt und den ein oder anderen kleinen Patch um meine Anforderungen zu erfüllen.
Rainer München
am 25.09.2007 - 19:46
Drupal ist inzwischen bei Version 5 angekommen und die 6 ist bereits in den Startlöchern.
Meiner Meinung nach ist Drupal das CMS im Open-Source-Bereich schlechthin. Plone soll ja auch ganz gut sein - ist aber Python, und Joomla! ist halt noch etwas wenig ausgereift. Wordpress hat trotz unglaublich vielen Modulen den Fokus auf Weblog - und da ist es ungeschlagen.
Wenn es um ein professionelles CMS geht ist Drupal Spitze!
Bauseite
am 03.01.2008 - 14:39
Hallo,
meine Webseite hab ich auch vor ein paar Monaten auf Drupal ( Version 5.3 ) läuft zur Zeit - umgestellt, eine andere Seite läuft noch mit Joomla, die Drupalseite hat über 50.000 Artikel und läuft sauber und schnell, die Joomlaseite hat gerade mit 3500 Artikel ! und läuft schei..., es dauert Minutenlang wenn ich neue Artikle einfügen will, das Backend lädt sehr sehr lang usw. usw. obwohl die Joomlaseite auch auf einem eigenen Server liegt !
Armin
am 28.01.2008 - 20:34
Hallo!
Verwalte (als blutiger Laie) die Seiten der evangelischen Kirche im Bayerischen Wald. Kann ein solcher Hilfsbremser wie ich mit Drupal zurechtkommen? Dazu gehört, auch noch "laierigere Laien" einzuweisen.
Bisher hantieren wir mit einem selbstgezimmerten CMS eines wohlgesonnenen Menschen.
Für Tipps - bzw. Hinweise - wäre ich dankbar!
Gruß,
Armin Hamann
Robert
am 16.04.2008 - 20:01
Ich fand zu Beginn die modulare und schlanke Art vielversprechend. Drupal hat das auch gehalten.
Es benötigt aber definitiv eine la(aaa)nge Einarbeitungszeit. Ich sehe es fast ähnlich dem Framework Typo3, nach dem Motto es ist alles möglich, aber es dauert auch alles länger :-) .
So steht nun meine erste Drupalseite nach Überhüpfen etlicher Hürden (hauptsächlich ist es für mich lästig auf viele Ausgaben nur indirekt Zugriff zu haben und nicht ähnlich WP mit Tags direkt arbeiten zu können) meine erste Seite. Am integrierten Blog arbeite ich nun aber schon (zu) lange.
Konkrete Beispiele:
- Automatische Navigation (grrr)
- Pfade für Kategorien, wenn die vom System gesetzt werden (hält sich nicht an alis oder alias ist schon von view besetzt)
- Admin-Template/ Navigierbarkeit
+ toll sind die frei wählbaren Inhaltstypen mit ggf. frei definierbaren Inhaltsfeldern (alles voll updatesicher, falls Wordpress-Fans mitlesen)
+ ...
Mein Fazit: für aufwändige Seiten mit vielen Funktionen ein (!) Pflicht-CMS. Darunter nur wenn man mit dem System sehr vertraut ist.
Die Kommentare sind geschlossen.