How We Wrote the Best-Selling Drupal Book
We’ve been fortunate over the last couple of years to have great success with our CMS books.
Drupal 7 Explained launched in May and over the last few months it has become the best-selling Drupal book.
That book was the follow-up to Joomla! Explained which has been the best-selling Joomla book for over 2 years now.
How did we do it? Workflows.
We’ve taught hundreds of live classes over the last few years and based on student feedback, workflows are by the fast most popular teaching tool we’ve used.
Here’s an introduction to how they help us teach and how they can help you too.
Using Workflows to Teach
Using workflows to guide people is nothing new.
A workflow can be a step-by-step guide, it can be a checklist or it can even be an acronym.
Back in school, you may have used acronyms to learn. Growing up in England we learned, “Richard of York Gave Battle in Vain” to remember the colors of the rainbow: Red, Orange, Yellow, Green, Blue, Indigo, Violet.”
My wife growing up in America learned math operations using “Please Excuse My Dear Aunt Sally” to help her remember Parenthesis, Exponents, Multiply, Divide, Add, Subtract.
No matter how smart we are, it helps if we learn to doing things in a certain order.
Workflows in every area of life
There’s a brilliant book called “The Checklist Manifesto” by Atul Gawande. In that book, Gawande explains that everyone from doctors to construction workers benefit from workflows to guide them.
Gawande is a doctor and he saw that even the best doctors forgot to do something as simple as washing their hands before an operation. World-famous surgeons were getting their patients sick because they forgot to use soap. So, Gawande created a five-point checklist that virtually eradicated infections in the intensive care units where it was used.
Why do so few aircraft pilots cause accidents? Because airlines provide them with detailed checklist for every situation. Whenever there’s a problem, pilots don’t have to panic. They just find the right checklist and follow the instructions. They’re almost guaranteed not to miss something important.
How do construction workers manage to choreograph the 10,000s of actions needed to build a skyscraper? With enormous workflows. Everything from the ground up as to be done in a certain order.
Using Workflows to teach CMSs
Originally we never used workflows to teach CMSs. We were pushed into the idea by our students.
Dreamweaver users were the ones who needed workflows the most. They are accustomed to doing everything visually. With Dreamweaver, what you see is what you get. Unfortunately with CMSs, things are more abstract and there’s not always direct relationship between what you do and what you see.
So, to help stop our students from getting lost in the process inside each CMS, we started creating workflows.
When we created our first workflows we didn’t even have images created for them. But, by the end of classe, students were begging us to send over a more formal copy of the workflows. It was the one thing that really helped them understand how to build CMS websites.
Our Joomla 1.5 teaching was based around a workflow called SCAM:
- Sections
- Categories
- Articles
- Menus
Our Joomla 2.5 teaching was based around a workflow called CASh:
- Categorize
- Add
- Show
With Drupal the need was even more obvious. You can build a Joomla or WordPress site with 4 or 5 steps. With Drupal there are many more steps involved. We found that people were often confused and asked questions like this:
- “I want to create a blog, so I start with Views, right?”
- “I want to re-design my homepage so I began with Panels. That’s what Panels is for.”
- “I’ve added 30 fields, but I haven’t created any content types yet. What am I doing wrong?”
With so many steps in the process, people were getting lost inside Drupal. A workflow was needed.
Here’s our Drupal Workflow
The image below shows the Drupal workflow that we rely on.
Unfortunately, our Drupal workflow didn’t create a memorable acronym such as SCAM or CASh, unless you can find a way to pronounce PICFTBVLM:
Why do we do things in this order? Because each step follows logically on from the next:
- You definitely shouldn’t start to build a site before doing any planning
- You can’t add fields before you’ve created a content type
- You can’t add content until you have the content types and fields
- You can’t see what your theme will look like until you have content
- You can’t place blocks accurately until you have a theme
- You can create views if you haven’t added any content
- You can’t use layout modules if you haven’t any fields, content or views available
- You can’t apply user permissions fully until all of your modules are installed
It’s important to realize that this workflow isn’t comprehensive and it’s not designed to be.
What we do with this workflow is provide an overall framework to help people Drupal and help them out when they’re feeling lost. This is the workflow that we use in every chapter of Drupal 7 Explained.
What about all the power and complexity of Drupal?
When we teach beginners, we make a very deliberate decision to not teach all of the power and complexity of Drupal.
We ignore nearly all settings and configuration options. We avoid important modules such as Rules and Token. We concentrate on the big picture, on the process, on the workflow.
If people learn to understand and enjoy Drupal, they’ll learn more about it’s power and complexity when they’re ready.
We teach Drupal according to a firm set of rules. When our students understand what’s in Drupal 7 Explained, then they’re ready to break those rules. The Dalai Lama has a great quote that sums this up:
Excellent article. As a how-to author and Drupal developer, I often ponder over the best approach for learning (or teaching) Drupal. I think it’s important to draw a distinction between workflows and checklists. A workflow is a general path toward a goal, while a checklist is a step-by-step breakdown of the journey. (recipe) Step-by-step checklists are great for reproducing the same result from exactly the same conditions every time. So, they’re great for tasks that never change, like flying a plane or treating an infection.
Checklists can be problematic for software like Drupal however, because the software is constantly being changed and updated. A checklist that works perfectly for the current version and installation of a Drupal website can fail miserably once a new version of core or certain modules are released, because the steps get “out of sync” and the user spends too much time figuring out which steps still apply. And checklists do very little to enhance a user’s general knowledge or understanding of how Drupal works on the inside. The checklist user becomes a procedural robot, rather than an insightful Drupal developer. I see this problem constantly when Googling solutions for a Drupal problem. Often, the checklist of instructions I find are already out of date and virtually useless for solving a current Drupal challenge.
I would recommend a hybrid approach of high level workflows mixed with a basic narrative of HOW a certain section of Drupal works and interacts with the rest of the system. For beginners, workflows are great for structuring the learning process, but once a user becomes an intermediate, a general understanding of HOW Drupal works becomes essential to the learning process.
Thanks zoonunit, that was one of the most useful comments I’ve seen in along time.
Yes, you’re right. There’s a clearer distinction to be drawn between checklist and workflows, than I did in my blog post. You nailed it in your comments … checklists are definitely simpler and provide less understanding.
For what it’s worth, we’ve got a few more smaller Drupal processes. For example, for installing modules and themes we use FITS:
Find
Install
Turn on
Set up
For Views, we tell people to focus on just 5 elements, DFFFS:
Display
Format
Fields
Filter
Sort