- Web developer at NowPublic.com
- All-round Drupal Geek
- Free & Open Source Software advocate
I live in Christchurch NZ, and enjoy mountain biking, snowboarding, contributing to open source and geeking out with my MacBook. more
jQuery for Designers and Themers is a fun interactive session on getting started with jQuery. It is targeted at designers and themers but is suitable for anyone with a decent understanding of HTML and CSS — no programming experience is necessary. It doesn't include any PHP, and only basic programming concepts are introduced.
If you want to see this session at DrupalCon San Francisco you'll need to vote on it here.
I've presented sessions like this one twice before. The first time at DrupalCon Paris September 2009, and the second time at DrupalSouth Wellington January 2010, where it was successful and well received and both times.
Sample code is available at Drupal.org/Project/jQ4DaT and slides are available at TinyURL.com/jQuery-Designers (Google Docs). (They will be updated.)
Some other related or similar sessions include;

DrupalSouth — a 100-person technical conference — had awesome internet. This is how we did it.
DrupalSouth might well be the first Drupal conference with internet that didn't suck. For the first time, I didn't hear anyone complain about connectivity or speed. Everyone had internet access! If I didn't hear about any issues you were having, or if you had any complaints or problems, please let us know in the comments.
Egressive pulled most of this together. Egressive provides both Linux and Drupal services and know a lot of people in the industry. In particular, Rob Fraser's technical networking know-how and contacts at Effusion, IOPEN, Unleash and elsewhere are what made this possible.
Thanks Rob, and thanks Egressive!
IOPEN and members of the Effusion group built a robust scalable wireless network for Kiwi PyCon 2009, just a few months earlier. DrupalSouth's wireless requirements were very similar to PyCon's. DrupalSouth was a little smaller in number of attendees. One difference was that the network data analysis and the Wireless Weather Report (see below) generating were not done on-site but 400 km away in Christchurch using a small real-time data stream from DrupalSouth. Also, Brian Chatterton of IOPEN made a few minor configuration enhancements, renamed the the networks in honour of Drupal's founder and changed the passwords.
Brian Chatterton really understands networking. Technical conferences have such demanding wifi and networking requirements that can not be tested under load ahead of time. And usually they fail. Brian's experience and knowledge has been twice-proven by Kiwi PyCon and DrupalSouth's great wifi.
Thanks Brian!
R2 installed the purple VSDL cable and connection from the DrupalSouth network hub, out the window, up to the roof of Mac's Brewery, across the roof, up the wall of the NZ Stock Exchange building, through a window of TradeMe's offices, and into a spare wall-mounted network port nearby; which was re-patched directly into Citylink's fibre network in TradeMe's server and patch room.
Richard Naylor of R2 is very respected and well known in Wellington when it comes to internet connectivity. As a City Council employee in the 90s he founded the project that later became Citylink. He now runs a private consultancy with his son, specializing in video streaming, and live video recording and hosting online. R2 did the video recording and streaming for Linux.conf.au Wellington.
Richard and his network of industry and business contacts made this possible; he provided a missing link between the wifi LAN and Citylink's high-speed fibre network, temporarily extending it to the venue.
Thanks Richard!
Citylink's high speed city fibre optic network in Wellington connects hundreds of businesses, buildings and data centres city-wide with fast low-latency network speeds. Karen Lindsay-Kerr at Citylink was kind enough to arrange a sponsored VLAN from TradeMe's data centre to Unleash's point of presence across town. That's fibre all the way!
Thanks Karen and thanks Citylink!
Unleash, the last point in the hardware chain, provided a high speed connection to the Internet. They generously sponsored 100Gb of data, a 20Mb symmetrical link, and a whole block of 256 IP addresses. (Unfortunately we couldn't assign the public IP addresses to devices due to time constraints.)
Unleash is an ISP based in Christchurch with four data centres across New Zealand, and nationwide network coverage with fibre, wireless and ADSL2+. They provide virtual and dedicated hosting, co-location and high-speed Internet services.
Thanks Unleash!
The last component is a software layer: IOPEN created a network traffic monitoring tool that collects data about the network and monitors load and resource usage. A "wireless weather report". This is useful to fix any issues if they arise (which they didn't!) and analyse network traffic to make improvements to network configuration for next time. They also made the data from tool available to users connected to the DrupalSouth network. Here is a screenshot:
Most of the companies and individuals mentioned here donated their time and services. You can see all of DrupalSouth sponsors on the sponsor page.
Thanks everyone!
DrupalSouth registrations opened a couple of days ago and there are already almost 30 registered attendees! Capacity is limited to 100 and it is expected to sell out, so get in quick!
Registration costs just $67.50 NZD including GST ($60 for non-NZ businesses) and includes lunch, coffee and tea on both days – not to mention access to a great line up of speakers and sessions on awesome topics. Here is the full announcement;
DrupalSouth Wellington 2010 is the New Zealand Drupal event. It will be NZ's largest ever gathering of Drupal developers, designers, contributers and business folk. DrupalSouth Wellington will be on Saturday and Sunday 23-24 January — just after Linux.conf.au Wellington.
DrupalSouth features some great speakers and attendees from NZ and abroad, including
Registration costs just $67.50 NZD including GST ($60 for non-NZ businesses) and includes lunch, coffee and tea on both days – not to mention access to a great line up of speakers and sessions on awesome topics. The full schedule is coming soon!
Such a great price for such a high-quality event has only been possible thanks to our generous sponsors, including;
DrupalSouth Wellington will be at the upstairs function room at Mac's Brewery Bar & Restaurant, on Wellington City's waterfront, and just a few hundred metres from Linux.conf.au at the Wellington Convention Centre.
DrupalSouth Wellington will be the second event of it's kind. The first was DrupalSouth Christchurch November 2008.
It is not too late to sponsor DrupalSouth. BUT, there is room for only a few more sponsors and sponsorship closes this Friday 27 November. So if you want to sponsor contact us now!
There is room for just 1 more Platinum sponsor from $1000, 2 more Gold sponsors from $500 each and several more Silver sponsors from $200 each. These last sponsorship opportunities will be given on a first-come first-serve basis and are all in New Zealand dollars (NZD). Contact us about sponsorship!
Config to Code module for Drupal 5 makes it easy to deploy new views and panels and to version-control changes to existing ones with a source code repository like subversion. It makes it quick and easy to move configured views and panels in the database to code, then safely delete the configured views from the database and finally, expose the views and panels in code back to their respective modules. It is extensible for other types of configurations that can be stored both in database and code.
Config to Code module solves some of the deployment issues that Features module also solves. Though Features solves an awful lot more problems than Config to Code does, and is more comprehensive. Since Features is only for Drupal 6, Config to Code is still a useful tool for Drupal 5 websites.
Here is a short screencast demonstrating Config to Code module.
Kent Bye interviewed me (Bevan Rudge) in early September at DrupalCon Paris about Drupal in New Zealand, CivicActions and some recent projects. Yesterday Lullabot released the podcast as Lullabot Drupal Voices 75.
It was recorded 2.5 months ago and a couple of things are already out of date. Most significantly;
We are excited to announce the DrupalCon Asia-Pacific Organisers group. DCAPO intends to lay foundations that will facilitate international Drupal Conferences (DrupalCons) in the Asia-Pacific region.
DCAPO welcomes and needs input and assistance from Drupal users and communities throughout the Asia-Pacific region. DrupalCons are a lot of work, and are only possible through the community's effort. Please join the DCAPO group to share your opinions and experience, volunteer your time, or nominate yourself or others for roles on the selection team.
DCAPO will later announce a call to the community to suggest and research locations for the first Asia-Pacific DrupalCon. Note that a lot of work goes into researching locations. The DCAPO selection team will only be able to seriously consider locations with suitable venues, dates and event management companies, financial estimates, potential audience and motivated local teams.
But first, as much of the Asia-Pacific Drupal community as possible needs to get involved. You can help by translating and reposting this announcement on other websites where Asia-Pacific Drupal users and communities are likely to find it. Don't forget to note any translations and reposts in the DCAPO group so that we can track progress and share translations with each other.
DCAPO is a result of the Drupal Association's new Events Plan (announced on Drupal.org) to have an Asia-Pacific DrupalCon every two years.
Thank you!
From the DrupalCon Asia-Pacific Organisers group
Conservation Strategy Fund (CSF) recently launched their new Drupal website and the HydroCalculator Tool, both by CivicActions. CSF's mission is to teach environmental organizations around the world to use economics and strategic analysis to conserve nature. Their new website empowers them to do this with multi-lingual features, news streams and feeds, listings that can be filtered by continent, region, country or theme, tight integration with Salesforce.com for donations and newsletter subscribers and a range of detail about the training courses on offer, projects, and publications.
The HydroCalculator Tool was initially developed independently from the website then integrated before launch. It empowers regular citizens, economists and environmentalists alike to analyse and compare Hydro-Electric power station projects. It helps users of the tool to calculate the impact of the dam and reservoir on the environment (including CO₂ emissions), social impact to the people living in the region, and the financial impact (as total cost, and Net Present Value).
Conservation Strategy Fund recently announced the HydroCalculator Tool and the new website as well as several other important announcements, include the success of their work in Brazil to avoid forestation of the Amazon rain-forest, and the enourmous success and popularity of their training courses. Find more details in the announcement.
This hook_world_alter() T-shirt idea was something Trevor Twining came up with way back at DrupalCon DC. I got a single T-shirt made for DrupalCon Paris. A number of people said they wanted one – though since I'm not interested in the business of making T-shirts, I thought I'd make the vector file available for anyone and everyone's use.
Enjoy!
This design is available under the Creative Commons Attribution-Share Alike license.
I am currently available for Drupal development contract work.
I am interested in contracts or projects of any width, height or length. I am especially interested in projects that (roughly in order);
I am only available to work virtually, since I am based in Thailand (UTC+7) till Christmas, then Wellington, New Zealand (UTC+13) till about late January, then probably Christchurch, NZ after that.
I'm highly experienced with Drupal and many contrib modules, contributing to and interacting with the community, Drupal module development, debugging and front end development – especially CSS, Javascript and efficient, maintainable and scalable Drupal themes. I am also very skilled and experienced at mentoring less-experienced Drupal developers, planning & architecting Drupal-based solutions from wireframes and/or specifications and putting into effect best practices for Drupal development teams.
My blog and my Drupal.org profile is my certification. My groups.drupal.org profile shows further involvement in the Drupal community, such as DrupalSouth Christchurch 2008, DrupalSouth Wellington 2010, DrupalCon Asia-Pacific, Usability group and UX team. I presented 4 sessions at 3 of the last 4 DrupalCons on Scalable/Advanced Theming, jQuery, and contributing to Drupal.
I have contributed patches that were committed to Drupal core. I have contributed a few small modules, co-maintained a few others and more extensively maintained and contributed to the Salesforce module.
Please contact me to discuss adding me to your team! :)
Following in the success of DrupalSouth Christchurch November 2008, DrupalSouth Wellington January 2010 is in it's planning stages. It will be close to LCA Wellington 2010 both in time and location, and will feature excellent overseas and home-grown speakers & attendees, such as;
If you don't want to browse the 2500+ photos from DrupalCon Paris on Flickr, but still want to see some photos, try these sets for the highlights instead;
I was extremely pleased with my DrupalCon Paris session on jQuery for Designers and Themers. It was a great success – my best session yet.
You can see the slides at tinyurl.com/jQuery-Designers and download the sample theme code from drupal.org/project/jq4dat.
I made a couple of references to blog posts and work I've done with jQuery during the session:
drupal_get_js() and drupal_get_css() from page preprocess functions creates an unnecessary performance hit. This blog post discusses a technique that allows javascript and CSS to be added in the page preprocess function without needing to call drupal_get_js() and drupal_get_css().I forgot to demonstrate jQuery UI effects. You can see demos of these on jQueryUI.com and I added an implementation of the explode and bounce effects to the sample theme when you roll over the "Hey nice username!" message and click on it.
A related topic is Drupal's javascript theme layer. I added an example of this in the sample code; Defining a theme function, overriding it, and calling it to get some content themed into HTML. The javascript theme layer is based on the same principles of overriding as Drupal's PHP theme layer, so it should be easy to understand if you've ever overridden a theme function in template.php.
I didn't have time to properly explain the subtle differences between Drupal.behaviors functions with the context parameter and simply executing anonymous javascript functions on page-ready. I included examples of both in the sample code with inline comments might help to understand the difference.
Thanks to everyone who attended for your enthusiasm and excellent questions which guided the session and made it more conversational than presentational. I look forward to another opportunity to present this session at the next Drupal event. Maybe DrupalSouth Wellington January 2010?
CivicActions is in Paris, and we are running some great sessions at DrupalCon Paris 2009;
We won't be at the job fair this year, but please hunt us down at the conference (we'll be wearing CivicActions t-shirts) if you're looking for work or want to join a first-class international and virtual team of world-changing Drupal developers. You can also contact us through the website for more info or if you want to make sure you don't miss us.
Attending CivicActioners are;
The New Zealand Government loves Drupal:
cache_get() returns $cache objects even if the cached item is stale (expired). The cached data will not be rebuilt every hour in the following example:
<?php
/**
* Builds complicated data for the monkey grip.
*/
function custom_monkey_grip_data() {
// Return the cached data
$cache = cache_get('custom:monkey_grip');
if (!$cache) {
// Some expensive processing to build the data.
$data = complicated_recursion_and_loops_on_lots_of_data();
// Cache the data and rebuild it every hour
$expire = time() + (60 * 60);
cache_set('custom:monkey_grip', $data, 'cache', $expire);
}
else {
$data = $cache->data;
}
return $data;
}
?>Today I had a long and very positive meeting about software patents and the NZ Patents Bill with Commerce Committee chairperson, Labour party's Lianne Dalziel, as well as Drupal-peers Dave Lane and Jonathan Hunt. Dalziel, Christchurch East MP, was well-informed about the Patents Bill, the Ministry of Economic Development's Patent Review and the insufficient attention paid to software patents (thanks to our emails and exchange of documents beforehand). She was not so well-informed about software patents and the harm that they cause – as would be expected given the complexity and obscurity of these issues for those who do not work in the software development.
Lianne was quick to point out an oversight in my research of the MED's review; A section from 2004, early in stage 3 of the review, that comprehensively summarises the issues of software patents. Nevertheless she agreed that the attention given to software patents in the review is out-dated and/or insufficient.
She listened to and understood our arguments against software patents and noted that the following are strong arguments for an oral submission to the commerce committee;
Dalziel strongly suggested we (and/or encourage others to) meet and discuss software patents with Simon Power (National MP, Rangitikei, Minister of Commerce) and deputy chairperson of the Commerce Committee Peseta Sam Lotu-Iiga (National Party MP, Maungakiekie), who will also be similarly unaware of the harm of software patents and the neglect in the MED's Patent Review.
Our conversation also ventured into discussions of section 92a copyright amendments, the Internet Blackout, Lawrence Lessig, his TED talk and Creative Commons (a client of CivicActions), possible FTA agreement between NZ and the USA, Richard Stallman, the Free Software movement, the GNU General Public License, it's 4 freedoms, Drupal, blogging and Facebook. She was also keen to keep in touch about technology and software issues and was very sorry to have missed Lessig's recent visit to NZ.
I'm going to be in Auckland this Friday and am meeting up with some other Drupalers to drink, dine and talk Drupal. Please see my post on groups.drupal.org for more details and to let us know if you're coming.
Linux Conference Australasia (aka LCA, linux.conf.au) will be in Wellington 18-23 January 2010 – 6 and a half months from now. This presents opportunities for the NZ Drupal community to;
With the government moving away from Microsoft products and towards Open Source, and (hopefully) a FLOSS-friendly Patents Act in NZ, it is a very critical time to be making folk aware of Drupal and how it can empower them and their organisation/s.
This is good for the Drupal marketplace, and good for anyone providing Drupal services in NZ – probably you!? (Conferences like this are also great places to grow your own business network directly!)
Saturday 23 January is Open Day at LCA and is probably a good opportunity to set up a Drupal stand or similar. We would be able to use the Drupal banner from DrupalSouth for this.
LCA is taking proposals for miniconfs during, before or after LCA. Given the prominence of Drupal in both the web and FLOSS communities it's likely a well–organised and well-written proposal would be accepted.
Alternatively, we could organize our own DrupalCamp or mini-conference outside of LCA proper. Though LCA-miniconfs make admin easier and minimize the overhead of organizing a DrupalCamp or miniconf.
Perhaps such an event could be DrupalSouth 2?
With or without the above (or other Drupal events), it'd be great to meetup with other Drupalers and talk Drupal in the bars. Who else is planning on or thinking about attending?
Kathryn Ryan of Radio NZ interviewed Don Christie, president of the NZ Open Source Society and Kevin Ackhurst, managing director of Microsoft NZ on Microsoft's failure to renew their multi-million dollar contract with the NZ government. The interviews and Kathryn's questions are intense and very interesting as Don Christie defends the government's choice to break out of a reliance on Microsoft's products, and Kevin Ackhurst tries to defend Microsoft's position, touting it as a success.
Highlights for me were Kevin Ackhursts rehearsed tape-recorder responses that avoid answering Kathryn's questions, and Kathryn's obvious frustration with his failure to state things as they are. It's clear that Microsoft wants to paint this as a success story, but is failing pretty badly.
I love Don Christie's "Microsoft software is like a virus..." which reminds me of Microsoft's "linux is a cancer" statements.
read more
NZ government is about to pass a new Patents Act. In the 8-year review, they seemingly forgot to consider the impacts of patents on computer software! Submissions on the bill are being accepted till 2 July, so we need to move fast. Make a submission now!
It is not often I blog off topic, so I hope that you can appreciate how important this is, and spare a few minutes to save your own future, your children's and grandchildren's futures and home planet.
Would you just stand around and watch as your home burned down with your children and pets inside? No? So please don't stand around and watch while we destroy our home planet.
This December, world leaders, including New Zealand prim minister John Key, will meet in Copenhagen to decide what the world should do about climate change. John needs our support in order to do the right thing in Copenhagen. Please Sign On today. This is a great chance to make a difference.
Over 50,000 New Zealanders have already Signed On, from Lucy Lawless, Stephen Tindall and Cliff Curtis through to Rhys Darby and of course, me too!
If you don't live in NZ, find out what you can do locally. Write to your local politicians, heads of state or ask Greenpeace in your country what you can do.
Don't sit around and do nothing. How are you going answer to your children when they ask why you didn't do anything about climate change before it was too late?
There is an edition of the International Herald Tribune published 6 months in the future which demonstrates the importance of having a voice NOW.
Click the following link to sign on now http://www.signon.org.nz/join-me/77782406
Our unborn children and grandchildren are saying thank you.
UPDATE: Due to recent changes to our website the code snippet (the valuable part of this blog post) got accidentally lost. If you read this already, please come back to see the sample code. Thanks!
Often you want to add CSS files, scripts, feed icons or even set Drupal's page title from the theme layer. The most obvious place to call Drupal's functions for these tasks is probably in a page preprocess function. However calling the following Drupal API functions from a theme or module's NAME_preprocess_page() function often doesn't work;
Earlier this year Jenn, Owen and I worked on a proposal for Greenpeace NZ. CivicActions didn't win the contract, but the website has just launched.
SignOn.org.nz – a Drupal site – was implemented by Catalyst IT, a FLOSS software shop in Wellington New Zealand which employs Josh "fiasco" Waihi, Drupal 7 PostgreSQL maintainer and NZ IT Rockstar 2009 winner and Brenda "shiny" Wallace, Drupal contributor.
Catalyst has done an excellent job and the campaign was featured in NZ's national Sunday newspaper a couple of weeks ago.
They've got many Kiwi celebrities on for the campaign, some which are known internationally too; Most notably Lucy Lawless (Xena Warrior Princess) and Keisha Castle Hughes (From Whale Rider and award-winning other films).
I recently read a fascinating survey of 1000 blind and visually impaired internet users. It's a long article but is largely graphs and data tables – so is easily consumed. If you want the short version, check out the comments and conclusion.
The most surprising parts for me were;
The NZ SSC has rejected Microsoft's offers for a new licensing contract. This is a big loss for Microsoft (Though I'm sure MS would have you believe otherwise and try to paint the picture back to front) and big win for NZ Government and NZ's IT industry.
read more

This video demonstrates how to setup Views 2 exposed filters as a block.
Vertical tabs are finally in Drupal core!

Screenshot of vertical tabs on an 'Article Edit' page in Drupal 7.
A week ago Angie "webchick" Byron committed a large patch from #323112 Vertical Tabs to Drupal 7 core. This change is quite possibly the most significant usability enhancement to Drupal 7 to date. Two of the three formal usability tests did usability testing with vertical tabs and reported positively.

Screenshot of a 'Story Edit' page in Drupal 6, before vertical tabs.
UPDATE: Rob Loach has created a patch to implement vertical tabs on the node-type form.
UPDATE: See other issues about vertical tabs in Drupal core .
What is more interesting about this however, is the process, time and effort that it took to get this change into Drupal core. It all started over a year ago, well before DrupalCon Boston 2008 even before Drupal 6 had a stable release. The discussion around part of that patch goes back as far as November 2007! Along the way countless people have been involved in many discussions, worked on heaps of mockups, lots of prototypes, and loads of code.
I have spent considerable time over the last year or so trying to get my data and systems set up to have email, contacts and calendars available both online and offline on both my main computer, my mobile device and online as a guest user on others computers. All the while keeping my inbox clean from spam and bulk mail, contacts synchronized and access my preferred user-interfaces and applications. I've recently been able to get this pretty close to perfect. In this article I will describe the technologies I use and how I've configured them to achieve this.
While there were many great presentations at DrupalCon DC, Young Hahn's Limitations of the Drupal Theme Layer was the only one that blew me away. Most of the session attendees and readers of the related blog post seem to miss his main point; a proposal for a rule-based theme layer.