Drupal is one of the most common content management systems (CMS) on the web today. Well, they actually call it a content management “platform” and I guess that given the extensibility (>13,000 modules that can be added in), that’s an appropriate description. I’d wanted to get more familiar with it, at least from the standpoint of building a site, so in the summer of 2011, I set up a skeleton (very easy if your ISP supports PHP and MySQL) and had my son Jeff, home from college for the summer, help me with building a new site for Orange District, Boy Scouts of America. He set up some directory views for me as we both fumbled through the paradigm. Once you realize that you have content, and you have views (a module) that display that content, and other modules that are like “apps” for the environment, you begin to see the beauty and flexibility that’s inherent in the platform. I picked up a book, “Beginning Drupal 7”, from Amazon that was pretty helpful as we started out.
One thing that really drove home the data/display (view) design was work that Jeff and I did on setting up a calendar. He created a data type for events and a calendar view last summer, but it broke after an upgrade this fall. I found a calendar module I liked better (Fullcalendar) and set that up. I had it query the old event data type, and it worked like a champ. Also, used the ability to bring in a Google Calendar (the US Holidays calendar) so I didn’t have to set those up.
Drupal has all the features you’d expect. Granular permissions for managing content and the ability to extend the model. Distributed content creation. Effective indexing. Easy to patch/update. Diversity of themes to alter the appearance of a site, w/o changing the underlying content. It’s got a huge and dynamic developer community. I don’t know if I’ll ever do any coding on a module, but it’s nice to know I could if I wanted to.
I’m just scratching the surface in terms of what Drupal can do, but am very pleased with the look and feel and ability to present distributedly-generated content that this tool affords. If you are looking for a platform for a webstite, take a long look at Drupal.