Home / How to learn Drupal

How to learn Drupal

Though it's not always a linear process, hopefully with training, we can make the learning process a bit smoother for you, by connecting you to development expertise.

Especially for those who are new to it, learning Drupal is also a series of evaluations. Does Drupal have the right features? Does it integrate with our existing services? Most of this is discovered through site building. I drafted the minimum steps and evaluations in a "How to learn Drupal" guide posted on the course at P2PU. It's not a linear process, but there is an order you can follow which can hopefully make it easier. Main message: do coding at the very end. Think of Drupal as a series of building blocks.

drupal lego

There was a question recently on the LinkedIn Drupal group which sparked this. A poster asked: "W'ts my next step in Drupal?". What should I do next? Some people advised the poster to buy the (quite awesome) Pro Drupal Development book. My response was: It's essential to master sitebuilding first, and tackle coding later. Drupal's API, while fundamental, is not a good starting point for Drupal developers, especially those who are experienced coders from other systems. At Acquia we constantly run into problems on client sites where programmers undermine the existing functionality in Drupal, and cause numerous problems for themselves and their team. It's not a framework- it's a unique tool.

Site building skills are the starting point, as well as the bulk of most Drupal work. And then, move onto custom coding when all avenues have been exhausted. And even when you do code, look for others to collaborate with and reduce duplication of effort in the community.

What is site building?

View video: What is site building?

It's assembling a site from the range of existing modules, and finding out what Drupal can and can't do. By the way, I'm duty-bound to plug this: Acquia's Training Partners are available for Drupal Site Building Training. We have dates in London, LA, New York, DC and Canada with more coming soon. Through site building, you *will* find the edges of what is feasible in Drupal. I remember discovering that there were some queries which were actually just not possible in MySQL. I also discovered that, against my belief, there were somethings I wanted to do, which no one had attempted before... and with good reason.

Though it's not always a linear process, hopefully with training, we can make the learning process a bit smoother for you, by connecting you to development expertise.

I asked Susan Rust of Achieve Internet if I could share her 20 step process which she had posted on that LinkedIn thread... it made me chuckle.

Dear Beginner Drupalist by Susan Rust

  1. Buy and then forget to read Pro Drupal Development
  2. Do a simple install and add views and cck
  3. Build a small website and start blogging
  4. Play with the setting, roles, permissions, users
  5. Break your new website, start over
  6. Read blogs about the top 40 modules, get inspired, install them all
  7. Break your new website, start over
  8. Take some Advil, think about reading Pro Drupal Development
  9. Fall asleep while watching online Drupal tutorials
  10. Try your new-found osmosis knowledge
  11. Break your ##@%$ website, start over
  12. Ponder the wisdom of your new career path
  13. Build a Wordpress site for comfort and old times sake
  14. Take some more Advil, start meditating to reduce your blood pressure
  15. Build a free Drupal sites for some cash-poor non profits
  16. Get trial-by-fire experience
  17. Successfully launch your first site
  18. Fall in love with Drupal
  19. Be active in the Drupal Community
  20. Help new people get started

But please do check out the steps I outlined in the "How to learn Drupal" guide and save some of the trial-by-fire parts :)

What would you say to a new Drupallist?

Photo credits: Attribution Some rights reserved by dlofink

Comments

Posted on by yoroy (not verified).

I would say: "A menu is a kind of block" :)

Posted on by mlangfeld (not verified).

Hi Heather,

Great article, and I love Susan's list!

Two great basic learning Drupal books IMHO are "Using Drupal" and "Front End Drupal".

So much depends on your prior experience. If you're already experienced in HTML, CSS, php and Javascript, you might jump ahead more quickly than someone with fewer skills.

If you've never built a site or only a Wordpress blog, the two books I mention are good introductions to both the front and back end skills you'll need. Then I'd send you to DrupalGardens, for a simple introduction to Drupal (DAAS or Drupal as a Service). No need to install it yourself, simple profiles there for you (like campaign, product, blog, etc.) with click/choices of functionality you'd like to use. ThemeBuilder so you can create a simple design with little or no CSS experience. Great forums with very helpful moderators. What could be easier!

And if you really catch the Drupal bug, move on to local development, installing modules (where and how), etc. Check out Drupal Dojo, the many resources on drupal.org (especially when the redesign is launched and it's easier to find what you need). Join a local Drupal meetup if you're lucky enough to have one nearby, or check #drupal on Twitter to learn who you want to follow in the Drupal community, and you're off and running!

Best, Marilyn

Posted on by mixel (not verified).

Hi Heather,

The metaphor and the list are indeed fun. Funny introductions are important to get new people/students involved. I would hope that more fun can make step "18" be pushed up as much as possible.

Cheers,
Mixel

p.s. we had 4 sessions about training in two days during DrupalCXO. I've made my own personal refection about the discussion here http://www.mixel.be/node/88

Posted on by Michael Taylor.

In the last 2 years I have been involved with Drupal I have gone from a Drupal novice to a knowledgeable developer. Far from a ninja, I have developed what most of us have which is an intuition for all of the basic things needed to create a Drupal website; Basic setup, a blog, the basics of using a theme, adding a few basic modules, and a really well stocked candy jar!
There are additional skills I came with (Some PHP, Basic CSS, and command line experience (not really needed but helpful down the road)). I really found that the best resources for learning Drupal were videos by all of the above mentioned sources, plus http://www.learnbythedrop.com , and http://lullabot.com. When it came to getting the junior developer in our company started, we gave him Drupal for Dummies (Yes I know your all shuddering) but it really gave him the basics and he got a basic site up and running in short order.
As Heather mentioned above, it is not a linear process. I have many times found my self jumping forwards, backwards and doing somersaults! But if you explore all of the paths your site takes you on and not shy away from trying something different, you might surprise yourself and create something unexpected.
Remember don't be afraid to ask questions. Drupal.org offers an amazing source of information and a wonderful community in which to tap into with questions (Also check out the Drupal IRC channels).

Posted on by highermath (not verified).

The two best ways to become a Drupalista:

1) Teach it.

2) Answer questions (correctly) in the #drupal-support IRC channel.

This is really the condensed version of Susan Rust's suggestions.

Posted on by highermath (not verified).

The two best ways to become a Drupalista:

1) Teach it.

2) Answer questions (correctly) in the #drupal-support IRC channel.

This is really the condensed version of Susan Rust's suggestions.

Posted on by shawn lee (not verified).

Hello i am shawn lee.Thanks for sharing this wonderful and interesting topic.This Drupal tutorial is easy, yet it can come very handy and useful sometimes. For one website, I needed to make one part on the frontpage to display teaser of random article, and refreshes itself every 24 hours. Easy, I thought, I could use block_cache module and that's all. The thing is, I am not using this block on sidebars, I need to display it on the frontpage, and on the specific part of the page... That means I need to display block from the template directly.

Thanks
john lee