Doesn’t the thought of a pre-packaged meal-kit sound appealing to you? It can turn an ‘I-hate- to-cook’ person into a seasoned chef within no time. Hey, did you know Amazon is soon going to start selling pre-packaged meal-kits? No, I’m not trying to promote amazon here, or their meal- kits. Just trying to throw in an analogy to Drupal installation profiles. Like a pre-packaged meal-kit, a Drupal installation profile is a pre-packaged goody bag that lets you get up and running in a jiffy. Drupal developers can personalize a Drupal installation to have some extra stuff like libraries, themes, user roles, standard toolkits, etc. all packaged together into an installation profile. You can basically pre-define your configuration in one download.
The terms Drupal distributions and Installation profiles are often used interchangeably these days but there is a difference. Drupal distributions are more complex installation profiles that can contain Drupal core, some modules, libraries, themes and of course – installation profiles.
Some History of Drupal Distributions and Installation Profiles
A Drupal distribution focusses on a certain business and adds features specific to them into one installation so it takes lesser time to configure the most certain elements of a Drupal website. For example, if you’re looking to build Drupal websites for hospital management, your Drupal developers can pre-configure modules for patient registrations, investigations, pharmacy management etc. and also configure roles for admins, doctors, patients, nurses, etc. So now when you want to deploy the same or similar Drupal solution for a different hospital, the work is much lesser and can be done faster.
The first Drupal distribution was built way back in Drupal 4 that was called CivicSpace. A distribution meant for online campaign management and grassroots activism which was originally built for Howard Dean, a United States presidential candidate in 2004. The development team later worked on it, enhanced it and ‘distributed’ the packaged bundle of joy (read code).
After Drupal 6, Drupal.org released tools to build Drupal distribution packages, a number of distributions emerged like Acquia Drupal, OpenAtrium, Drupal Commons, OpenPublish, PressFlow, etc. Drupal 7 saw the introduction of installation profiles that could smoothly assemble a distribution and was less complex than a distribution. Distributions like Commerce Kickstart, eRecruiter, Omega, GrandFoo, etc. were built with Drupal 7. In Drupal 8, installation profiles act like modules wherein they can have access to hooks and plugins, declare page callbacks, declare blocks, etc.
Why is it great to have Drupal Installation profiles and Drupal distributions?
- Saves you time and resources – When you have everything planned and packaged in an installation profile, you don’t have to spend time in configuring the frequently used elements individually.
- Lost a developer? Hand it off easily – Your newly hired Drupal developer will be well equipped with the latest version of your Drupal installation and all the other good stuff.
- Reuse. Reduce. Recycle – Don’t go over inventing the wheel with every installation. Use an Installation profile.
- Breakdowns? No problem – You can easily go back from where you made the change.
- Sharing is good – When you have multiple developers working on a large website, they can easily share code, configurations and rebuilds within themselves.