Blog

  • Drupal Best Practice Guidelines – Reviewer gesucht

    Das Handbuch kommt langsam aber sicher voran. Damit die Qualität auch entsprechend ist, würde ich mich freuen, wenn es ein paar Reviewer gäbe. Die folgenden Seiten sind eigentlich soweit mal bereit:

    Also, hoffe, es gibt ein paar Rückmeldungen. Einfach die Kommentarfunktion zur entsprechenden Seite verwenden.

  • Drupal Best Practice Guidelines

    So, unser Previon Designer Krigel war so freundlich und hat einen kleinen Button gemacht, damit die Community sich auch mit wertvollen Inputs und Erfahrungen an diesem Handbuch beteiligt.

    Drupal Handbuch - mitmachen

    Wer dieses Handbuch gerne unterstützen möchte, soll doch bitte den Button auf seiner Webseite einbinden.

    Code:


  • Qualitativ hochwertiges Drupal Handbuch

    Dokumentation ist leider mangelware in der Drupalszene… Dokumentation ist ja auch das Thema, was einen Entwickler am Wenigsten interessiert und doch ist es so sehr wichtig. Ich habe daher in der Previon das Projekt gefasst, ein Drupal Best Practice Guideline zu schreiben und da man nie alles wissen kann, habe ich beschlossen, das ganze möglichst offen zu schreiben und die Community dazu einzuladen zu partizipieren.

    Ich hab mir das wie folgt vorgestellt: Ich schreibe die Seiten und stelle sicher, dass das ganze nicht auseinander fällt und einen roten Faden verfolgt. Ihr gebt Kommentare ab und ich werde diese dann entsprechend einarbeiten und die Kommentare dann wieder löschen.

    Vielleicht gibt es dann mal daraus irgend ein portables Hilfeformat oder etwas ähnliches… mal schauen. … und unser Designer macht noch einen coolen Button, welchen man auf der Webseite platzieren kann, um die Community einzuladen daran teilzunehmen.

  • Einige wichtige Sicherheitsupdates

    Gerade eben ist der Security Newsletter reingeflattert. Gibt einige wichtige Sicherheitsupdates. Das wäre mal wieder eine gute Gelegenheit, um die Module auf einen aktuellen Stand zu bringen. Folgende Module sind betroffen:

    Internationalization – (i18n – dürfte wohl in relativ vielen Installationen zum Einsatz kommen) – Leute, welche Übersetzungen erstellen können, können schadhaften Code einbringen.

    Workflow – Code im Kommentarfeld wird nicht escaped

    Wohl etwas weniger bekannte Module, welche auch ein Sicherheitsupdate benötigen: eTracker und addThis.

    Und auch noch das Sicherheitsupdate für Drupal Core.

    Also… wieder mal ein paar Updates machen…

    PS: Drush macht das ganze viel einfacher und schneller.

  • Drupal Beispielseiten

    Die Liste von grossen Drupal Sites wird von Tag zu Tag länger und es kommen auch immer wie mehr grosse Firmen hinzu, welche Drupal einsetzen. Dabei ist mir aufgefallen, dass vor allem bei Non-Profit Organisationen, sowie den Forschungs- & Entwicklungsabteilungen von Firmen Drupal sehr beliebt ist. Das liegt wohl daran, dass dort nicht viel Geld vorhanden ist, jedoch das Risiko eines Fehleres auch nicht so gross ist.

    Eine noch ausführlichere Liste führt Dries in seinem Blog. Weitere Seiten, welche Drupal Referenzen auflisten:

    Und wahrscheinlich gibt es noch einige mehr…

  • Webseite umziehen – Apache Rewrite Rules

    Vor langer Zeit als ich das Blog hier aufgesetzt habe, habe ich es in ein Unterverzeichnis installiert (/drupal). Das hat dazu geführt, dass immer /drupal noch dazwischen war. Eigentlich war das so ganz ok, da ich immer mal noch etwas anderes mit der Domain gemacht habe. Da ich aber jetzt eigentlich nur noch mein Blog und noch 2 andere Domains als Multisite hier laufen lasse, habe ich mich entschieden, die Drupal Installation ins Root Verzeichnis zu verschieben.

    Das hat eigentlich ohne Probleme funktioniert. War alles wunderbar, lediglich eingehende Links haben ein wenig Probleme. Ein paar .htaccess RewriteRules habe sehr gut geholfen. Zudem habe ich alle Blogeinträge via Bulkänderungen umgeändert -> leider habe ich einen kleinen Fehler gemacht und so gibt es immer noch den einen oder anderen Link, welcher ins Leer zeigt, aber sobald Google die neue XML Sitemap indiziert hat, sollte sich das auch ändern.

    Also, falls der eine oder andere Link ins Leere weist … bitte geduldig sein 🙂

    Beispiel RewriteRule

    Rewrite Rules sind auch ganz einfach, wenn man es mal weiss. Hier ein Beispiel

    RewriteRule ^drupal/category/(.)/(.) /category/$1/$2 [L,R=301]

    Was macht diese Rule? Ganz einfach:

    Alle URLs von drupal/category/(.)/(.) kommen werden umgeleitet. (.*) ist ein Platzhalter für ein Argument. Also konkret Beispiele:

    drupal/category/tags/drupal oder auch drupal/category/tags/tutorial. Wenn so eine Adresse kommt, dann wird diese umgeleitet auf /category/$1/$2 wobei $1 und $2 Platzhalter für die jeweiligen Ausdrücke in runden Klammern sind. Somit würde

    drupal/category/tags/drupal auf category/tags/drupal weitergeleitet werden.

    Im .htaccess von Drupal gibt es bereits diverse solche RewriteRules

  • Fast Gallery – Mehr Stabilität auch in Drupal 6

    Die vorangehende Fast Gallery hat sehr leichtgewichtig angefangen und ist dann einfach zu einem Koloss geworden. Für die Drupal 7 habe ich somit eine komplett neue Architektur gemacht und Fast Gallery von Grund auf neu geschrieben. Die Issue Queue ist in letzter Zeit massiv angewachsen, was unter anderem daran lag, dass der Code sehr schwer wartbar war und ich nicht wirklich viel Zeit hatte.

    Die neue Architektur ist besser gekapselt, einfacher geschrieben und somit auch einfacher wartbar. Ziel hier wird nicht primär auf vielen Funktionen sein, sondern auf Stabilität. Es verschwinden daher zahlreiche Features.

    Es gibt bereits eine erste Alpha Version. Neu ist es auch möglich, mehrere Galerien anzulegen. Es verschwinden also nicht nur Features sondern es kommen auch neue dazu.

  • Sinn und Unsinn von Drupal Konferenzen

    Im April findet die DrupalCon in San Francisco statt. Rapsli ist dabei 🙂 Hurra. Ich freue mich schon jetzt darauf und bin gespannt, was die Drupal Elite zu sagen hat. Bisher war ich am "Drupal Media Camp 2009" in Aarau, am DrupalCamp 2009 in Wien und bald eben an der DrupalCon 2010 in San Francisco.

    Über den Sinn und Unsinn solcher Konferenzen. Warum lohnt es sich zu gehen? Ich habe bisher die folgenden Erfahrung gemacht:

    • Man lernt Leute kennen, welche ähnliche Erfahrungen gemacht haben und kann im persönlichen Gespräch Lösungen diskutieren bzw. von Erfahrungen profitieren.
    • Weiterbildung pur. Fachlich ist es relativ schwierig konkrete Kurse/Schule zu finden. Sicher, in Amerika gibt es die Lullabots, welche Kurse anbieten und wahrscheinlich noch den einen oder anderen, aber sonst? Oder auch einen Kurs "Wie sieht ein guter Deployment Prozess aus" … da wird man wohl nichts finden. An solchen Konferenzen lernt man das. So geschehen am Drupal Camp in Wien, als ich gerade vor ein paar Tagen meine "Lessons Learned" wieder mal überflogen habe.
    • Verbindung zur Community. Man sieht mal, wer sich hinter den ganzen Nicknames wirklich verbirgt. Es sind alles richtige Menschen mit einer Geschichte. … und vielleicht kann man ja mit einem Maintainer das eine oder andere Issue besprechen.

    Fazit

    Konferenzen sind wichtig und interessant. Ich werde im April dann sicher davon berichten.

    @Weri: freue mich auf unser gemeinsames Abenteuer.

  • 10 Gründe warum ich Drupal einsetze

    Im Blogeintrag habe ich ein wenig über Drupal "gelästert" und dabei Joomla angepriesen. Lästern ist wohl ein bisschen sehr übertrieben. Ich habe lediglich gesagt, dass wenn man Drupal einfach so out-of-the-box einsetzen will, man wohl nicht wirklich glücklich wird, wenn man eigentlich ein CMS erwartet. Zu viele Funktionen, welche fehlen und welche z.B. in Joomla bereits drin sind. Das heisst jedoch nicht, dass man aus Drupal kein CMS machen könnte und es heisst auch nicht, dass jede Webseite ein CMS ist!

    Also, daher hier jetzt meine Gründe, warum ich trotzdem Drupal einsetze (Die Reihenfolge ist nicht aussagekräftig):

    • Viele Module, welche gratis verwendet werden können. Täglich kommen 2-3 neue Module dazu und das schon seit Jahren. Es gibt also fast nichts, was es nicht gibt. Installation ist in 99% der Fälle unproblematisch. Bei Joomla hingegen habe ich gehört, dass man für gewisse Module bezahlen muss.
    • Gut dokumentierte API. Das sog. "Hook-System" von Drupal verleiht Drupal eine extreme hohe Flexibilität. Neue Module lassen sich so relativ einfach in Drupal integrieren.
    • Diverse sehr namhafte Referenzen: www.whitehouse.gov, www.nowpublic.com oder MTV UK. wenn die Drupal verwenden, dann ist wohl doch mehr dran.
    • Stetige Verbesserung. Als ich vor ca. 3 Jahren meine ersten Gehversuche mit Drupal gemacht habe, ist gerade Drupal 5 rausgekommen. Die Community hat nur so geschwärmt. Als dann später Drupal 6 herausgekommen ist, genau das Gleiche. Und jetzt einige Monate vor dem Release von Drupal 7 wieder diese Euphorie und es wird bereits von vielen Verbesserungen für Drupal 8 gesprochen. Es geht weiter und jede Version bringt wieder coole Neuerung mit sich.
    • Dynamische Community. Hier in der Schweiz leider noch nicht ganz so gut vertreten wie andersweitig, aber doch stetig im Wachstum. So gibt es zum Beispiel einen Performance Optimierten Drupal Core (pressflow), welcher entwickelt wurde und frei verfügbar ist.

    Das sind jetzt alles Gründe, welche nicht direkt mit Drupal zu tun haben, sondern eher das Umfeld von Drupal betreffen. Aber auch Drupal an sich hat einiges, was mich dazu bewogen hat:

    • Taxonomy System. Meine ersten CMS Versuche habe ich mit Joomla gemacht. Das mit der Sektion und Kategorie habe ich irgendwie nie ganz begriffen. Es ist zu starr. Das Taxonomy System von Drupal mag auf den ersten Blick auch ein kleines bisschen verwirrlich sein, aber es ist sehr logisch und sehr Web 2.0ig und sehr flexibel.
    • CCK & Views sind das Rückgrat vieler Seiten. Damit lassen sich spielend leicht Strukturen festlegen und dynamischen Content ausgeben lassen.
    • Drupal ist suchmaschinenfreundlich.
    • Rechtesystem von Drupal ist sehr flexibel. Bereits von Haus aus, lassen sich viele Dinge abbilden und was da immer noch nicht ausreicht, dann kann man auf diverse Module zurückgreifen, welche diese Funktion übernehmen.
    • Installationsprofile. Dadurch lassen sich eigene "Drupal Distributionen" erstellen und dadurch liesse/lässt sich auch das CMS Manko beheben. Ich habe mal Ansatzweise eine Fotogalerie Distribution gemacht. Hier werden diverse Module mit installiert, die entsprechende Konfiguration vorgenommen, so dass man nach der Installation eine fertige Fotoalbum Seite hat. Das Gleiche lässt sich auch für ein CMS machen und wird in Zukunft noch viel beliebter werden.

    Ok, es gibt natürlich auch Dinge, welche ich weniger mag, bzw. wo ich finde, dass sie weniger gut gelöst sind:

    • Das ganze File-/Bildhandling. Hier müsste man noch das eine oder andere machen.
    • Fertige Themes (aber auch hier hat sich die Situation seit Drupal 6 massiv verbessert) sind nicht ganz so hübsch wie in Joomla.

    Also… Drupal hat einiges zu bieten… finde ich auf jeden Fall 😉

  • Drupal vs. Joomla – CMS vs Framework

    Ich habe heute mal wieder bei Joomla reingeschaut. Gefällt mir super gut! Respekt. Zuerst möchte ich kurz meine Joomla Erfahrung beschreiben und dann die Adaption für Drupal. Drupal Small Core.

    Installation
    Die ging eigentlich problemlos von der Hand. Für meinen Geschmack war fast ein wenig zu viel Hilfeerklärungen und Text auf der Seite. Gelesen habe ich das alles nicht. Nach 5 Minuten war ich installiert. Leider habe ich vergessen die Beispiel Daten zu installieren -> ich bin dann nicht wieder auf diese Seite zurückgekommen 🙁

    Erste Schritte
    Nach also 5 Minuten und 10 Sekunden war ich auf meiner Joomla Seite. Da ich keine Beispielinhalte hatte, musste ich zuerst ins Backend gehen. Mist. Wie komme ich dorthin. Es stand irgendwo während der Installation, aber da habe ich zu schnell gedrückt. Ein wenig ausprobieren und dann habe ich doch noch irgendwo ein TXT File gefunden /administrator…

    Das Backend
    Spiegelnde Knöpfe, sieht alles ganz hübsch aus. Ich habe auch sehr schnell den Einstieg gefunden. Es gibt Menus, Artikel, ein Dashboard, Kategorien. Ging alles wunderbar von der Hand. Sogar ein Wysiwyg Editor ist gleich mit dabei. Perfekt. Den Unterschied von Sections und Kategorien, habe ich leider nicht ganz geschnallt. Sektion ist ein Behälter für Kategorien. Das scheint aber irgendwie wenig Sinn zu machen? Vielleicht zu fest Drupaleingenommen?
    Das Dashboard gefällt mir sehr gut, auch das "mit-einem-klick-status-ändern" ist super genial. Inhalte werden gelockt, wenn man sie bearbeitet und man muss sie dann entweder schliessen oder speichern, um wieder davon wegzukommen.
    Es gibt sogar einen Papierkorb für Inhalte. Nicht schleckt.

    Fazit
    In extrem kurzer Zeit steht ein fertiges kleines Content Managment System (CMS), und es ist auch wirklich ein CMS. Spezialisiert auf CONTENT.

    Drupal
    Nach der Installation von Drupal 6 habe ich vorerst noch nicht wirklich viel. Garland ist mittlerweile auch nicht mehr das Wahre, es fehlt der Wysiwyg Editor und es fehlen die schimmernden Icons. Viele Elemente, welche sich ein CMS User wünscht (und die auch in ein CONTENT management system gehören) fehlen: Content locking, Papierkorb, Inhalte kopieren, dashboard).

    -> Drupal ist KEIN ein schlechtes CMS. Auf jeden Fall nicht einfach so out-of the Box. Und nein, es muss es auch nicht sein. Wie könnte man dem Abhilfe verschaffen? Installer oder Distributionen. Mit dem Features Modul und ein wenig PHP Kenntnissen lässt sich sehr schnell und einfach ein Drupal Installer (Installationsprofil) erstellen. Hier kann man die Lieblingsmodul reinnehmen, entsprechende Strukturen bereitstellen und die Modul installieren, welche ein CMS auch wirklich braucht.

    Für Drupal 8 ist die Diskussion recht heiss bezüglich dem "small core". Drupal Core ist neutral und dient lediglich als Engine. Je nach dem, wo man Drupal einsetzen möchte greift man auf entsprechende Distributionen zurück. Ein super Post ist hier: http://reyero.net/en/drupal-one_core_many_distributions

    Wenn ich das so lese, dann kommt bei mir der Gedanke "Linux". Linux verfolgt doch ein ähnliches Prinzip. Es gibt den Linux Kernel und darauf aufbauend gibt es alle möglichen Distributionen, welche entweder speziell für Server sind, für Netbooks, Multimedia usw. Sehen zum Teil komplett anders aus, bauen aber jedoch auf dem gleichen Core auf.

    Mir persönlich schwebt immer noch eine CMS Distribution vor, welche einfach gewiesse spezielle Features im Backend hat… kommt Zeit, kommt Zeit?!?! 🙂