Emma gave out over 300 copies of her new eBook: Theming Drupal: A first timer’s guide, as a way of saying Happy April Fools day. So since you can still purchase the book for a very low price, I thought I would review it as a thank you note for my free copy.
Not only is this “Drupal theming the missing starter tutorial”, as characteristic of Emma, this 29-page book is geared towards a specific learning curve for a specific kind of audience (“Whether you want to build and sell your own designs, or you’re a newly hired designer at a Drupal Web development shop”). It even assures you get a brush up on web design and web designing software in general before diving into Designing for Drupal. The goals (p. 4) speak volumes:
- Build designs optimized for transformation to Drupal themes using common design software.
- Convert Photoshop files into basic Web templates using a text editor.
- Create and apply a new Drupal theme to a Web site using a text editor and simple Web tools such as FTP.
- Evaluate common base themes and know when to choose between several popular base themes.
- Create a new Drupal theme by extending a base theme.
- Develop common template files (tpl.php) necessary to theme pages and nodes using a text editor.
The first insight is into how “Drupal has several puzzle pieces that fit together to form a single page”, that is, how to migrate from the static HTML page to the dynamic output of a CMS such as Drupal. The differences between a designer’s way of doing things to create a static HTML page and a Drupal theme are nailed early in this workbook.
Then, as a practical step forward, you are taught to make a theme from scratch and test it out on a Drupal installation. Then Menu Navigation is added in. And there is a part on conditional output using simple PHP statements in combination with the PHP variables the reader is already familiar with. For example, what do you do if the left sidebar is empty?
Having Created a Drupal theme from scratch the reader must feel she has absorbed quite a bit of material and has understood the basics of Drupal theming. The next big step is to adopt a base theme (which provide documentation and have laid reusable groundwork) and stand on the shoulders of giants. A lot of base themes are listed and evaluated on p. 13 (my own current favorite, http://drupal.org/project/fusion , is not on the list, but a good amount of detail is devoted to the excellent zen base theme, and ninesixty is given an honorable mention).
At this point the reader is taken up a notch to the realm of template files (those responsible for each of the parts and layers of Drupal’s final page output). By altering a file in the theme’s folder called node.tpl.php, for example, you find you can master what is output in the content area of the page. There is a lot of detail provided here, and then the reader is taken to the next step: the deconstruction of the $node object itself (the content item) as an alternative to adorning the served up HTML found in the $content variable.
Other template files (for blocks, books, the search form, etc.) are not delved into, but listed. But there is a whole section on theming and customizing blocks.
Interestingly, the book avoids the common pitfall of limiting itself to knowledge; in the fifth section it shows you how to get yourself on the map as a Drupal themer, someone who can sell themes and contribute themes to the Drupal Community.
There is a very useful appendix on designing with grids and a mysterious node-workshop.tpl.php appendix, which will be useful in conjunction with the Design to Theme in Five (five-week workshop) the workbook was written for. See http://www.designtotheme.com/workshops/design-theme-five.
Does the book achieve the six goals stated earlier? I would say that yes, it certainly breaks the ice, shows you what you are up against, and gives you a fabulous jump start towards those goals. I would imagine it (and probably the workshop itself) as essential ways for an industry designer to quickly get up to speed as a Drupal themer, a role for which there is a huge and growing demand.
In a future rewrite of this very useful workbook, it would be really cool to add in a little intro to Views theming and templating. Even a gentle shove in that direction would round out the picture quite a bit for someone gearing up to break into the Drupal design world.
One final, and personal note: Like Emma, who co-authored “Front End Drupal” (published by Prentice Hall http://www.amazon.com/Front-End-Drupal-Designing-Scripting/dp/0137136692), I also have a published book under my belt (“Leveraging Drupal”, published by Wiley http://www.amazon.com/Leveraging-Drupal-Getting-Right-Programmer/dp/0470410876/ref=pd_sim_b_11). And while the experience was great and I am so glad I made that effort, the reason I will never do that again (unless things change in the publishing industry) is that the long workflow cycle of about 9 months makes the book associated with the ISBN number obsolete by the time it is printed, with no way to update it as time goes on. So I was toying around with the idea of publishing a number of materials on my site, some free, some with a modest price attached to them, and then I saw that this book was indeed a completely self-published effort! From the top of page 2:
“Theming Drupal: A First Timer’s Guide
© 2010 by Emma Jane Hogbin
(address details) …
Creative Commons: Attribution-Noncommercial-No Derivative Works 2.5 Canada
That’s what I am going to do. I am going to write a book very soon using this same method (watch out for “Drupal Process with Project Flow and Tracker” by Victor Kane on this very same Bat Channel, or maybe first “Self Publish with Open Office and Drupal” as a way of setting up a site to publicize, pre-publish and sell a fully-fledged book yourself, using open source tools and licenses.