Anything having to do with the Drupal content management system.

apc-error in Upgrading Drupal from 7.0-rc1 to 7.0

I ran into an odd error upgrading Drupal from 7.0 RC1 to 7.0. The following is the message in apache's error log:

[Mon Jan 17 13:49:47 2011] [apc-error] Cannot redeclare class queryconditioninterface in 
/var/www/drupal-core/drupal-7.0/includes/database/database.inc on line 1648.


Easy Drupal Performance Improvements

I speeded up page load times for my Drupal site by a factor of at least 10 with a couple of simple tweaks.

I measured page load times using the Safari Web Inspector. I also used the apache benchmark tool (ab) and
siege to load the server and get various statistics for transfer and latency times.


Drupal Tuesday

This was one of those days where you set out to do something, and something else you've been meaning to do jumps in the way and gets done instead. I put off my blog post about setting up SQLite for testing on MacOS and fixed my Twitter module/OAuth setup instead.

After I posted my last blog entry about devoting Tuesday mornings to Drupal, I realized (for the n-th time) that my "Announce posts to twitter" feature wasn't working, and of course hasn't been working for a while since twitter has moved to oauth for its API authentication. Now, I'm all for that, and open/user-centric id and authentication in general. I even have a few trivial commits to the first incarnation of Drupal oauth module, and a bugfix in for Andy Smith's first OAuth PHP library. Still, broken is broken. General busy-ness and apathy had kept me from diving in there and trying to fix things...

Of course, with a rockin' community like Drupal's , coming back to something later often means that someone else has done some good work in the meantime, and this was no exception. The issue with Drupal's twitter module and OAuth authentication (especially comment #106, by designerbrent) clearly documents the setup required. After a bit of head-scratching (due to my not having paid attention to the required version numbers! You need OAuth module 2.02...), the new twitter and oauth modules (after applying the patch mentioned in the issue) have this all working beautifully again, much nicer than before, really. It would be really nice if the patch in question got committed :)

Thanks, Brent, Hugo Wetterberg, voxpelli, Rok Žlender and of course walkah and eaton.

Scheduling time for Drupal

One of the things that Dries said during his keynote at DrupalCon Copenhagen 2010 really stuck with me, and I've been trying to follow through. What he said was something like "if you don't schedule time to work on Drupal, it won't happen". Sadly, I've been finding this is true, so I decided I'd schedule three hours on Tuesday morning for Drupal. The plan is to wake up early-ish as usual, respond to email from my students, and then devote my morning to Drupal. Of course, I have some other work-related Drupal things happening, but this time will be for personal projects, the Drupal issue queue, and so on.

Updated Drupal code metrics, historical and comparative

I've updated and expanded the slides which I presented at DrupalCon 2010 San Francisco.

I'm now including some preliminary stats for Django (a python based framework), and at the request of @easement (Michael Billings) ground out stats on global variable use in Drupal releases from 4.6 through 7x.

Update: Antoine Beaupré (anarcat) kindly pointed out to me that my LoC slide for Drupal releases was pointing at the wrong numbers (off by one error in indexing!). This is now updated. I'm also posting the spreadsheet itself.

Drupal code stats - preliminary

The image at left is a slide from a deck I'm putting together for possible lightning talk at DrupalCon SF. So far there are 11 slides showing the historical complexity of Drupal in terms of some simple metrics, and comparisons with the current release of Joomla!. The point of this is to try to understand the complexity of Drupal, both historically and in comparison with other frameworks, in terms of software metrics.

Comments, questions, pointers, and insights/opinions are very welcome.

BTW - The Joomla metrics (and the Drupal 7x) metrics are probably not quite right, yet - this is a work in progress. I'm working on metrics for Wordpress and a few other platforms also.

UpdateI presented this at DCSF - thanks to everyone who commented and discussed this with me. The attached file is slides as presented Sat Apr 17, 2010.

An Ada Lovelace day post

I wrote this post about the first computer program ever written for Ada Lovelace day, and it seemed fitting to dedicated it to my friends Angie Byron (webchick), Katherine Bailey, Audrey Foo, Ariane Khachatourians, and all of the other women who make the Drupal community such a wonderful place.

Hiring Drupal/OSS Dev

This shouldn't be construed as an official posting, but we (the UBC Math department, that is) are hiring to fill a full time, one year temporary position (w/ possible renewal) to do web application development, preferably in Drupal, and to coordinate with other departments on campus to collaboratively build open-source infrastructure components and common applications.


Open source on Campus

I'm about to meet with a group of eight or nine IT administrators in the Faculty of Science at UBC, about collaboration on areas of mutual interest via common open-source platforms. Since the adoption of Drupal at UBC has in the last few years skyrocketed, I imagine that this will be one of the first opportunities for collaboration.

Many individual and departments have of course been well-aware of the benefits of open source software, but it feels like the time is right to try for some economies of scale in terms of inter-department sharing and collaboration.

The following is a list of actions I'd like to see happening over the near term. I'd love to hear from anyone are engaged in similar projects, about things that worked, things that didn't work so well, or anything else you


Subscribe to RSS - Drupal