Wendell Challenger is an "uber bike geek" and a graduate-level science student studying topics related to evolution. He's also one of the volunteer writers and photographers for Momentum Magazine, a free bi-monthly publication for urban cyclists available in twenty cities in the US and Canada.
When it was decided to build Momentum's, um, momentum, by bringing its free content onto the Web, Challenger took on the project. Free and open source seemed a no-brainer between his scientific background and the free, community nature of the magazine. At Open Web Vancouver 2009 (news, site) he shared his experience.
A Little Side Project
How did someone with limited web and no PHP experience end up building a Drupal (news, site) site for a magazine? Challenger says, "Its one of those funny life stories where at first it seems odd that you have 12 grand pianos in your house, but if you go through it step by step it actually makes a lot of sense."
The choice to use open source came from such factors as having a small market share yet wanting a highly specific e-publishing platform with:
- Tailored content delivery
- Internal bi-directionality
- Deep internal linking
Along with factors such as:
- Being on a budget, working with volunteer help and limited resources
- Wanting their solution to be future proof for long-term survival
- Avoiding proprietary lock-in
Drupal ended up a bit of a no-brainer in their case. Momentum's original website was already built on Drupal, and with very little customization. Challenger, initially a WordPress user, had been growing frustrated with WP's limitations: while he found it easier to theme than Drupal and says WordPress has "amazing usability if you are looking to just blog," he had to hack WordPress more to add functionality such as integrated calendars, photos and book-like hierarchical tutorial articles, which made upgrading difficult. Due to these issues, he'd been playing with Drupal on his own.
What sealed the deal was an editorial meeting in December 2006. Someone from Bryght -- now Rain City -- came to talk to them about what Drupal was capable of. Impressed by:
- Drupal's modularity, not to mention the sheer number of modules
- The focus on architecture, which he found a breath of fresh air compared to open source projects such as WordPress and Gallery
- That everything from core functionality to modules to themes integrated into cascading overrides (hooks) that produce a flexible result that could expand in any future direction they needed
- The tons of online resources
- The size and openness of Drupal's community
Challenger volunteered to help their webmaster do the build. His initial job was to research what modules to use and issues of best practice.
It seemed a nice volunteer side project for someone working on their PhD. Except, the webmaster quit shortly after, and he didn't want to leave Momentum with an incomplete project. So suddenly he was the sole (volunteer) developer.
Building In Drupal
In particular, he chose to follow the NY Observer model for how they built their own online presence using the same open source Web CMS. This model allows for assigning authorship/ownership to each piece of content, such as pictures and articles, by having edition nodes, story nodes and contributor nodes.
The NY Observer Publishing Model, provided by Momentum Magazine.
Two modules he relied heavily on were CCK, which allows for creating custom fields, and Views, which lets you create MySQL queries from a browser. CCK allowed Challenger to create field-based complex web forms without ever having to touch the database.
Challenger created a CCK form for bulk assigning image ownership and captions, provided by Momentum Magazine.
For example, with CCK he created fields for uploading images:
- Image type
- Image layout position
- A cropping shortcut dropdown for those who don't know how to crop their own images
- Loading multiple images at once
- Adding a caption to an image
- An abstract summary for the image
Challenger created a CCK form that allowed him to customize the image layout and cropping, provided by Momentum Magazine.
When it came to the articles, he made fields for a short abstract of the piece, pull quotes and sidebars. Drupal also allowed him to make complex story and edition layouts. Along the way, when he needed some custom modules to glue things together, this PHP newbie wrote them himself with help from the Vancouver, BC, Canada Drupal community, particular from Scott Nelson from Fearless Media and Chris Ng from UV Media.
Drupal allowed Challenger to create complex story layouts, provided by Momentum Magazine.
On Choosing Modules
Challenger has this advice when it comes to choosing Drupal modules. Start by reading about each extension you're considering:
- What method was used to build it?
- What's its current development level? (alpha, etc.)
- What are the positives of choosing it?
- What are the negatives?
Then, when you think you know what you want, test the options on a sandbox to see how they behave. Do any of them conflict? Do they offer you the level of browser compatibility you need?
From there, choose your module and build from there. Then he says he makes it live and crosses his fingers.
Drupal Pros and Cons
Now that the project is mostly done (he's looking for theme help, hint hint) Challenger says there's a definite list of pros and cons to consider when looking at Drupal. For the pros, he listed:
- It's an amazing tool
- It has a friendly developer community
- There's no shortage of options
- He could use it to spin up or tailor solutions he couldn't dream of otherwise
- Lots of troubleshooting information on the forums
- It's free and open
On the con side, he included:
- A massively steep learning curve
- Confusing and often non-existent documentation
- There's a dizzying array of options and information
Challenger says it took him two to three years of using Drupal before he really understood how to "leverage its organizational abilities." He feels the project presents far too many options for beginners, and that most regular (non-ubergeek, in Challenger's words) people starting out almost have to start with WordPress to wrap their minds around a CMS before even considering configuring Drupal. These are the types of issues that the Drupal team is addressing in the Drupal 7 UI redesign, so hopefully new Drupal users will have it easier soon.
Another con he mentioned was that the project is always running forward, creating a situation where:
- Drupal's constantly updated
- Because of the updates, there are constant module project deaths
- There's an unclear future roadmap
- Constant attention is required
For example, one feature he wanted was a front page rotator which changed between highlighting a variety of stories. What he found was fifteen to twenty different modules with slightly different approaches and a wide variety of quality. Some of the modules were current, some dead in the water.
In the end, Challenger says he loves Drupal, and is very pleased with his project's results. There are still things he needs to tweak, but right now his PhD thesis comes first.