Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

(Apologies in advance for the vague and miasmic question)

Is there a book, or other resource, there that can explain using Drupal, The System, to a web app oriented programmer?

I've read through the Apress Pro Drupal Development book and it was a fantastic overview of the system's architecture. That's not what I'm looking for here.

Instead I want something that's going to tell/show me "Here is how people use Drupal to manage their sites and build applications". I've been building websites and web applications since the beginning, and whenever I sit down to spend some time with Drupal I find I can't leave behind my concepts of

  1. A URL equal one HTML page, and everything flows from there

  2. A URL equals a controller action, and everything flows from there

and Drupal seems to be built on an entirerly different model.

So any books, tutorials, or explanations that start from the above two points and explain how Drupal is different, and what Drupal developers spend their days doing would be fantastic.

share|improve this question

closed as off-topic by MichaelT, jwenting, Bart van Ingen Schenau, Kilian Foth, amon May 7 '14 at 10:47

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Community, jwenting, Bart van Ingen Schenau, Kilian Foth, amon
If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 3 down vote accepted

Maybe have a look at "Using Drupal" from O'Reilly Press. It seems to be more use-case driven than Pro Drupal Development, so it might give you a better view of how problem 'x' is solved in Drupal rather than solve as a stand alone page/app.

share|improve this answer

There are some parallels (more or less) with MVC Frameworks.

Django have signals, which work a little like Drupal hooks. They are callbacks which get registered so you can override things in another module without ever hacking the source code of that module. This is the main pattern you'll deal with when writing modules.

It's all the other crap (views, configuration stored in the database wtf) that will seem unfamiliar and annoying.

In MVC terms: CCK is like the model, Views is like the controller and template mashed into one big click-able thing. Nodes are like the objects of the model. Menu hooks are for routing. Some of this you can store and define in your modules. You can export a view and use it in your own module. You can't do this with every module. Views isn't in core Drupal by the way, but 95% sites use it. There are modules like features module which can package up configuration into a module.

It's pretty much a configuration over coding approach. You don't start things from scratch, you install a module and use hooks or templates to override certain parts if that flexibility isn't available on that modules admin pages.

If you have content driven sites, it isn't bad. But for applications I would use a real framework. You can do a lot with it, but keep in mind it's designed as a click-friendly application rather th Have a read of this:

share|improve this answer
Thanks for the perspective Keyo, but I think you and I are in similar boats. I understand how Drupal has been implemented, but it still seems foreign to me. However, it's clearly found a popular niche with a certain kind of web developer. What I'm trying to do i understand their perspective; What's the mental model that makes Drupal such a popular solution, how does a Drupal developer think. – Alan Storm Jan 20 '11 at 23:09
+1: for "It's pretty much a configuration over coding approach" sums Drupal up pretty well. As a programmer I find it aggravating to work with, but at the same time I re-did a site I had built with drupal in Yii and you do realize Drupal gives you a lot out of the box. – User Nov 11 '12 at 10:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.