Case Study: Canadian Motocross News Site
Late in 2008, an idea began to gather steam. The idea was to launch a news website about Canadian motocross, but not just another site that dealt with the industry from a sterile, detached viewpoint. Direct Motocross was born from a passion to create a site that captured the true spirit of Canadian motocross, the grit and the grime and the grease.
Drupal has strong credentials in news websites, so we saw it as an ideal fit. Using Drupal also meant that we could quickly incorporate links to popular social media websites, sophisticated (but intuitive) image handling, and more.
All this planning was taking place against the backdrop of the most severe economic downturn in 80 years, and Drupal made it possible to develop a feature-rich website without requiring an extensive team of developers. What's more, core development took place during a very tight development window, as we wanted the site to launch on Jan 1, 2009.
Content
At its core, DirectMotocross.com is about news. Regular contributors Danny Brault and Steve Matthes have already made names for themselves writing for other publications, so we knew we'd have a steady flow of news features, including interviews, podcasts, and more. We also knew we'd have a stream of smaller updates, quick snippets of news we'd want people to access quickly. We used CCK to set up specialized content types for all of these, and made extensive use of Views to create different ways of accessing them.
To power the podcasts, we employed the Flashnode module for easy node creation, using the popular JW media player.
To make it easy for contributors, we built in a number of modules to allow for extensive content management capabilities directly form the browser, including FCK Editor, IMCE and IMCE Mkdir.
The Theme
We designed the site to reflect the personality of the industry, and built it as a subtheme of the Zen theme. We also added some jQuery goodness to animate some of the rollovers, and used the LightBox2 module to provide quick, modal-style access (a little jQuery trickery was needed here too). To ensure search engines would still be able to index the modal content, we created views to build menus to standard formatting of the content, and used jQuery to point to the modal versions instead.
We also created an adaptive layout for the home page, which splits out to four columns on large monitors to make better use of the available space.
Making Sense of It All
Drupal's taxonomy system is definitely one of its strengths, and we wanted to use it to its maximum effect, helping people to follow particular racers, as well as specific topics. In fact, because Direct Motocross has such a variety of different content types, we wanted a more structure taxonomy page, and the Panels module was the perfect solution.
The Glossary module made it even easier for our users, allowing us to automatically link the names of riders to their profile pages, listing breaking news and new features related to them, as well as images, wallpapers, and more.
Content Profile
To help the site feel like more of a community, we wanted our MX fans to not only be able to comment on the site's content, but also offer up their perspective on the Canadian motocross community, including their favourite tracks, favourite riders, and best racing memory. Using the Content Profile module allowed us to tie some of this information into the taxonomy setup so that, as an example, rider pages can list the users that have identified themselves as fans.
Image Handling
Photography is a big part of motocross, particularly because the sport creates such spectacular images. We're fortunate to have one of Canada's best shooters, James Lissimore on board, but needed to make it easy for him to post his outstanding photos to our site. We went with the ImageField and ImageCache to make it easy for contributors to upload images directly with content, and be able to efficiently re-use them in a variety of formats. Once again Lightbox2 proved to be tremendously useful, with an elegant solution for slideshows. A minor hack to ImageCache also allowed us to offer wallpapers not only in a wide variety of sizes, but that also download automatically.
Show Us Where
Another of Drupal's strengths is integration with third-party sites, so we wanted to tap into the integration with Google Maps. By using the Location and GMap modules we were able to visually show not only where in the Great White North different stories were unfolding but where motocross fans were, too.
The Amazing Races
Fundamentally, motocross is all about the races, so we also set up a race schedule using the Date and Calendar modules. The schedule will show upcoming races, with an ability to sort the schedule in a variety of ways. The schedule can also be viewed as a calendar, or as a map, and can be exported in ical format for easy integration with popular software such as Outlook or iCal.
Drupal 6
We knew going in that the vast majority of what we wanted to do was possible with Drupal 6, and decided that this would give us the most longevity going forward. In fact, some of the modules we've used are only available for Drupal 6, or at least offer more features in their D6 versions. The only deal-breaker for us with D6 would have been if we needed to do e-commerce right away, as Ubercart wasn't then available in a D6-compatible release. We were able to launch without such functionality, however, and it appears a stable version of Ubercart for Drupal 6 is nearing release.
Challenges
- During much of development, Panels was still working out some kinks, which led to some difficulties, but recent releases have greatly improved that situation.
- We chose OpenX as an ad server specifically because of its Drupal integration, but it ended up being easier to just use the native OpenX embed code within a Drupal block.
- A Drupal 6 version of Meta Tags was only recently released, so we're still working to get that fully integrated.
- Custom Breadcrumbs has been a terrific addition to our site, but did present a few challenges, especially getting it to work properly with some of our Panels-based taxonomy pages, and the pages that they're meant to link off to.
- For a brief time we had Tagadelic and Cumulus installed, and the effect is incredible, but it ended up proving too much of a burden on our server. We're hoping to try a patch to make Tagadelic work its magic as part of a cron run, hopefully making it less of a burden during standard page serving.
A Big Thank You
Given the limited resources we had to put together this site (in both time and manpower), there's no way it would be anything close to what it is today if it weren't for Drupal. A heartfelt thanks to everyone who contributes to Drupal, both to core and to the contributed modules. We've tried to contribute back where we could, offering up fixes to the issues we encountered. We also hope contribute towards new features we'd like to see such as bulk import and IPTC support for ImageField.
It's also worth noting that even with extensive use of modules (65 contrib and 19 core) the site runs well on inexpensive hosting, even with thousands of visits every week. Memory usage does still present the occasional challenge, however.
The feedback we've gotten on the site so far has been glowing. People love the format, and the ease of use for contributors means they can focus on telling compelling stories about Canadian motocross. We've got some great new features planned for the summer, so for us, this is only the first lap!
Drupal version: Drupal 6.x