The Drupal State of Mind

Today I was on Twitter and saw quite a number of people complaining about Drupal. It seemed strange that people would be so upset about a system so powerful, that's free and can do just about anything you can imagine a web site doing. But it got me to thinking about the barrier I had and others have before really getting into the Drupal state of mind.

Other systems out there have really specific modules, add-ons, 'plug ins', whatever you want to call them. Drupal, has some of these, but they are often frowned upon by the die-hard Drupal developers, they tend not to be well maintained, and eventually they fall by the way-side.

There is actually very good reason for this. Large pieces of code that serve only only one specific purpose, are only exactly what they are designed to be, so they're only useful to a few people. But there's a better way, a more flexible way.. the Drupal way.

Take the two powerhouse modules in Drupal, CCK and Views. They don't really do anything. Drupal newcomers don't hear the sound of angels singing when they first read about these modules. At least most don't. Before coming to Drupal I had done a fair amount of hand coding MySQL queries and structuring databases, so CCK and Views were a dream come true. But that's not the case for most.

So what about some of the other first rate Drupal modules? Node queue? Flag? How about Panels or Webform?

The descriptions of these modules don't fit to what anyone actually wants to do with their web site. The reason is that the Drupal state of mind uses abstract ideas, joined together, to make the final result. A perfect example is the Flag module. Some might ask for a module that is for flagging offensive content. But what's the difference between flagging offensive content, marking as read, saving for later and assigning to front page? well, nothing really, except what you do with it. That's what all these modules do. Take a basic idea, make it fairly abstract, and then allow you to give it the description it needs for a given application.

So here's a little secret to being a successful Drupal Developer. You're going to have to get creative. If you're building an Intranet, don't look for Intranet modules. If you're building a wiki, don't look for wiki modules. If you're copying Digg, well, there is a module, but it's probably not the way to go. You'll have to gather your tools, and think about the ways they fit together. Most requirements are just the same requirements as another site, with different labels on it, looking just a little different.

So remember. CCK, Views, Flag, Nodequeue.. throw in Panels and some nice Theming. Set your permissions.. create some content types.. Before long your site will be looking and acting exactly like you want it, in a brand new way, even if your site is unlike any site that's ever been made before.

The power is in the flexibility, so if you don't see it at first, look a little deeper, think a little harder, and get in the Drupal state of mind. Before you know it, you'll love Drupal just as much as I do.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options