Keeping it simple with installation profiles

Here's an interesting quote by Tim Millwood in his article on Is Drupal too general?:

Drupal offers all the features needed but many of them need installing via contrib modules. Community Server seems to offer all of the features out of the box because like Moodle and Wordpress it is build for a specific purpose.

Actually Drupal offers something that does exactly that: installation profiles. Installation profiles provide a set of modules and settings that do all the configuration for you. Taking the example of a basic event site, you would probably need the following modules: event, views, event_views, rsvp and signup. If you want to sell tickets for these events we'll need to add signup_pay, ubercart or the ecommerce/signup_ecommerce combo. An experienced Drupal user might find his way to all these modules and figure out how to configure them to work together, but for a novice Drupal user or someone who's searching through different software packages, this is far from obvious. If there was such a thing as an Event Installation Profile, everything would be installed and configured for you and you'd be ready to add your events and sell tickets for them. Another good example of what is possible with installation profiles is the Hebrew Installation Profile. It pre-installs the Herbrew language pack, a Right-To-Left version of the Garland theme and adds RTL css files.

After Mir Nazim and myself pointed this out, Tim replied:

[Non-developer or novice developers] would just like to install the software and get blogging or get selling, so maybe if these install profiles were more high profile the drupal userbase would grow more than it is?

I completely agree with Tim that installation profiles deserve more attention. Do note there's a huge effort to push more installation profiles into core. An expert profile has already been committed to Drupal 7!

Downloading installation profiles

Go to drupal.org and try to find the list of installation profiles, go ahead. I expected to find them as a category in the modules list, but that isn't the case. Modules, themes, translations and of course Drupal core get a place on the front page but this is not the case for installation profiles. Seeing that we can reach out to new markets, I really think we should make installation profiles first-class objects of the Drupal class and link to them from the front page.

Documentation

There's good documentation for developers on how to write an installation profile and there are currently two modules that help generate them but there's no documentation on how to install them. I'm working on a brief guide myself now so please correct me if there does exist end-user document, I tried hard but didn't find any.

Terminology

Installation profiles get called by quite a few names. The drupal.org download page refers to them as Installation profiles, the official Drupal Groups is called Distribution profiles and the documentation for developers can be found in the Install profile developer's guide. I really like Boris' suggestion of differentiating between packages and distributions but I think that might confuse Joe Average. Try telling him the difference between modules, packages and distributions. Perhaps packages should show up in the modules list just like regular modules. Whatever we come up with, we should pick a name and stick to it.

Conclusion

Installation profiles were introduced in Drupal 5. I feel there's still a lot of untapped potential and getting them in core is a great step in putting them where they belong. In his article on Drupal distributions Dries says "I hope it all works out". Let's all make sure it does.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.