Quick'n'dirty image browser with jQuery and imagecache

For one of our upcoming extensions on emito.net we are introducing a very simple image browser. The idea is that images are attached to a node via file upload and we give the user a very simple interface to browse through them, without leaving the page, loading slow thickboxes etc.

The user is presented with one larger image, and many thumbnails to chose from.

Our solution is very simple, can be handled with theming + a tiny script.

Excursion to social networking with Drupal

Two months ago I got a regular job. My first regular job (regular as in not short-term contract work). Two months ago I got hired by a company named Efero LLP, in Edinburgh, Scotland, where I moved this year February. We started to work on a social networking site, built on Drupal. The specifications were shocking at first, and at second. Later, it shocked us even more. We had to turn Drupal inside out to accomplish our highly customized theming requirements, and build our own, soon to be published lightweight networking engine. It was not an easy work.

The drupal.org country statistics visualized

Dries posted the drupal.org demographic statistics in a semi-digestable form, I decided I will play around a bit with the Google Chart API in order to visualize this data. Sadly the drupal chart api has no Drupal 6 port (nor is there any sign in the CVS), so I had to do the things manually.

An ESA site running Drupal

I always deeply despised the European Space Agency’s website, now they seem to slowly come to their senses. The subsite “Plan for European Cooperating States (PECS)” is apparently running Drupal. At first blink they seem to have done a very nice job, converting the ESA theme to Drupal, and they use a minimal set of modules (CCK).

I like Drupal, so can I get my traineeship finally accepted, ESA guys and girls? (tried to apply twice now, no reply)

twittering, server switch [done]

i did use twitter earlier, but now i created a fresh account, for a bit of experimenting to see if it will be useful at all to me. you can follow me on twitter.com/drupkin

aaand soon the site will get a new server beneath it, just registered on slicehost. i hope the downtimes will be solved by this, and finally i can get my @szofi.net email address too (right now thats not possible thanks to the firewalls). i will write more about my experience with this hosting provider, because i was looking for a good while until i settled.

My first core patch got committed!

Yeehaaw! It started off as a problem we discovered at Nunet with the Drupal XML-RPC server (having html tags inserted into the XML-RPC error messages). I wrote up the patch, and today it got into Drupal 6 and 7!

[update] and it also found its way into Drupal 5.

Developing locally - playing with URLs

I have seen too many times that when people install drupal locally, they have no clue about how to set up local URL aliases, so here is my solution, resulting in urls like http://d/5/profile (drupal 5 installation for some profile related project).

The first step is to set up a clean, structured environment for our installations, preferably in our home directory.

File system setup

My structure looks as the following: I created a separate “projects” directory, under which i put the “drupal” directory.

New project - my drupal distribution system

Working on many sites, many projects causes the problem that I need to maintain, install, practically start new drupal installations very often. For example when I am developing a new contrib module I use a clean new installation (I call it "dev space") so no other experimental code interferes with my current work. Such a space usually has the same basic modules and outline: I always install devel module, use the same username/pw, set some user permissions so i can switch users back and forth, install admin_menu, add the php block etc.

Removing em tags from drupal messages

I was working on an XML tester module for a colleague of mine when I discovered a small XML server bug in Drupal (namely this issue: http://drupal.org/node/231132). The problem in question was that in core we use t() function to print the error messages into the returned XML, thus enabling localized errors. This would be cool, but until now the error messages had a placeholder in them, to print the variables. Using the '%' placeholder, all the variables got a tag around them, and so the parsing failed when reading the returned XML.

Compact forms

Todays module is the Compact Forms module. What it does is it puts the description for the form element into the textfield, which disappears when users click on it. Very handy, there was such a code snippet on the handbook pages, but this module gives a more general solution for any textfield.