Latest sites

Quick news

  • 2014-03-27: MongoDB Watchdog module ported to Drupal 8 at the Szeged Dev Days.
  • 2014-01-26: My post on the Symfony web profiler in Silex selected in Week of Symfony. w00t !
  • 2013-10-18: My first commit went into MongoDB today. And, guess what ? It's in JavaScript
  • 2013-09-20 to 29: Working on Drupal 8 EntityAPI at the extended code sprints during and around DrupalCon Prague
  • 2012-08-19: Working on Drupal 8 EntityAPI at Drupalcon Munich
  • 2012-06-15: Working on Drupal 8 EntityAPI at DrupalDevDays Barcelona
  • 2012-03-23: Working on the future Drupal Document Oriented Storage at DrupalCon Denver. D8 or later ? Bets are on Later

If non-admin users can see some user accounts but not others...

After a massive user import to a customer's site, said customer noticed that, while he could see any user profile when logged, he could only see some of them when he was not logged in, receiving an "access denied" on the other accounts.

Now, with the administer users permission, a user can see any profile, so this didn't come into consideration, but since anonymous users could see some profiles and not others, the permissions granting anonymous access to the profiles were obviously set up correctly. So what could be wrong ?

A Gray code generator in PHP

For a recent case, I had to define the behaviour of a system with a lot of independent conditions to check, which could trigger any number of a set of messages and actions on data, and all of this based on a plain english (i.e. non algorithmic) description of the data, which only covered the most commons scenarios for these conditions, leaving lots of undefined combinations of inputs. What's one to do in such cases ?

Demo/tutorial Directory module from FOSDEM 2009

A simple "directory" module, which I did at FOSDEM for Kineta Systems as a tutoring demo, is available in my Sandbox on

This is a smallish demo module to explain the basics of building such code, and possibly work on it. For deployment purposes, though, you should rather use the existing Directory module by Augustin (aka "beginner").

Documentation of the CCK API

The primary sources are of course the d.o. handbook pages about CCK, the CCK Group on g.d.o., and the source code itself.

There are also a lot of blog pages all over the web, which I'm trying to gather here. I'm opening comments on this page so if you find any good page elsewhere, please add a comment about it so it can be added to that list.

Did you consider joining the World Community Grid ?

Join the World Community Grid

Switching to private downloads to speed up Drupal

It is usually considered a given that "private" downloads, going through Drupal, are slower than "public" downloads, which can be served directly by Apache, or whatever web server the site is running on. This is indeed true in the general case; however, for low-cost hosting, this apparent axiom needs to be revisited.


I recently had to install Drupal 6.x for a french government agency on a low-cost hosting plan. Although the site performed reasonably well considering the limitations of the chosen hosting plan, I soon noticed it was missing mod_deflate and mod_expires, which caused pages to be served uncompressed and every static file to be served without an expiration date.

And, of course, the site had quite a few images: photos on most pages, and several logos at the bottom of each page.

Now, when mod_deflate is missing, using the "Page compression" option on is a good workaround for the download page size, but what about the static files ?

Checking a few cheap hosting plans, it appeared these limitations are actually quite common. And without mod_expires, there is no way to tell Apache to serve static content with specific headers. Luckily for us, with Drupal we have a trick up our sleeves, the so-called "private" file downloads.

When hovering over a link no longer displays the target in Opera

Spending most of my web time in Opera, I had noticed that on one of my PCs, hovering over a hypertext link (i.e. <a href="..." ...>) had ceased displaying the target of the link in the UI, and there didn't seem to be a setting to make it appear again. Even when upgrading, that annoying behaviour kept stuck.

As one can expect, it turned out to be simple to fix, just not obvious in the Opera UI. Here is the procedure:

Speeding up Drupal on Vista with Wampserver

The problem : Drupal awfully slow on Vista (and Seven) with Wampserver

For some time now, I'd been severiously annoyed by the (utter lack of) performance of Drupal 6 and 7 on my home PC, which happens to be running Microsoft Vista: considering I was used to getting page times around 200ms on a fractional Celeron with Apache 2.2 on a Linux server hosted comparatively far across the net from that same machine, I felt the 5 to 15 seconds response time per page on this local machine with a quad core and 3 GB RAM were really making me lose my time.

The solution

After some time spend googling around, I stumbled upon an incredibly simple tip, which made the 5 to 15 seconds per page drop down to around 1 second when logged in, and well below 500 ms when not logged in. It's incredible what ONE single character in a plain text file gets you under Vista :-)

UPDATE 2010-01-23: David Hogg tells us (see below) that this works for Windows Seven too

GroupWise 8 is here at last

So at long last, GW8 is becoming reality :

See the GW8 announcement on Novell communities.

As a long time developer on GroupWise (hey, I did this even before I started on Drupal !), I'm glad to see the product evolve. And already a planned upgrade for a customer :-)

Now, if I could find a project merging both... to this day, I've only used Delphi, both with OLE and SOAP, to communicate with GW.

When Trac "Available projects" starts as an empty page

Having to use Trac instead of our usual Drupal Project* setup for a new Drupal project, I just found out a problem which perplexed me for a moment: after following the instructions from the Trac site for a very basic setup, without SVN integration, all seems to work well, up to the point where I started the server.

# tracd --port 8000 /var/www/trac/proj1

The problem

... and went to my browser to only to receive an almost empty page, just saying "Available Projects" and nothing else. No error during trac-admin initenv. And the page was well-formed, showing it was likely not an actual bug.

Googling around the problem showed the issue to be already known, but offered no hint about the solution. What could be wrong ?

Syndicate content