Why Geeks Love Drupal

After spending several years as a Drupaller, I just realise today why geeks love Drupal than other CMS.

The answer is very simple. Drupal is Linux!

Disclaimer: This is just-for-fun comparison. #1 User

Drupal user system is exactly Unix user system. "Role" in Drupal is "group" in Unix. Don't forget that Drupal's "permission" is definitely ACL.

#2 Path

Each page in Drupal has "path" associated with. Especially in the Admin interface, all the links are ordered in hierarchy. This resembles Unix path.

Don't you think that:

/admin/build/modules/

is similar to

/usr/share/lib/

Now you see the Browser's URL Bar is your prompt in 21st century. Want to go to specific page in deep directory? Don't click, just type.

#3 Modules

Standard Drupal Core is just like standard Ubuntu CD ISO. It has standard functions but in real life, you need more functionalities from Contributed modules, download separately as same as Debian package.

(Sorry no APT yet in Drupal world)

#4 Themes

Drupal theme uses theme-engine approach. It's the same at GNOME front. PHPTemplate is an equivalence to GTK+ Murrine or Clearlooks. Engine comes first, then decorations.

What we need now is a better default theme for Drupal, like Ubuntu's Human theme.

#5 Translations

Do I need to mention that Drupal uses .po files for translation and localization, as same as other open source software?

#6 Distribution

Drupal.org's Drupal equals to Fedora. Acquia Drupal is RHEL.

Also, Acquia Network is RHN.

In fact, Acquia follows Red Hat's business model. And there is no CentOS yet.

#7 Update Status

Don't you think it is similar to Ubutu Update Manager? Same level of annoying :P

(As #3, no automatic updating method like APT yet)

#8 Logging

In /admin/reports section, you can find anything a sysadmin can think about: DBlog, syslog, and "Top 'access denied' errors"

#9 Configuration

Some might think they are the root of Drupal's high learning curve. But fine-grained configurations in every /admin/ section remind me text-based .conf file in Unix/Linux. Yes, they are difficult and overwhelming but they give you almost-full control of the system.

#10 Programming aspect

If you have ever tried to write a rule for Pathauto module, it feels like writing a regular expression or shell script.

If you have ever created a content type using CCK, it's database design.

Also, Views module is the same 'View' in MVC approach. (Read: Drupal as MVC Framework, in Thai)

So What's Next?

This is just-for-fun comparison. Anyway, what I want from Drupal, explain by Linux way of speaking, is:

  • HIG - Do any one remember how much GNOME improved in term of usability, after getting HIG from Sun between GNOME 2.0-2.6 era? (Read: Drupal Needs HIG)
  • Word processor - or built-in good WYSIWYG editor. The current TinyMCE or FCKeditor are only comparable to OpenOffice.org Writer. We need Word 2007 in Drupal World!!!
Keyword
Submitted byeverysummeron Thu, 12/11/2008 - 09:11

You don't imply that anyone who loves drupal is geek, do you?
By the way, I heart drupal. :)

Thanks for this great article, I really appreciated the path = command line comparison. I just wanted to add that there actually is an APT tool for Drupal: Drush.

"Drush is a command line shell and Unix scripting interface for Drupal". For instance it allows you to download Drupal modules from the command line!

By the way, I highly recommend you to turn off the Full HTML filter since you are susceptible to cross site scripting. I tried a very simple example and it passed: http://ha.ckers.org/xss.html. You don't give root access to everyone on your linux system, right?