Facebook
Twitter
Google+
Kommentare
17

Drupal 6 – Erfahrungsbericht

drupal_logoNachdem ich mich seit einer Woche mehr oder weniger sehr intensiv erstmalig mit Drupal beschäftige, dachte ich, dass ich von Beginn an meine Erfahrungen, die ich im Laufe der Entwicklung meiner ersten Drupal 6 Applikation (einem Videoportal) mache, zu Papier bringe, um vielleicht dem einen oder anderen den Einstieg zu erleichtern.

Startschwierigkeiten

Grundsätzlich muss ich zu Drupal sagen, dass es meiner Meinung nach, trotz guter Dokumentation und Tutorials nicht wirklich einfach ist sich einzuarbeiten, da das System sehr mächtig und daher auch komplex ist.

War man bislang ein System wie Typo3 gewohnt, das alles andere als einfach zu bedienen ist, wird man sich nach der ersten Installation von Drupal wahrscheinlich fragen was das für ein System mit sage und schreibe ganzen vier Menüpunkten ist und ob es wirklich das verspricht was viele behaupten.

Man wird jedoch sehr schnell eines besseren belehrt, denn es denken scheinbar nicht alle CM-System Entwickler so sehr „Typo“ wie die Typo3 Entwickler selber. Sorry für diesen Seitenhieb an Typo3, aber in meiner langjährigen Programmierlaufbahn ist mir noch nie ein solch unbenutzerfreundliches System untergekommen, wo man womöglich sogar Tutorials über das richtige Ausloggen aus dem System finden wird, weil der „Ausloggen“ Link in der zehnten Unterebene eines Hauptmenüpunkts versteckt ist.

So. Genug über Typo3 geschimpft. Es geht hier um Drupal.

PHP Einstellungen

Ich empfehle nach der Erstinstallation von Drupal sofort folgende Änderungen in der php.ini vorzunehmen, damit man später nicht mit leeren Seiten bei der Administration konfrontiert wird:

max_execution_time = 60;-120
memory_limit = 16M;-32M

Habt ihr keinen Zugriff auf die php.ini, dann könnt ihr diese Änderungen über .htaccess vornehmen.

Nachtrag: Womöglich kam das in meinem Beitrag nicht klar rüber, aber diese Änderungen sollten nur zu Testzwecken in diesem (übertriebenen) Ausmaß durchgeführt werden, deswegen habe ich jetzt diese Werte angepasst, um keine weiteren Diskussionen aufkommen zu lassen. Manche Module benötigen einfach mehr Memory, die Grundinstallation von Drupal funtioniert sehr wohl mit Memory Limit 8MByte. Das Problem sind die Module. Die Meisten Module, die ich bislang ausprobiert habe, funktionieren aber mit Memory Limit 16MByte und Execution Time 60, aber nicht alle, von daher habe ich vorgeschlagen diese Limits zu erhöhen. Falls manche Module nur mit einem sehr hohen Memory Limit funktionieren sollten, sollte man diese in Frage stellen bzw. sich mal den Code ansehen, denn Programmierfehler kann man nie ausschließen. Das Problem dabei liegt jedoch auf der Hand, denn man kann bei keinem gehosteten Webhostingpaket wirklich feststellen welches der installierten Module nun den Speicher frisst und zu debuggen hat dann auch nicht mehr viel Sinn, da man noch mehr Memory verbrauchen wird. Klar, das ist bestimmt ein Problem bei gehosteten Webspace.

Eine deutschsprachige Installation von Drupal 6 gibt es im drupalcenter.de zum Downloaden.

Module

Folgende Module empfehle ich sofort zu installieren (drupal.org) in den Ordner sites/all/modules (den Ordner modules muss man selbst anlegen):

admin_menu – Durch Zufall habe ich dieses Modul entdeckt und musste mich ärgern, weil ich es nicht schon früher entdeckt habe. Wie der Name schon sagt handelt es sich um ein Administrationsmenü. In Drupal gibt es selbstverständlich ein integriertes Admin-Menü, aber dieses erzeugt eine horizontale Navigationsleiste, über welche man mit wenigen Klicks dort hinkommt wo man hin möchte.

poormanscron – Im Hintergrund laufen bei Drupal immer eine Menge Cron Jobs zu allen möglichen Dingen (Updates, etc.) und damit diese gleich von Haus aus auf eurer lokalen Testinstallation funktionieren, ohne selbst etwas umstellen zu müssen, ist dieses Modul sicher hilfreich.

i18n – Hat man vor seine Seite mehrsprachig zu gestalten empfehle ich gleich von Beginn an das Modul Internationalization zu installieren, um sich spätere Probleme zu ersparen.

Mehrsprachigkeit

Wenn man nun bei den Einstellungen der Mehrsprachigkeit „Sprachpräfix mit Rückfallssprache“ wählt, sollte folgendes beachtet werden:

Wenn man nun zwischen den Sprachen herumswitcht, kann es, vor allem beim Erstellen von Menüpunkten, zu merkwürdigen Effekten kommen. 100%ig nachvollzogen habe ich das noch nicht, aber ich empfehle beim Erstellen von mehrsprachigen Menüpunkten in der Systemsprache zu bleiben, denn da ist mir noch kein ominöses Verhalten aufgefallen. Außerdem empfehle ich gerade bei der Erstellung der Menüs nicht auf die Primär- und Sekundärlinks zu setzen, sondern auf das Anlegen eigener Menüs, da man sich so einiges an Arbeit und Googeln zum Nachforschen von merkwürdigem Verhalten erspart.

Résumé

Alles in allem finde ich das System sehr gewöhnungsbedürftig, da das Backend im Grunde gleichzeitig das Frontend ist. Das bedeutet, dass man alle Administrationsoptionen nach dem Einloggen im Design des Frontends integriert hat. Das hat mich anfangs ziemlich irritiert und daher habe ich die Menüs für den Administrator so umgebaut, dass dies nicht mehr der Fall ist. Außerdem kann man unter Einstellungen/Verwaltungstheme ein eigenes Theme für das Backend einstellen. Grundsätzlich wäre dieser „Umbau“ nicht notwendig, wenn man das Modul admin_menu verwendet, aber da es in meinem Portal mehrere Administratoren geben wird und ich diesen das admin_menu nicht freischalten möchte (ich bin in der Hinsicht womöglich ein wenig paranoid), nahm ich diese Änderungen vor.

„BuchuUNtipps“

Nun bin ich schon wieder am Ende meines kleinen Erfahrungsberichtes und möchte folgende Drupal 6 Lektüren NICHT empfehlen:

Drupal 6 von Data Becker: Oberflächlich, oberflächlich, oberflächlich. Sogar ein Redakteur wäre mit dieser Lektüre unterfordert.

Praxiswissen Drupal 6 von O‘Reilly: Ich habe das erste Buch vom O‘Reilly Verlag gefunden, das Mist ist. Das Niveau des Buches ist ungefähr auf „Wie installiere ich ein Modul richtig“.

Folgende Lern-DVD empfehle ich:

Drupal Lern DVDIch habe zuvor noch nie eine Lern-DVD gekauft, da ich dies immer mit einem Hörbuch in Verbindung gebracht habe und von Hörbüchern nicht viel halte. Nachdem ich jedoch nur positives zu dieser DVD im Internet gelesen habe, habe ich zugeschlagen. Es gibt dazu ein gleichnamiges Buch, das von den Käufern eher nicht empfohlen wird. Hagen Graf erstellt mit dem Zuschauer eine kleine Drupal 6 Webseite, die man sich auch im Internet ansehen kann. Außerdem kann man das dazugehörige Buch online im Internet durchlesen.

Hagen Graf, Drupal 6 von Addison Wesley

Im Moment lese ich mich in zwei weitere Bücher ein, die die Modulentwicklung behandeln. Mehr dazu vielleicht schon bald 🙂

Anmerkung: Ich weiß nicht, ob es wirklich stimmt, aber in einem Buch habe ich gelesen, dass die Domain drop.org vom Hauptentwickler von Drupal quasi zu vergeben wäre, wenn man eine gute Idee dafür hat. Der Grund dafür ist, dass man sich damals bei der Registrierung geirrt hat und anstatt von Dorp eben Drop registriert hat und danach war dorp.org nicht mehr frei und dann entstand eben eine Ableitung daraus: Drupal. (Dorp bedeutet Dorf in irgendeiner Sprache).

Über den Autor

Ewi

Als ich die Oberstufe mit 17 abgebrochen habe und als Sekretärin, ähm Office Managerin, zu arbeiten begann, stellte ich sehr schnell fest, dass ich keine Aktenhüllen für irgendwelche hochnäsigen Professoren schlichten möchte und stellte mir die Frage "Was willst du eigentlich mal machen?". Ohne mir lange überlegt zu haben, ob mich die Materie überhaupt interessieren wird, eher vom Gedanken geleitet „irgendeine“ eine Schule abzuschließen und vom damaligen EDV-Boom beeinflusst, habe ich mich für eine der renommiertesten EDV Schulen Österreichs, der HTL Spengergasse Abendschule (ja, tagsüber arbeiten und abends Schule) entschieden, die ich 1999 begonnen und mittlerweile seit einigen Jahren abgeschlossen habe. Ich programmiere also seit Ende 1999 und bin mittlerweile selbstständig (knitwork).
Kommentare

17 Comments

  1. Ich hatte mich die Tage auch mal dran versucht das 6x drupal zu installieren. Bin allerdings direkt in mehrere Hürden gelaufen, nach 20min gefrickel hab ich es dann erstmal wieder zur Seite gepackt. Installation lies sich nicht starten da eine php fehlernotice das Setupscript daran hinderte seine header zu schreiben was es dann später in einer weissen Page quittierte. Das konnte ich noch ohne Probleme lösen aber als er dann meinte das die Drupal DB bereits vorhanden sei und ich doch das Update scriptnutzen sollte war erstmal ende. Datenbank zugriff war voll vorhanden und die DB war leer.

    *seufz*

    ggf. macht das System ja einen besseren Eindruck wenn es erst einmal läuft aber wenn es bei der Installation schon so umsorgt werden möchte wage ich zu erahnen was mich erwarten würde.

    Gruß

    Reply
  2. Weisse Seite. Ein Phänomen, welches auch in der WordPress Community sehr verbreitet ist – aber Spass beiseite: Wie bei jeder PHP Installation: Fehlermeldungen von PHP inkl. Warnings und am besten auch die Strict Warnings wegloggen und einfach einen Blick in den Log werfen. Dann braucht man auch nicht im Dunklen stochern.

    Informationen zur Konfiguration von PHP bietet die Online-Hilfe auf PHP.net

    Reply
  3. @marco
    Viele haben scheinbar das Problem, dass sie eine leere Seite nach der Installation (gewisser Module) bekommen. Das Problem hatte ich auch und war behoben in dem ich memory_limit und execution_time in der php.ini hochgeschraubt habe und ganz von vorne begonnen habe (alles gelöscht, Neuinstallation). Danach hatte ich weder Probleme bei der Installation, noch nach dem Aktivieren von Modulen und habe nun die vierte Drupal Installation ohne Probleme durchgeführt.

    Reply
  4. Hab ich leider schon versucht memory_limit wurde zum test mal auf 512M gesetzt sowie die execution time auf 3600. PHP Error log schweigt sich aus. Scheint alles in allem ein mysql Problem zu sein da drupal bei der intallation anfängt die Tables zu erzeugen aber nach der Häfte dann abbricht. SQL error log sagt aber auch nichts ;P

    Muss mir das ggf. die tage nochmal genauer ansehen nur nach dem beschriebenen tüfteln hatte ich dann schon keine Motivation mehr ;(

    Reply
  5. Vielleicht liegt es an der Mysql Version?
    Wenn sich das SQL Error Log ausschweigt, dann könnte es doch sein, dass du nicht alles mitloggst?
    Vielleicht hat der Mysql Benutzer nicht alle notwendigen Rechte und bricht deshalb bei einem gewissen Befehl in dem SQL Skript ab?

    Reply
  6. max_execution_time = 180
    memory_limit = 64M

    Das kann ja nicht dein ernst sein oder ?!? Entweder läuft deine Drupal Installation auf deinem Handy oder irgendwas stimmt mit deinem Webspace nicht.

    Wenn ein CMS solche php.ini Einstellungen benötigt, fällt es sofort unten druch.

    Reply
  7. @axel: that’s PHP 😉 Aber du hast auf jeden Fall recht. Gerade bei der Installation, bei der man alle Zeit der Welt hat sollte man nicht in ein Limit laufen.

    Reply
  8. @axel
    Ich habe bei meinen Einstellungen die Execution Time lediglich auf 60 und das Memory Limit auf 16MB erhöht und bislang hat im Grunde alles funktioniert. Manche Modue benötigen mehr Memory und daher habe ich vorgeschlagen, da ich ja von einer Testumgebung sprach (womöglich kam das nicht klar genug rüber), dass es am besten ist vor allem das Memory Limit hochzuschrauben, da sich sonst manche Module nicht installieren lassen. Unabhängig dessen, Module, die bei meiner Installation mit diesen Einstellungen nicht funtionieren, verwende ich auch nicht, da diese nicht gerade für sich sprechen. Aber grundsätzlich kann man, nachdem man Drupal nach seinen eigenen Wünschen angepasst hat, diese Werte ja wieder verändern, da man dann ja alle Module installiert hat, die man benötigt. Wenn man das Drupal System mehrsprachig fährt, dann wird nach jeder Installation von Modulen (man kann ja mehere Module gleichzeitig auch installieren), die gesamte Oberfläche übersetzt und das kann dauern…

    Reply
  9. Ich hatte mich nochmal drann gewagt diesmal mit Full reporting an und Siehe da ein Fehler gefunden leider stehe ich nun wie der Prophet vorm Berg.

    Fatal error: Unsupported operand types in /www/testing/drupal/includes/form.inc on line 511

    Inhalt der Zeile:
    $form += _element_info(‚form‘);

    Wenn ich schon zu blöd für ne einfach installation bin bleib ich dann bei dem gut eingebürgertem System 😉

    Reply
  10. Also meiner Meinung nach hat das etwas mit einem Formular, wo CCK verwendet wurde, zu tun.
    Hat die Installation funktioniert und hast du danach irgendwelche Module aktiviert?

    Reply
  11. @Evelyne: Leider hat die Installation nicht funktioniert der Fehler kommt mitten im Prozess wo der Installer die Datenbanken anlegen möchte. Hatte im Drupal Forum mal gesucht da gibt es zwar viele die das Problem haben aber keine echte Lösung. Dachte erst es liegt ggf an einer komischen Konfig meines Webservers (ellerdings normaler ubuntu mit default lamp setup) lokal unter meinem Xampp kam dann aber genau das selbe Problem.

    von daher hab ich pers. Drupal erstmal zur Seite gelegt.

    Reply
  12. Da ich das alles nicht ganz glauben kann, habe ich jetzt auf einer XP VM, da ich ja gsd MacOS habe, den XAMPP (ohne irgendetwas zu ändern) und Drupal installiert, sowie auf einer Debian VM. Das funktioniert einwandfrei!

    Irgendwie kann ich daher nicht glauben, dass es sich um eine „Standardinstallation“ handelt, sondern denke eher, dass etwas „mis“konfiguriert wurde und daher nicht nur Probs mit Drupal auftreten sollten/werden.

    Wenn ich nach Drupalinstallationsproblemen google, dann bekomme ich 300.000 Suchergebnisse, suche ich hingegen nach „powered by drupal“ finde ich knappe 9 Mio Ergebnisse. Das sind, wenn ich mich nicht verrechnet habe gute 3%, die Probleme mit der Installation haben…

    Ich wage also nun zu behaupten, dass diese 3% wahrscheinlich nichts mit Problemen von Drupal selbst zu tun haben, sonst würde es weniger funktionierende Installationen geben 🙂

    Hast du mit SSH das gepackte drupal File hochgeladen oder zuerst entpackt und dann die einzelnen Dateien hochgeladen? (Welche Drupal Version? -Hoffentlich nicht die 7er :P) Spaß beseite – Beim Upload kann ja auch was schief laufen. Hast du wirklich schon einmal ALLE Dateien gelöscht, sowie DB und ganz von vorne begonnen? Wenn ja, kannst du mir deine Logfiles + die php.ini schicken (evelyne.selak(at)gmail.com). Dann schau ich mir das mal an.

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen