Eating our own (Drupal) dog food

December 13, 2010

DesignHammer just relaunched its website as a Drupal 6 site.

Time for an upgrade

For the past few years Drupal has been our first choice when building custom websites. It gives us a lot of functionality right out-of-the-box, has a great community providing contributed modules, and allows us to write our own functionality when needed. Drupal lets us create almost anything without having to reinvent the wheel each time.

As we spent more time using Drupal it became increasingly obvious that our own site, designhammer.com, was lacking a lot of the features we had come to expect from a well-built Drupal site. The old site was a mixed bag of static HTML, JS and PHP. The blog and news articles ran on an outdated and difficult to use Textpattern install. It was time consuming to make routine updates or to change things like the site layout. As we expanded our SEO and mobile development, the amount of work required to maintain our own site grew.

There's been plenty of excitement around here about Drupal lately, including some contrib module development, a talk submission for DrupalCon in Chicago, and all of our ongoing Drupal projects. The time was right for us to upgrade designhammer.com.

Migrating to Drupal

I had been hesitant to start the process of migrating the site to Drupal because I knew it would take a good chunk of time. A lot of the pages had custom CSS styling that I knew would be a little difficult to implement with a CMS. But, I am fortunate to have two of the best Drupal developers I know working with me. They were able to teach me some great techniques on writing new page templates for each content type, with a little help from the Devel module. This way I didn’t have to totally rely on Drupal to generate the correct DIVs and CSS classes where I needed them. I now have a great deal of control over where on the page my CCK fields are placed and what DIVs I need to wrap around them.

For building the Drupal theme I used the Zen parent/starter theme. I find that Zen gives me a great starting point. I can get to work right away on my theme customizations, without a lot of set up. The documentation for installing and working with the theme is clear and concise. If you're new to theming, Drupal.org has plenty of resources to get you started.

One theme issue I came across, and needed some help with, was the "title" field for nodes. Many of our web page <H1> tags had various <SPAN> and <BR /> tags inserted manually to help the title flow on the page more cleanly. This is a problem because node titles in Drupal are plain text, with no tags. We needed a way to provide custom titles for display on pages, while keeping the original plain text titles intact for other uses (mobile site, SEO, etc). We came across a tutorial that described a simple method for using a cck field whenever I needed to add HTML. It's a great, simple idea.

A few of the contributed modules that have helped me with my theming are:

  • Block Class
    Easily add CSS class names to blocks.
  • Custom Pages
    Add pagination to nodes, and in our case we used it for our blog and news articles.
  • GeSHi Filter
    Syntax/code highlighter
  • jQuery Updated
    Installs a more recent version of jquery for Drupal which allowed us to use current plugins.
  • Menu Block
    Gives you move control for adding menus to regions along with choosing the link level to start at.

Looking forward

In the end, we were able to migrate the entire static site and all of our blog and news content into Drupal without doing any new design work. This is a testament to Drupal's flexibility and power.

Now that the migration to Drupal is complete, I feel like we’ve opened the door to a world of supported functionality. We can’t stop talking about what we want to add next, including a mobile subtheme, “useful” social networking on our team pages, and much much more. The fact that we now have our content in a real CMS means that the entire team has an easier time contributing content, and we have the flexibility to try new things. We are eating our own dog food, and it tastes good!


Comments

Great work and write-up Frank! Now onwards to Drupal 7 :-)

I'd be interested to here your thoughts on Drupal's advantages over Wordpress. I use Wordpress exclusively and am very happy with it. That being said, most of the sites I work on are quite small. I find Wordpress' plugins to be extremely helpful... they seem to solve any problem I have with a couple of clicks of the mouse.

I am with Toban in this. I have always harnessed the power of the WP platform for many of my blogs simply because of its ease of use and the avaliability of the many thousands of plugins. To my knowledge, Drupal does not provide this level of functionality but you may be able to convience me otherwise?

In answer to the above comment, I personally feel that Drupal is a much better platform that wordpress given its stability in a number of key areas. The testiment to this is the constant round of WP updates which are required to be installed which is not the case with Drupal. For those eagled eyed amoungst us you may have also noticed that Google Webmaster Tools is now alerting you that a wordpress install on a domain you have in your account needs updating. They further explain in the alerts that you are in danger of being hacked should you not update - need I say anymore. Long live DP!

February 2012 there are more than 9,500 free community-contributed addons, known as Drupal ... Cool

Add new comment