I started attending the Twin Cities Drupal User Group about 3 months ago. A friend mentioned it to me, and I thought I would check it out. It definitely helped that it is at the IATP Compound which is two blocks from where I work and where some of my good friends have worked. It is at IATP because the only for-profit company there, Advantage Labs, is a Drupal Development and Hosting firm.
We have a wide variety of users at these groups. This is great because we can get a good range of perspective on using and developing Drupal. But, it also makes it difficult to find topics that everyone can take part in. The first session I went to, the main topic was Show and Tell, where members showed off some Drupal sites. That’s when I realized that most, if not all, of these folks were taking an existing Drupal theme and hacking it. The whole idea behind Drupal is that you should not hack it. The next meeting, when we were discussing topics for the subsequent meeting, I asked if members of Advantage Labs could demo building a module. They sort of seemed interested, so I upped the ante and said that I would do a demo on Building a Drupal Theme from Scratch. Everyone got very excited about it, so I couldn’t back out.
No one committed to doing a Drupal Module Building Demo. But since then I have read Pro Drupal Development, an amazing book for anyone that wants to contribute to Drupal or for anyone that wants to understand the code behind the application. I read this book in a week. I think it’s the first programming or technical book I have read from cover to cover. Anyway, my need for a Drupal Module Building Demo has diminished.
My experience in Drupal is fairly new (since March 2007), but I have done web development for about 3 years now. My first Drupal site was for my kickball team, the Kickle Monsters. I knew instantly that I would have to learn how to create themes in Drupal. Having worked with other open source, content management system, theming is always an integral part. So, with a little research through the Drupal documentation and an open source theme from the great resource, Open Source Web Design, I went at it.
I thought this process was a solid process to go through when theming - create/find a good XHTML/CSS template, then put in the variables necessary for Drupal. But I didn’t want to create a Powerpoint and bore everyone to death. It’s always a lot more fun to learn by example. Unfortunately, live technology demos always have a way of going wrong. There’s so many points of failure.
So, I laid out a simple, two-step plan:
- With the group, pick out a theme from Open Source Web Design. This will show off a great resource and impress everyone by using something that is dynamic.
- Having already set up a live Drupal site, make the theme from Step 1 into a Drupal theme, piece by piece.
I had some restrictions in mind. I did not want to go in depth to explain XHTML or CSS. I also did not want to have to go into any difficult PHP programming. Since the level of skills varied so much, I wanted it to be a lesson in theory and practice not programming
I’d say the hardest part was finding a laptop. I was hoping to have one by the time of the demo, but Dell is not very speedy. I ended up borrowing a MacBook from work. Unfortunately I do not have much experience with Mac OS X. But really all I needed was a browser, text-editor, and an FTP client.
On Wednesday 27 July 2007, and after an hour of demo, this is what we ended up with. It went smoothly, even with a high chance of things going wrong, and I think everyone got something out of it.
If you are interested in building your own themes in Drupal, there are some resources on the demo.