5 Jahre Drupal bei Cocomore
Das CMS Drupal ist im Alltag der Cocomore AG unverzichtbar. Vor 5 Jahren begann mit Drupal 5 der Einzug in die Projektlandschaft bei Cocomore. Inzwischen wird es für eine Vielzahl von Projekten eingesetzt.
Vor ziemlich genau fünf Jahren führte unser damaliger Leiter der IT, Markus Kalkbrenner, eine Evaluation von Content Management Systemen (CMS) durch, unter Berücksichtigung des Nutzens für die Cocomore AG. Es war schnell klar, dass keine Unsummen an Lizenzgebühren anfallen durften und dass es möglich sein musste, das CMS den Kundenwünschen entsprechend schnell und einfach anpassen zu können. Auch der Funktionsumfang spielte eine wichtige Rolle. Damals (wie auch heute zum Teil noch) stand TYPO3 in Deutschland immer an der Spitze der Ranglisten. Drupal war hingegen ein Newcomer und hierzulande ziemlich unbekannt. Zu diesem Zeitpunkt hatte bei uns eigentlich noch niemand etwas davon gehört. Wir kannten eher Namen wie Wordpress oder Mambo (heute Joomla). Bei näherer Betrachtung stellte sich dann aber schnell heraus, das Drupal ziemlich genau dem entsprach was wir suchten. Daher entschlossen wir uns damals im Frühjahr 2007 ein oder zwei Projekte mit Drupal 5 umzusetzen und zu schauen wie gut oder wie schlecht es funktioniert.
Die ersten Schritte mit Drupal 5
Die erste Seite, die wir mit Drupal umsetzten, war für ein Altersheim. Es war nichts Großes, nur eine Art Visitenkarte mit einigen Infos und Bildern. Ich muss gestehen, dass der Anfang damals mit den ersten Versionen von Drupal 5 nicht ganz so einfach war wie erhofft, aber von nichts kommt ja bekanntlich auch nichts. Aber das Projekt ging dann doch relativ schnell und unkompliziert über die Bühne. Anschließend probierten wir lokal noch einige Zeit weiter und lernten die Funktionsweise und den Aufbau von Drupal nach und nach besser kennen.
Ende Februar stand dann ein Relaunch der for-me-Website (http://www.for-me-online.de) an. Hierbei handelte es sich um eine größere Seite und die Umsetzung war mit einigem Aufwand verbunden. Trotzdem gelang die Umsetzung in der relativ kurzen Zeit von nur drei Monaten mit zwei bis drei Entwicklern und einem doch recht großen Funktionsumfang. Klar gab es einige Probleme und Rückschläge, die unter anderem auch mit einigen Fehlern im Core des neuen Drupal 5 oder in Modulen lagen. Doch alles in allem erwies sich der Relaunch als Erfolg und Drupal als ein geeignetes Werkzeug zur Umsetzung von komplexen Seiten mit vielen Inhalten.
Sogar fünf Jahre später läuft immer noch eine Seite mit Drupal 5 (aktuell ist ja mittlerweile Drupal 7): ellviva. Hierbei handelt es sich um eine Eigenentwicklung von Cocomore, in der die gesammelten Inhalte unserer Fachredaktion und die technischen Errungenschaften einfließen sollten. Die Entwicklung von ellviva startete relativ kurz nach der Umsetzung des for-me-Portals. Bei der Umsetzung von ellviva wurde zum ersten Mal mit einem großen Entwicklerteam über einen längeren Zeitraum sehr intensiv mit Drupal gearbeitet. Dabei lernten wir Drupal bis in die tiefsten Codezeilen kennen. Nicht immer war alles positiv was wir dort vorfanden. Doch es gibt ja die Issue Queue auf http://drupal.org.
Beim ellviva-Projekt zeigte sich auch wie gut Drittsysteme oder bereits vorhandene Anwendungen in Drupal eingebunden werden können. Seitdem kennen wir Drupal 5 (und auch Drupal 6) nun bis in die tiefsten Ebenen, was uns trotzdem nicht abschreckte fast alle unsere neuen Projekte damit umzusetzen. Erfreulich war bzw. ist ebenfalls die gute Zusammenarbeit in der Community. Wenn es Probleme gab oder wir einen Fehler im System oder in einem Modul entdeckten, so konnte dieses relativ schnell und einfach mittels der Issue Queue oder direkten Gesprächen mit den anderen Entwicklern aus der Welt geschafft werden. Das gilt natürlich auch heute noch.
Drupal 6
Ende 2007 kamen dann die ersten Versionen von Drupal 6 auf den Markt. Zugegeben, zu Beginn hakte das ganze System noch etwas und es gab auch keine Module dafür. Daher blieben wir zunächst bei Drupal 5. Doch nach einiger Zeit, ich glaube so ab Sommer 2008 war es dann soweit, dass es wirklich eingesetzt werden konnte. Wie mit jedem Major-Release bei Drupal war die neue Version um einiges besser als ihr Vorgänger. Daher setzen wir fortan alle unsere Projekte mit der Version 6 um und Drupal etablierte sich bei Cocomore zu einem der wichtigsten Werkzeuge für alle Arten von Projekten.
In den folgenden Jahren haben wir dann damit Projekte wie den real-Familymanager , Traumbäder von MAX BAHR, die Seite der Jacobs University in Bremen, unsere eigene Cocomore Homepage und diverse andere Seiten umgesetzt.
Der Cocomore Drupal Core, die Cocomore Drupal Distribution und Mitarbeit auf drupal.org
Wie oben bereits erwähnt wurden im Laufe der Entwicklungen immer wieder Probleme und Fehler gefunden. Wir lernten schnell, dass der Austausch mit der Community gut funktioniert und dass es gewinnbringender ist, seine Erkenntnisse mit den anderen zu teilen und auch zu helfen. Wie heißt es auch so schön: „Geben ist seliger denn Nehmen“. In unserem Fall würde ich sagen, dass es sich um ein ausgewogenes Verhältnis handelt. Wir verwenden Drupal, um damit unsere Kundenprojekte umzusetzen. Wir geben in der Form von Issues, Patches, Austausch mit der Community, Wissenstransfer, Vorträgen und Schulungen. Und auch einige Module werden von uns betreut, wie z.B.
- ThemeKey (http://drupal.org/project/themekey),
- Apache Solr Multilingual (http://drupal.org/project/apachesolr_multilingual),
- Cron Control (http://drupal.org/project/cron_control),
- Taxonomy Theme (http://drupal.org/project/taxonomy_theme)
- Storm Contrib (http://drupal.org/project/storm_contrib)
- Geoblocker (http://drupal.org/project/geoblocker)
- Internal Links (http://drupal.org/project/intlinks)
Wenn aber ein Problem bei einem Kundenprojekt gefunden wird, dann möchte der Kunde nicht warten, bis das Issue bearbeitet und eine neue Version des Moduls veröffentlicht wird. Daher waren bzw. sind wir gezwungen diese Probleme sofort zu lösen. Leider dauert es manchmal über die Community sehr lange, bis ein Patch aufgenommen und bearbeitet wird, da die Maintainer nicht immer die Zeit dafür erübrigen können. Das macht es manchmal erforderlich ein Modul oder den Core selber zu patchen, bis die Änderungen im Original eingepflegt sind. Aus diesem Grund haben wir im Jahre 2009 einen eigenen Blog ins Leben gerufen. Ziel war bzw. ist es allen anderen die Möglichkeit zu geben von unseren Erkenntnissen und Patches zu profitieren. Da wir sowieso manchmal für Kundenprojekte Module und auch den Drupal Core etwas anpassen und für uns dann pflegen müssen, können wir diese gepatchten Module auch der gesamten Community zur Verfügung stellen. Ist dann der Patch in der Originalversion des Moduls enthalten, so stellen wir wieder um und die Cocomore-Version des Moduls wird eingestellt. So haben alle etwas von der Arbeit, die wir ohnehin erledigen müssen. Aus dieser Idee heraus entstand auch der Cocomore Drupal Core (CDC) und die so genannte Cocomore Drupal Distribution (CDD).
Beim Cocomore Drupal Core haben wir bestimmte, für uns und unsere Projekte wichtige, Patches integriert, die es aus verschiedenen Gründen bisher nicht in den normalen Drupal-Core geschafft haben. Des Weiteren basiert der Cocomore Drupal Core auf der Core-Version von Pressflow. Hierbei handelt es sich um eine auf Performance optimierte Core-Variante von der Firma Four Kitchens aus den USA, die aktiv am Drupal Core mit entwickelt. Die Erkenntnisse des Pressflow-Projektes fließen regelmäßig in den normalen Drupal-Core ein. Die Core-Versionen von Cocomore und Pressflow sind immer kompatibel mit dem normalen Drupal-Core. D.h. es kann auch in einem laufenden Projekt immer zwischen den Core-Varianten gewechselt werden.
Bei der Cocomore Drupal Distribution handelt es sich im Prinzip um ein Installationsprofil, mit dem eine normale deutschsprachige Community-Website relativ schnell und einfach aufgesetzt werden kann und die die Erkenntnisse von Cocomore enthält. Sie setzt sich aus dem Cocomore Drupal Core und diversen Modulen zusammen, die für eine deutschsprachige Community-Website empfehlenswert sind. Die Cocomore Drupal Distribution hat leider in den vergangenen 1 ½ Jahren etwas unter unserem Zeitmangel gelitten, da unsere Kunden uns glücklicherweise mit sehr viel Arbeit eingedeckt haben. Es ist aber geplant diese nun wieder zu beleben. Die ersten Schritte sind bereits getan, wir müssen nur noch an ein paar Details arbeiten und sicherstellen, dass alles auch richtig funktioniert. Anschließend werden wir endlich wieder neue Versionen der Distribution veröffentlichen.
Drupal 7
Im Januar 2011 wurde Drupal 7 offiziell veröffentlicht. Auch in Frankfurt fand im O’Reillys-Pub am Hauptbahnhof eine D7 Release Party statt, gesponsert von Cocomore. Eine ebenfalls unvergessliche Veranstaltung, bei der wir Besuch vom TYPO3-Pfarrer Reverend Neverend erhielten, der unser Drupal-Entwickler-Team erfolglos zu TYPO3 bekehren wollte.
Eigentlich wollten es alle besser machen als bei der Veröffentlichung von Drupal 6. Damals kam die neue Core-Version, aber es dauerte eine Weile, bis passende Module verfügbar waren. Diesmal wurde viel mehr Zeit in die Entwicklung des Cores investiert und sehr viele Modulmaintainer verbrachten viel Zeit damit um gleichzeitig mit dem Start von Drupal 7 eine aktualisierte Version von ihrem Modul zu veröffentlichen. Die Idee war sehr gut, alle begeistert bei der Sache. Leider kam es dann doch etwas anders als gehofft. Es gab diverse Probleme mit der Drupal 7 Version, vor allem bei den Themen Lokalisierung und Mehrsprachigkeit war das neue Konzept noch nicht ganz ausgereift. Inzwischen ist ein Jahr vergangen, es gab diverse Code-Sprints (unter anderem auch bei Cocomore) und Verbesserungen, und so sind die Krankheiten langsam alle behandelt worden. Die letzten Experimente liefen erfolgreich, auch mit komplexen Anforderungen im Bereich der Mehrsprachigkeit. Ein Lob und ein dickes Dankeschön an alle die bei den Sprints zu diesem Thema mitgewirkt haben.
Drupal Camps, Cons und die Drupal Community
Wie oben bereits erwähnt haben wir Anfang 2007 mit der Drupal-Version 5 begonnen. Damals war die Community noch nicht so groß wie heute, Drupal noch lange nicht so bekannt, und es gab auch nicht so viele Camps, Cons und andere Treffen. In Deutschland gab es zu dieser Zeit nur eine Handvoll von Agenturen, die sich mit Drupal beschäftigten. Der Austausch verlief für uns daher meistens über drupal.org oder in Form von Mails. Das änderte sich Anfang 2009, als im Februar das erste deutschsprachige Drupal-Camp in Köln stattfand. Damals bekam die Community für uns erstmals richtige Gesichter. Es war ein super Camp mit einer tollen Atmosphäre. Dadurch, dass es noch nicht so groß war, hatte es fast einen familiären Charakter. Unvergesslich auch die langen Schlangen bei McDonalds und Subways mit einer sehr taffen, kompetenten Bedienung, die bis zu sechs Sandwiches gleichzeitig bearbeitet hat. Für uns war das ein einschneidendes Erlebnis und seitdem sind wir bei jedem Camp im deutschsprachigen Raum vertreten. Nach Köln folgten tolle Camps in Wien, München, Essen und Berlin. Es ist eine großartige Community und ich freue mich immer wieder mit so vielen tollen Leuten zusammenzukommen und gemeinsam ein gutes Produkt noch besser zu machen. Wer noch nie dabei war, der hat was verpasst. Ein großes Lob und ein fettes Dankeschön an alle, die aktiv an der Drupal Community beteiligt sind!
Neben den Camps gibt es noch die großen Cons, die eine Woche dauern. 2009 fand die Drupal-Con in Paris statt und seitdem ist Cocomore auch bei den Cons in Europa mit dabei. Nach Paris kam Kopenhagen und danach London. Dieses Jahr kommt die Con nach Deutschland, genauer gesagt nach München. Das werden wir uns keinesfalls entgehen lassen und werden dort mit einer großen Delegation aufschlagen. Erstmals beschränken wir uns auch in diesem Jahr nicht mehr auf den europäischen Raum. Im März findet die Drupal-Con in Denver statt und Cocomore wird dabei sein.
Darüber hinaus gibt es in Deutschland noch eine Vielzahl an weiteren Terminen und Events. Von Code-Sprints über die Treffen der regionalen Drupal-Usergroups bis hin zu sogar echten Campingveranstaltungen. Alle Termine zu besuchen ist eigentlich unmöglich zumal ja ab und zu auch noch der Kunde mit Arbeit überrascht und manch einer auch ein Privatleben genießt. Zugegeben, letzteres kommt manchmal ein bisschen kurz, selbst wenn nur die wichtigsten Termine wie Camps, Cons und Sprints wahrgenommen werden. Daher muss eine Auswahl getroffen werden bei welchen Events und in welchen Gruppen der Drupalist aktiv sein möchte.
Cocomore versucht natürlich die wichtigsten Ereignisse wahrzunehmen und an den Camps, Cons und Sprints dabei zu sein. Das ist schon manchmal eine anstrengende Sache, die sich aber lohnt und auch wirklich Spaß macht. Darüber hinaus erfolgt ein Engagement für die Drupal User Group im Rhein-Main-Gebiet, schon aus geographischen Gründen. Die Teilnahme am Drupal-Stammtisch in der Brotfabrik in Frankfurt ist natürlich ein Pflichttermin. Ebenso das nun neue Drupal-Meetup, das im zweimonatigen Rhythmus den Stammtisch ablöst. Hierbei stellt Cocomore seinen großen Konferenzraum zur Verfügung und sponsert Brezeln und Getränke. Darüber hinaus versuchen wir immer einen von drei Vorträgen zu bestreiten um die Community an unseren Erkenntnissen teilhaben zu lassen. Das Meetup soll aber nicht als ein Cocomore-Event wahrgenommen werden, sondern als Dialogplattform zum Austausch von Wissen und Erfahrungen. Daher fordern wir auch immer Vorträge von den anderen Teilnehmern ein.
Erkenntnis
Vor etwa fünf Jahren haben wir uns aus verschieden Gründen für Drupal entschieden. Es war (und ist) nicht immer nur einfach, aber das gilt ebenso für andere CMS, Frameworks und Technologien. Drupal ist nun seit fast fünf Jahren ein treuer Begleiter bei Cocomore und es gibt bei uns niemanden der behauptet, dass es ein Fehler gewesen sei. Das Gegenteil ist der Fall. Alle sind begeistert wie gut und schnell Projekt damit umgesetzt werden können. Selbst neue Mitarbeiter im Drupal-Team, die vorher in anderen Agenturen mit anderen Technologieschwerpunkten gearbeitet haben, sind von Drupal überzeugt. Dass es eine gute Entscheidung war zeigt sich in letzter Zeit auch an der Vielzahl von Agenturen, die plötzlich alle Drupal unterstützen. Vor fünf Jahren konnte ich die noch an einer Hand abzählen. Drupal wird auch in Deutschland immer populärer. Dies liegt auch an der großartigen Community, bei der wir sehr gerne Mitglied sind. Danke an alle, die dies ermöglicht haben.
Wir sehen uns hoffentlich bei einer der diversen Veranstaltungen 2012
- Drupal Camp Essen, 25. Und 26. Februar
- Drupal Con Denver, 19. Bis 23. März
- Drupal Con München, 20. Bis 24. August
- Drupal Stammtisch/Meetup Rhein-Main Gebiet
- Drupal Sprint bei Cocomore, Termin wird noch bekannt gegeben
- …
Bis dann ...
Carsten Müller - http://drupal.org/user/124707