Working with Drupal

I’m doing my MBA internship here in Infosys in Bangalore, India and my 2-month project here involved architecting and building a throw-away prototype of a system to be developed in the future. I was tempted to develop it from scratch using some PHP framework (like CakePHP or CodeIgniter) but I decided to create it with Drupal, after sifting through several resources and reviews. I took some time to evaluate if Drupal could create what I wanted to achieve based on requirements documents and while I wasn’t yet 100% sure of the fit, I went ahead with Drupal in the interest of saving time. (Yes, I have a tight deadline).

So far, I’ve been living off modules developed by the Drupal community for version 6 and I would say that 60% fo the functionality I need is already out there, with minimal customization. My strategy so far has been “DBA”– Don’t Build Anything— meaning I’m trying to avoid writing code and always look for some module that approximates what I need. This is the really the first time I appreciated the open source community effort for its effect on my actual work. (I’m not counting the WordPress community becuase I’ve used it primarily for personal purposes.) I also saw this class site from the Univesity of Michigan on Drupal that is extremely helpful– with slides and screencasts to boot!

I’m also at that point that I’ve exhausted the available modules out there and I may start to hack and write code for a Drupal module. My issues really stem from altering the workflow of the base package by adding layers and layers of moderation and review. (I absolutely welcome any suggestion in going about writing a workflow module.) My only nitpick about Drupal is its rather unique user interface– too unique that it takes a lot of getting used to and for some reason, my installation in my test server is terribly sluggish.

I personally am optimistic that I’ll achieve 100% of the funtionality that I need and if there’s anyone out there who can give nice resources for Drupal, I’d be very thankful. 🙂