Drupal, Open Outreach and Debut Features: How does it all fit together?

You may be wondering how the various projects we're working on at Chocolate Lily all fit together.  All the names floating around can seem really confusing--sometimes I feel that way myself.  So here's a quick overview of how it all fits together.

Drupal is an open source content management system (CMS) that allows you to build a website.  Open source means that not only is the software free in the monetary sense, but also that the code on which it is based is openly available.  Developers freely contribute their source code, and that can be worked on by other people in a community process. A content management system means that the website is built using a database. Drupal is only one of many CMSs but it is hugely popular with over 900,000 registered users on drupal.org.

A Drupal site is built out using the core Drupal download and then adding a series on contributed modules, which are essentially plug-ins that add functionality.  There is also a huge range of contributed “themes”, that allow you to change the look and feel of your site.  When a user first installs Drupal, the install requires a significant amount of configuration to get even a very basic site up and running.  This is true by design, so that Drupal sites can be uniquely customized.  That said, it means that creating a Drupal site requires a lot of start up-work that is replicated over and over by end users.  And that is where the concept of Drupal distributions come in.

A Drupal distribution is basically a pre-packaged install of Drupal that enables a much more, “out-of-the-box” experience for the user.  It means that the contributed modules required are pre-selected and that configuration that needs to be done to make these modules ready to use has also been taken care of.  A number of Drupal distributions have been developed, such as Open Atrium and Open Publish, and for many in the Drupal community the idea is taking off.

Our goal is to produce a distribution developed for the NGO and grassroots sector, and that distribution is called Open Outreach.  It will contain the functionality required by most groups and means that setting up a Drupal site becomes much more within reach, either done by your own technical staff or taken on by a Drupal contractor but able to be done for a more modest budget as much of the initial configuration is already taken care of.  Open Outreach is a work in process.  Our work  includes developing a suite of “features” that each take care of one layer of functionality.

Features in Drupal are built using the Features module and basically allow you to build and then capture an area of functionality. For example, in building a Drupal site, one of the first steps is to create “content types”--types of information that will form pages on the site. An example of a content type is an event, which might have a title, a date, and a location.

To save the work of configuring an event content type separately for each site, a feature can include a specific content type and a particular way that content is displayed.  We are using this functionality to build a set of baseline features that is called  Debut.  Each feature takes care of one task and can be viewed as the building blocks for Open Outreach (which will also contain other items that can be likened to the mortar).  Debut Features can be used on their own, to take care of one area of functionality, but are also designed to work seamlessly together. We have currently built out seven Debut Features, and there are more in the works.

What does this mean for an end user?  Well, it means that right now, anyone using Drupal could start to use the Debut Feature set, or any part of it and gain a leg up in time spent configuring.  It means that when we take on client work building out a site we’ll base it on the Debut Features and a prototype of Open Outreach. We’re encouraging other Drupal shops to use and contribute to Debut. And because that work is work we’re doing to get it out to the NGO sector in general, it means that you’re not paying for that initial development; it’s being offered up to you as part of the advantage of open source.