Update auf Drupal 6 - Erfahrungsbericht Teil 1

Raketenschildkroete-2.jpg

 Endlich ist es soweit: Ich stelle die erste Live-Seite auf Drupal 6 um. dug-hannover.org wird binnen kurzer Zeit in neuem Glanz erstrahlen, auch wenn dieser mehr innerlich ist ;). Das Upgrade ist natürlich lange nicht so problemlos, wie behauptet und erhofft, jedoch überwiegt die Freude über neu gewonnene Features. Auch zahlreiche Usability-Verbesserungen in Drupal 6 begeistern, man merkt an fast jeder Ecke, daß das Programmiererteam sich Gedanken gemacht hat. Und natürlich ist es ein grossartiges Gefühl, die neueste tollste beste Version zu betreiben.

Automtischer Import von Modul-Sprachdateien

Fangen wir doch erstmal mit was Positivem an: das verbesserte Management von Mehrsprachigkeit ist tatsächlich verbessert: bei der Installation eines neuen Modules überprüft Drupal, ob sich eine .po Datei im Modulordner befindet, und importiert die darin enthaltenen Übersezungen automatisch. Eine Statusmeldung meldet dann den erfolgreichen Import. Wow! Wie lange haben wir uns darüber geärgert, dass die Sprachfiles manuell importiert werden mussten, und es aus diesem Grund für neue Module einfach nicht getan. Aber nun - so die Übersetzer fleissig sind - dürfte das Interface zunehmend komplett deutsch werden.

Vorsicht mit voneinander abhänigegen Modulen

Das nächste ist keinesfalls positiv. Aus einem Grund, den mir vielleicht noch ein eloquenter Core-Developer nahebringen kann, versucht Drupal beim Ausführen von update.php (zum Datenbank-Schema-aktualisieren), die Tabellen für alle Module im modules-Ordner zu aktualisieren.

Und zwar, ob sie aktiviert sind oder nicht. Das führt bei voneinander abhängigen Modulen zu fiesen Fehlern. Denn wenn z.B. imagefield abhängt von imageapi, und die Datenbanktabellen von imageapi  sind noch gar nicht aktualisiert, will imagefield evtl. dort was reinschreiben oder eine Abhängigkeit aufzubauen; dies schlägt natürlich fehl. So ein Ärger. Abhilfe wird in der Readme von CCK gegeben (CCK ist da besonders empfindlich): Zunächst müssen alle Module ausserhalb des modules-Ordners aufbewahrt werden und schrittweise aktiviert werden.

Schritt für Schritt Module updaten beim Upgrade auf Drupal 6

  1. Den "modules" Ordner komplett leeren (muss ja sowieso passieren, wenn noch D5-Module drin sind)
  2. Alle aktuellen D6-Versionen der upzugradenden Module sammeln und irgendwo auf der Festplatte bereithalten
  3. In der Reihenfolge der Abhängigkeiten Module in den Ordner legen, aktivieren, und jeweils Datenbankupgrade laufen lassen (update.php)
  4. Bei CCK besonders vorsichtig sein und Anleitung lesen

Wenn man diese Schritte beachtet, sollte nichts schiefgehen. Da die enorme Verbreitung von Drupal 6 allerdings eher auf komplett neue Installationen, die direkt mit D6 begannen, besteht, hat die grosse Upgradewelle wahrscheinlich noch nicht stattgefunden. Aus diesem Grund kann es sein, dass das Upgrade des einen oder anderen Modules nicht reibungslos funktioniert. Von daher wie immer: Geduld, issue erstellen, wenn man es eilig hat, die evtl. fehlende Tabellenspalte von Hand erstellen (musste ich bei imagecache machen.)