What's a Platform?
First, some terminology. If you're familiar with Linux distributions such as Red Hat and Ubuntu, you already have the basic idea there. A Drupal distribution contains Drupal core plus a pre-selected and configured collection of modules, typically aimed at a vertical market. Examples of Drupal distributions include OpenAtrium (news, site) and OpenPublish (news, site).
The concept of a platform is similar, but broader. Frank Febbraro of Phase 2 Technology (news, site) defines a Drupal-based platform as a repeatable, complete end-to-end solution that covers everyone who has to work with the finished product. He includes everything from Drupal distributions to massive custom sites and Drupal-based SaaS offerings under the platform umbrella.
The Keys to a Solid Platform
When building a platform, there are certain things you have to focus on:
- Efficiency: The platform should enable its users to do key tasks quickly without having to repeat themselves
- Standardization: The platform should conform to Drupal standards and best practices, along with either your own internal set (and document them) and/or those already in use by other Drupal platforms
- Scalability: Rather than referring to server load, Febbraro means that a platform has to be repeatable
- Extensibility: It should be easy to add features and functionality
One example Febbraro offered involved the rollout of House.gov for the U.S. House of Representatives. Rather than being one monolithic site, House.gov includes a collection of microsites created through Drupal install profiles, one for each of the 100 Representatives. It would have been costly and inefficient to code each one of these by hand, so Phase 2 created a platform that allowed the House of Representatives' small internal staff to create each new site themselves.
To create a Representative's microsite, once the staff got started, the 100 microsites were completed within just two weeks (and Febbraro points out that these are full sites, not just one-page deals). Through the platform, each site has access to the same pool of features in terms of pre-configured modules that can be turned on and off.
If you browse through, you'll notice that there's a lot of variety in how each microsite looks. Not only does each Representative's microsite have its own combination of features from the included modules, but they also offered a base starter theme and a collection of six sub-themes. To make theme customization easy, Phase 2 created the themes in a modular fashion. That way they could avoid ugly manual overrides that could cause other things to break.
Where external contractors handled the customization, the pool of pre-selected, pre-configured modules acted as both a set of standards that the contractors needed to adhere to, and a first round of security protection. There are other security features in place as well, of course, but it reduced the chance of someone bringing in an insecure module.
The beauty of seeing such ventures as platforms is that you can design them so that non-technical staff can create new sites on their own. With one theme of the conference being to empower and focus on the user, that seems apropos.