The Georgia Straight is Canada's largest urban weekly: a Vancouver-based newsmagazine with a per-issue readership of almost 534,000.

Founded in 1967, the paper was critical of local politicians and police and was soon faced with fines for publishing obscenities and police raids. As time went on the "Straight", as locals call it, became more established, but maintained a progressive editorial stance. is the newspaper's online presence., in addition to publishing content from the print publication, is focussed on providing web-exclusive content and building online community. Site content includes special-interest blogs, video and audio, image galleries, and searchable listings for events, restaurants, clubs, and movies.


Before conversion to Drupal, used a number of methods and technologies to update the website. Originally static HTML, then outsourced, the Straight ultimately brought site management in-house, moving first to the Publish Button CMS then to a custom Cold Fusion-based content management system.

Over time however, it became evident that increasing site requirements and security concerns were stretching available resources and so the Straight decided to leverage the power of community and migrate to an open source solution. Various solutions were examined - eZ Publish, Bricolage and Joomla to name a few - however the Straight eventually decided on Drupal on the basis that it appeared to be most adaptable and had the most
community "momentum".

Luckily for the Straight, Vancouver, Canada has a very strong Drupal community. On the recommendation of locally-based Bryght, the Straight contracted Djun Kim to help move the platform to Drupal 4.7. After the initial migration, Rain City Studios provided training for's first dedicated web programmer and development continued in-house. The new site deployed in December 2006 and the site was upgraded to Drupal 5 in early 2007.

Module use currently relies on nearly 70 modules for its functionality: 42 contributed modules, 9 custom modules, and 17 core modules.

Contributed Modules

CCK and Views are used to create and display custom content types. Custom content types are used for article and blog entries, online coupons, classified ads, gallery images, and links to external content.

The Panels module allows editors to manage the front page layout and the TinyMCE module provides the option of rich text editing.

The Similar By Terms module is used to generate relations between content. When articles and blog entries are added to the system, content is automatically submitted to the Yahoo Term Extraction web service. The resulting terms are then used to populate a taxonomy of topics which relations are based on. To increase the quality of these relations OpenCalais is being evaluated as a possible alternative.

To deal with the task of having to create a number of new contest draws each week, and occasionally large surveys, the Multiforms module was designed and developed. This module can be used to author complex forms via a web interface and allows groups of form fields to be stored in "snippets" which can be used to populate new contests and surveys. The module also handles random selection of winners. A pre-selection hook allows blacklist functionality, which enables's contest administrators to exclude problem entrants from being selected as winners.

The Thickbox, Add This Button, Dynamic Persistant Menu, Logintoboggan, and JQuery Update modules are used to provide a richer user experience with JavaScript.

The Memcache module is used to interface with Memcached to allow caching of some content to server memory. Pathauto is used to provide friendly URLs and Imagecache for dynamic image manipulation.

The CAPTCHA and reCAPTCHA modules are used to prevent spam.

Custom Modules relies on a number of custom modules to meet site-specific needs and act as "glue" to combine the functionality of other modules.

Three custom modules are used for administering and displaying our searchable event, restaurant, and movie listings. Both print and online listings are administered from the same system. Content for print is exported to XML.

Online classifieds are delivered using a custom module that displays ads imported from a proprietary ad system.

A custom gallery module is used to support image galleries, allowing user submission and batch uploading by administrators. This module leverages the CCK, Thickbox, and Voting API modules.

Our site includes ads delivered from a server running the open-source OpenX. Invocation Code from OpenX works in conjunction with a custom Drupal module that allows ads to be rendered on pages based on Drupal taxonomy.

Another custom module is used as a catch-all for miscellaneous site-specific functionality such as interfacing with the Sphinx full-text search engine, weekly alternation of the front page, the display of back issues, custom teaser extraction logic, macro tags, tag clouds, and the passing of e-newsletter subscription requests to an external system.

Optional Core Modules

The optional core modules enabled are Comment, Contact, Help, Menu, Path, Poll, Profile, Taxonomy, Tracker, and Upload.


The site is served using Centos 5 Linux, Apache 2, MySQL 5, and Sphinx on a dual-server setup (hosted by Vancouver-based Astute Hosting). Munin is used for monitoring and Monit for alerts. rdiff-backup is used for incremental nightly backups.'s traffic has increased by 100% over the past year. To scale to a larger audience, a variety of caching mechanisms have been employed including PHP opcode caching (APC Cache), memory caching (Memcached), and caching to static HTML files (using a customized index.php file).


The's development department consists of team leader Geoff Burke (geoffb), designer Miles Keir, and programmers Mike Cantelon (mcantelon) and Chris Slater (chris_slater). The team uses Trac for project management and Subversion for version control. A staging server is used for testing and a development server is used for day-to-day development.

Learning the Drupal Way

It has taken our development team time to fully "grok" Drupal, but the longer we use Drupal the more we've come to appreciate the value of the framework and the community that supports it. The Drupal project encapsulates the collective wisdom of a community that has been working for years to not only create a great CMS, but also a positive, supportive development culture and technical solutions to the challenges of collaboration.

Drupal 6

In order to take advantage of Drupal 6's improvements and ensure we can leverage future community contributions, our team is currently preparing for a Drupal 6 upgrade.

Drupal 6 features that interest us include increased performance, improved user interface, easier theming, Open ID support,
Javascript pre-processing and contributed modules exclusive to the version.


Joe Murray’s picture

Congrats on a great project. I really appreciate the writeup about how you did it.

Joe Murray

PS: One small Toronto quibble: Now Toronto, an urban weekly, has a larger circulation:

Not sure about Montreal weeklies' circulation figures. Cheers!


mcantelon’s picture

Thanks Joe! Judging by those numbers, it looks like the Georgia Straight still has a higher circulation/readership: "per-issue circulation average is 117,000, and its average weekly readership is almost 693,000" ( I've revised the readership number in the case study as it appears to be old.


smazsyr’s picture

Not to take away from a swell site, but it sure would be great -- and in keeping with the community "momentum" that attracted you guys -- if the custom modules were contributed back to the community. Or am I missing something?

wonder95’s picture

I was intrigued most by the custom module you mentioned that allows batch uploading of images by administrators. That's something I've wanted for a long time. Is that a module that you think could be contributed to the community?

yelvington’s picture

I don't know what the folks at the Straight are using, but works nicely for bulk uploads from Gallery Remote, iPhoto, Linux (via Digikam) and directly from Windows.

rogerpfaff’s picture

and what about this is a useful module too.

mcantelon’s picture

Hi Smazsyr,

Criteria that determine whether it's practical to contribute a custom module back to the community include how much the module's functionality is coupled with one's specific site logic and workflow (the less, the better), the quality of coding, whether the module duplicates existing functionality already contributed to the community, and whether there is enough time to maintain it. We chose to contribute the multiforms modules because with it we were able to meet these criteria.


hectorplus’s picture

You'll get some nice features/improvements in Drupal 6. I read it whenever I can.

aac’s picture

I visited last week from a link on the Multiform module page. Today when i saw this case study, it feels nice as it is my familiar site now. Thanks for a nice write up here.


mcantelon’s picture

Thanks for the support, aac!


samperez’s picture

Interesting writeup. Nice to see more drupal 6.x deployments going along.

Travel to Peru

wedphp’s picture

Drupal is no 1 cms .It is great to move to drupal. Nice to see more drupal 6.x deployments going along.

abdu’s picture

Thanks for your detailed write up, It would be nice if you apply pagination for article read page since some articles are too long in content.

Great news for Drupal!

mcantelon’s picture

Hi abdu,

I agree. Ideally, we'd wants to implement automatic pagination to minimize the work involved.

Thanks for the feedback!


psipi’s picture

It's great to see another functional site. It would be interesting to know how long you spent from 1st deciding to go drupal to live site, and "cost".. I expect it was currently very large..

Any more information you'd care to share would be great, maybe we can talk about setting up a "closed" copy of the test site.. so we can look at the admin side.. which is where I think you've clearly done some great workflow improvements.

this would be a great case study for the UK drupal camp and for

geoffb’s picture

We started our first discussions on moving from our Coldfusion/IIS system to Drupal in March 2006. Our consultant, Djun Kim, started to migrate our content in May 2006. Customizing content and modules followed and we were pretty much ready to launch by mid-November 2006.

It seemed like a long time but, in reality, Djun was not full time on the project, we had to continue to work concurrently with our old system and neither Mike (who wrote the case study) nor Chris had yet joined the team.

Costs: I won't get into dollar amounts, but consulting work came in at about 115 hours.

I won't write off the idea of setting up a copy of our site but the reality is we've got enhancements and bug-fixes up the ying yang, so this wouldn't be a priority for us.

But, we'll always try to answer questions where we can.

- Geoff

hildy’s picture

Like all free publications, the Straight inflates its "readership" numbers to con advertisers into thinking they're getting more for their money. Truth is, they can't even determine circulation accurately -- they print about 100,000 copies and then "guessetimate" that 4.8 (or pick a number) people read each copy. They never mention how many copies get pulped, unread, because they're left in the boxes every week.

Lying about having a circulation greater than Toronto Now is fairly typical of paper's PR. It's a shameful bit of fraud, especially from a company that claims to be in the business of reporting facts. But then, they haven't done that for years.

This is a paper in serious decline. It no longer wins any awards because of its badly written pieces designed to flatter advertisers. It's web-only content is little more than the crazy rantings of some of its more eccentric editors. It has migrated to the web only because its ad sales, and page counts, are down. It is looking for another advertising stream.

They're using Drupal and that's great. But please don't collude in perpetuating the propaganda they spew.

mcantelon’s picture

Hi Hildy,

If you have any concerns that numbers are inflated, feel free to share your theories with Ipsos-Reid.

Yes, newspapers are interested in an online presence as a means of generating advertising dollars. Newspapers pay salaries through revenue and advertising is the main source of newspaper revenue, now as always.

Thanks for taking the trouble to create a new user account with which to share your opinions.


j0rd’s picture

Their circulation numbers are inflated because most of their papers are being used as blankets for the homeless in DTES.

But for me as a Vancouverite and Drupaller, I've always been proud of the Straight's website being on Drupal. Another honorable mention is

As for other who complain about Weeklies.... the dailies are much worse. Metro, 24 and Dose (i liked Dose, it seemed like a blog printed on paper) deserve to die. Weeklies actually serve the people with useful information about stuff going on in their city...while the dailies are a waste of paper.

They're also great surfaces to use when you need to roll a joint at a bus stop.

neosis’s picture

What do you use for your featured article slideshow in the middle column?

mcantelon’s picture

Hi Neosis,

Sadly, we currently handcode the slideshow. We're looking at creating a CCK type for the slides then pulling the slides and rendering to JS to make it easier for editors (or using a custom module if we can find something that fits).


trevorkjorlien’s picture

Hey, I also work for a newspaper and we're redesigning our site on Drupal as well. One (of many) barriers I'm trying to cross is Movie Listings.

We offer local event listings (Music, Arts, Special Events, etc...) which we currently input all by ourselves, and plan to keep doing for the redesign. We are looking to change the way we get our film listings by going to a provider that will populate that data automatically (film listings are so complex, error-prone, and time consuming that we'd rather not have to type that data manually).

Did you guys also use an outside company, such as Tribune Media Services, or West World Media? Something different? Aside from coding the custom module, was it a fairly difficult process?

mcantelon’s picture

Hi Trevor,

Our movie listings input is manual and we don't use an outside company.

My understanding is we get the listings from the individual theaters.

An automated feed of some sort with this info would be very handy!