drupal

Sensible API Calls Initiative

Frightened and confused

More than once I've had people ask for help because the concept and naming of hooks in Drupal both frightens and confuses them. FRIGHTENS and CONFUSES. Sadly, this is a very common occurrence.

In order to address this problem, the SAC (Sensible API Calls) Initiative has been formed. Our first task has been to clarify and simplify alter hooks throughout Drupal. We've opened issue #1510984 on drupal.og and posted an initial patch, which addresses how the alter API is called.

Drupal Downunder Video

Update: Internode have graciously offered to host all videos on their mirror server, please check http://mirror.internode.on.net/pub/drupaldownunder/

It's been a while since Drupal Downunder and unfortunately some hardware problems (which will be resolved in the next two weeks or so) have prevented us from posting the conference videos in an easy to download format.

As a work-around, we've decided to make all the videos available for download via bittorrent. The torrent files for the 7.7GB Ogg Theora format and 18GB H264 (MP4) format downloads are attached below. To help seed (please do!) the torrents, please check the instructions on the Drupal Downunder 2012 site

... and last but not least, a huge thankyou to Brian Gilbert for pushing the Ogg files to the high bandwidth server, so I don't have to seed them via my poor ADSL connection only :-)

Drupal Downunder - Drupal Training

As the year rapidly draws to a close some of you might still have access to funds for professional learning.

If you do, and are doing Drupal, or thinking about doing Drupal in 2012 then here is an opportunity to level up fast before and after the conference.

Pre- and Post-conference training is on offer in association with Drupal Downunder. Details follow - please help spread the word. There's also an iPad up for grabs - all who register for DDU2012 before Dec 31 go in the draw.

Drupal Downunder 2012

With voting for DrupalCon Denver sessions now open, I thought it would be good to remind people that session proposals for Drupal Downunder will close on Monday November 14th. If you have something you want to share, get your session proposals in!

For those of you who don't know what Drupal Downunder is, it's Australia's national Drupal conference. Running in Melbourne on 13, 14 and 15 January 2012, this will be the second Drupal Downunder. In January 2011, 160 drupalistas from near and far came together in Brisbane to create the biggest antipodean Drupal event to date, building on the success of DrupalSouth in Wellington in 2010.

Though run by Australians, it's run for everyone. Early bird tickets are still available, so if you're looking for a great Drupal event to attend in a warm climate early next year, come to Melbourne and join your friendly Aussies and New Zealanders.

"Drupal Downunder 2011 was a great event. A lot of people flew out from other parts of Australia and New Zealand to attend so it was very much a national event. There was a great vibe that reminded me of early Drupal events. It is clear that Australians are passionate about Drupal, and that Drupal is getting a lot of traction. — Dries Buytaert"

Integrating Aegir with Linux and FTP

Due to the insane cost of bandwidth (compared to the rest of the developed world) in Australia, I've recently decided to move some of our hosting clients to Linode. This means they can move more data more cheaply and I don't need to come up with (and administer) a bandwidth accounting system for my Australian based web VM.

We pretty much exclusively use Drupal for hosting clients, so to make management a bit easier I decided to use Ægir on the new Linode. Installation was a relative breeze, after a quick google to find out how to specify that I didn't want to use Apache and wanted to use a separate server as dedicated MySQL host.

The problem (there is always a problem) arose when I needed to give a hosting client access to their Drupal installation, so they could manage themes and site-specific modules. Just adding an account and providing SSH access was out of the question, as all sites are stored under a single system user. Anyone logging in with permissions to edit their own Drupal can then also edit all other sites and even the Ægir installation itself.

FTP would be a solution, as FTP accounts can be chrooted (locked into a specific directory) quite easily, but I didn't want to have to manage a list of FTP accounts separate from the Drupals in Ægir. That isn't the lazysysadmin way.

After a bit of thought I remembered that on an older web host, I had happily used libnss-mysql and libpam-mysql, which integrate accounts defined in a (any) MySQL database with the Linux system. The trick is to get MySQL to cough up the account information in the correct format, so the system can parse it as if these accounts were normal system users.

Don't hate your builders and themers

If you are a Drupal module developer, I have a request for you. A plea for you to help make my life easier, and likely the lives of many other site builders.

I'm currently building a website that uses a theme override to display a prettily formatted username. Drupal provides a way to do this via the theme_username() API call, so in all places where Drupal core displays a user's name, my pretty string now shows.

How do you update Drupal?

Sitting on #drupal-support on IRC, you see people drop by with update problems from time to time. With Drupal 6.21, 6.22, 7.1 and 7.2 released earlier in the week, today was such a day.

The person in question had attempted a Drupal core update via drush, but ran it in the wrong directory. Drupal had picked up this incorrect location for its core modules, so when the drupal-6.22 directory got deleted, it was unable to load any of the core modules. Oops.

This led me to wondering whether the way I manage my Drupal updates is odd and whether sharing it would be useful. Being an open source person, I am of the opinion that sharing is virtual always useful (except when it comes to cheese) so I'll document the way I manage updates here.

Drupal Pronunciation Guide

To avoid misinterpretation of the project name, Linux has had a pronunciation guide for quite some time.

At Drupal Down Under in Brisbane, Australia, kattekrab obtained one for Drupal as well. So if you hear people mispronouncing "Drupal", you can now point them at an authoritative example :-)

Migrating users and content profiles

For some time now I've been working on a Drupal site that consists mainly of scraped content from a proprietary, ASP based CMS from the late nineties. The Simple HTML Dom Parser, used from within a drush script, has been invaluable. It made scraping the old site content and importing it as Drupal nodes a relative breeze. (No access to the database used by the CMS, boo!)

Part of setting up the new site is importing users and their content profile nodes from a different Drupal site, that was setup a year or two ago to manage an event.

I had hoped there would be a way for me to export these users and their profile nodes from one Drupal to the other, but though I found modules to export one or the other, I might still end up with profile nodes that were no longer related to their users. Of course, that's pretty useless.

When I remembered I was also supposed to add all these users to a simplenews newsletter, the proverbial light bulb came on.

Changing an argumentative view title

Using the taxonomy view to change how taxonomy listings are displayed is rather nifty. However, I found myself being asked by a client to make sure the page title (ie: the taxonomy term as set by the argument) was properly title-cased. That issue comes up from time to time on the #drupal-support IRC channel, so I suspected it would be easy, as many people had done this.