Foreword
Todd Ross Nienkerk
Partner and co-founder, Four Kitchens
Austin, Texas
Giving a web designer Drupal is like handing a child an empty paper towel roll and telling them to go play. Some kids look at the tube, turn it over in their hands, and look at you with confusionor annoyanceas if to ask: What am I supposed to do with this ? But the creative kids see much more than an old piece of gluey cardboard. With a little imagination, they know that by simply peeking through it, the tube is transformed into a telescope. Suddenly, the playground is now a bustling harbor, and perched atop the slide, they are captaining the most feared pirate ship at William Howard Taft Elementary. Stick a handle through the middle, and its a rolling pin. Add a cone to one end and some fins to the other, and its a rocket.
Then theres the kid who uses it to roll up a hundred-foot-long sheet of perforated paper towels and sells it back to you at a premium because its artisan-crafted. That kid is a born marketer. Were not going to talk about him. Walk away.
Like the empty paper towel roll, Drupal can both confuse and delight. With more than 15,000 modules, it can be extended to do virtually anythingassuming you have the patience to figure out how. This is what makes the role of a Drupal designer so rare and uniqueso much so, in fact, that we dont call them designers. We call them themers. Some CMS communitiesWordPress, Joomla, or Expression Engine, for exampleoften separate designers from developers according to who does what with Photoshop files: designers make them, and developers chop them up into HTML, CSS, and code to create a functioning website.
Drupals theming system, however, is so robust thats developer speak for overly customizable, complicated, and obtusethat it requires a vast array of skills to master, partly because Drupal uses a lot of arrays. (Zing!) Drupal themers work with HTML, CSS, and PHP. They create and chop up Photoshop files. They are designers and site builders, both describing and implementing functionality using Drupals vast collection of modules, custom PHP, hooks, overrides, and all kinds of technical stuff youll come to know and love (or loathe).
Thats why this book is so important. Designing for Drupal requires knowledge of both design and code, colors and conditionals, people and processors. So if youre new to Drupal, welcome! Please ignore the gallows humor in the previous paragraph. Drupal is great! If youre already a Drupal pro and picked up this book to see how other folks do it, we should get together and do what Drupal experts do best: complain about Drupal.
All kidding aside, Drupal is an amazing platform built and supported by more than 17,000 talented designers and developers. It can power websites ranging from personal homepages and homeowners associations to television networks and international publications like The Economist. This book will do more than any other to ease Drupals learning curve. It will also introduce you to the Drupal community and its brilliant, opinionated, passionate, and funny themers.
So, read and explore. Be the creative kid on the playground. With a little practice, you can turn that cardboard tube into a microphone. Or megaphone. Or lightsaber. Or an improbably large toothpick.
And when youre done with your cardboard tube metaphor, please get involved in the Drupal community. Please dont squander that big, juicy brain of yours in isolation. Share your creativity and fresh ideas. We need you.
Introduction
If youre reading this book, youre probably a web designer who has heard of Drupal, wants to get started with it, and may have even tried it out a couple of times. And you might be frustrated because even if youre used to code, Drupal has thrown you a major learning curve that you hadnt expected. And just when you think youve gotten a basic site together, now you have to figure out how to make it look rightand the whole process starts over again.
Yep, Ive been there too. Thats why I wrote this book.
This book, which brings together the first three Drupal for Designers guides with some new material, a more logical flow, and better grammar, is for the solo site builder or small team thats itching to do interesting things with Drupal but needs a bit of help understanding how to set up a successful Drupal project. Its for the designer who knows HTML and CSS, and is willing to learn a bit of PHP, but doesnt want to have to learn how to speak developer in order to parse Drupal documentation. Most importantly, this book is for those who want to use Drupal to make their vision a reality, but need help working their minds around the way Drupal handles design challenges.
What I present here are not recipes for specific use cases; although recipes can be useful, experience has shown theres rarely just one way to accomplish an objective in Drupal. Rather, what Im offering is context: a way to understand what Drupal is and how it works so that you can get over the hump and start figuring things out on your own. Over the course of this book, Ill help you understand:
How to uncover the information you need to successfully plan a Drupal project (in )
How to bring solid UX principles to your team, and what types of deliverables work best with Drupal implementations (in )
What types of design documents can help you make your vision a reality, and how to use them (in )
How to set up a local development environment, and work with command-line tools such as Drush and Git to make site building easier (in )
A few tips and tricks for prototyping solutions in Drupal (in )
How to break down your design layouts, select a base theme, and manage the code that Drupal is giving you (in )
Options for estimating projects and dealing with tough client situations, and some sample client-facing documents to get you started (in Parts )
A Caveat
Although this book offers plenty in the way of real-world examples, advice on how to get things done, and other important issues for Drupal designers, its goal isnt to teach specific project management, design, or site building techniques. Every Drupal designer and site builder has his or her own approach to creating projects, and its hard to pin down one right way to create in Drupal. The key to appropriate planning and design, in my experience, is:
Knowing what you have to create
This is where the site planning and discovery process, discussed in , is especially useful.
Knowing what youll need to do in order to get the job done
This will vary depending on the project, but Parts will offer some interesting factors to consider.
Knowing how to walk clients through the process
In , I share some of my experience from years of working with clients, including proposing and estimating projects, handling difficult conversations, and creating effective documentation.
Developing systems that make it easier to start, implement, and hand off Drupal projects
Youll find a host of ideas throughout this book that will help you do just that.
In the last section, I share some examples of the client documentation Ive developed over six years of running a design studio and estimating Drupal projects. Feel free to use the documentation in that section as a basis for your own project documents.