Modulentwicklung

Fast Gallery - Introduction for developers

This blogpost should give a quick kickstart to every developer who is interested in helping to advance Fast Gallery. The architecture is intended to have a swapable storage engine. So far I've only written one storage engine, which means that interfaces are not 100% clearly defined, but would instead need some work when actually going to be used in practice. First a quick overview over the files and what their responsibilities are.

Übersetzungen in Drupal t vs tt

Übersetzungen in Drupal sind so eine Sache und es gibt diverse Funktionen. Ich habe ja selber nicht gewusst, dass es neben t() auch noch tt() gibt und ich muss sagen tt() ist genial :) Hier mal eine kleine Erklärung, welche ich dazu gefunden habe... sehr plausibel erklärt, warum t() nicht überall verwendet werden soll/darf.

Im folgenden ein Auszug aus der Drupal Mailing Liste.

Drupal Rules API

Mittels Rules lassen sich herrliche Dinge machen. Es sind kaum Grenzen gesetzt, was Workflows und solche Sachen angeht. Mit Klicken kommt man schon ziemlich weit. Manchmal kann es aber notwendig sein, dass man eigene Actions für die Rules bereitstellt. Klaro, man kann praktisch alles mit eingebettetem PHP Code machen, aber das ist nicht wirklich eine glamurose Lösung. Hier ein kleines Beispiel:

Power Menu - Review

Power menu. Für unsere Projekte hatten wir ein dauerbrennerproblem: Aktive Menupunkte. Michi hat ja bereits darüber berichtet. Sicher kennt jeder das Problem:

DrupalCon SF - CTools

CTools ist eine Kollektion von Tools, welche für Entwickler zur Verfügung stehen. Die Session soll helfen, CTools zu verstehen.

Die folgenden Tools werden von CTools zur Verfügung gestellt:

Drupal - PHP Performance

Drupal lässt sich auf vielen verschiedenen Ebenen optimieren: Datenbank, Apache, Server, Architektur und PHP Code.

Auf einige Parameter haben wir als Entwickler weniger Einfluss, auf andere mehr. Auf den PHP Code und dessen Qualität haben wir vollen Einfluss. Die Seite "The PHP Benchmark" hat ein paar interessante Tests durchgeführt. Am interessantesten ist der folgende:

Is it worth the effort to calculate the length of the loop in advance?

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.

Drupals Caching System

Der Drupal Cache ist super! Und dazu auch noch sehr einfach zu verwenden. Drupal setzt diverse Cachings ein, welche default mässig implementiert sind. Wenn man jedoch selber ein Modul schreibt, muss man selber danach schauen. Kleines Beispiel:

Das Modul Fast Gallery. Wenn man eine Seite anschaut, dann müssen die ganzen Bilder aus der DB geladen werden, HTML gerendert werden usw. Dabei ändert sich auf der Fotoseite eigentlich gar nicht so viel, bzw. sie schaut für alle gleich aus. Eine super Möglichkeit, um den Cache zu verwenden und dazu noch so trivial:

Suche Tester für Fast Gallery

Ich such eine paar Tester, welche sich mal die neue Fast Gallery Version für Drupal 7 anschauen. Es gibt sicher noch ein paar Bugs und es wäre ja eigentlich schön, wenn so bald wie möglich eine stable Version verfügbar ist, so dass mit dem Release von D7 auch gleich richtig gestartet werden kann.

Es ist auf jeden Fall interessant, mal einen Blick in Drupal 7 zu werfen. Das wäre doch die Gelegenheit.

Node mit Drupal laden und ändern

Ein Node ist die Grundlage von Drupal. Alles ist ein Node. Wer noch nicht weiss, was ein Node ist, soll mal Google fragen. Also, ich gehe davon aus, dass der Leser weiss, was ein Node ist. Nodes können programmiererisch sehr einfach verändert werden. Dazu gibt es den hook_nodapi. Dieser hook wird immer aufgerufen, wenn Operationen am Node durchgeführt werden. Beispiel:

Inhalt abgleichen