Installation Profile - a Drupal Multisite Secret Weapon
We have written at length in other articles about Drupal multisite installations and their benefits. We have never however discussed in detail the installation profiles and how their power allows for massive time saving when launching new websites within a multisite. In this article, I will explain what an installation profile is and how it fits into a multisite system on Drupal.
What is a Drupal installation profile
An installation profile in Drupal is a collection of modules and configurations and perhaps a theme, which after installation brings additional features to the user. Typically the new features will bring a set of functionalities for a particular cause (eg. an e-commerce or event management). In fact, each Drupal website is installed via an installation profile
Out of the box, Drupal comes with 3 installation profiles:
- Minimal - nothing is installed or configured. Just the core required modules are enabled. The developer has to set everything up by himself.
- Standard - the most commonly used modules are installed and some configuration is created. This is the profile which most sites built on Drupal are based on.
- Umami - a demo Drupal website created to show what Drupal can do. Installing Umami you get a full-fledged recipe website built and themed on Drupal with default content which presents Drupal’s main features.
Drupal community created multiple additional installation profiles and published them to be used by others. Such published installation profiles are called Drupal distributions. There are many popular ones available on drupal.org.
Especially interesting can be:
- Open Social - a profile which allows users to quickly set up a community website or an intranet
- Thunder - an installation for publishing and media companies which helps spin up a news website quicker
- Droopler - created by our agency, it allows companies to build company websites quicker and set up e-commerce on Drupal much faster
To sum up, an installation profile is used to package up functionality, theme and configuration to be able to install another website with the use of it and not have to configure it again.
If you are building a multisite with the aim of launching many websites with similar features, the installation profile is a great way for you to cut the time needed to launch new websites, control which website can do what and - which I wrote in the previous article about - to reduce the technological debt in an organisation.
How installation profiles help in a multisite
If your aim is to create many similar websites on a multisite:
- a website for each country for a global brand,
- a website for each brand in your portfolio,
- a website for each company from your group,
you can leverage installation profiles to help you do it much much faster.
When you are building the first website you can build it as an installation profile. You will then be able to start subsequent websites reusing what you created while working on the first website.
Building an installation profile takes more time but it pays back
It has to be said that creating an installation profile typically takes more time than building a single website.
- The configuration has to be exported and pleased in the profile
- Modules have to be enabled via the profile
- Additional settings and overrides have to be added that would not be needed in a single website
- If you will build multiple websites, you might have to orchestrate a bit setting up config splits, overrides, etc.
- Additional tests and debugging have to be done to make sure that the install profile installs what is required
As a rule of thumb, using our experience from being a Drupal agency, I would say that building an installation profile takes from 20% to 40% more time than building one website.
The investment, however, pays back big time when you need to launch the second and subsequent websites. The configuration is already esports and all settings are available.
You can simply install the profile and you can be a long way ahead with just content entry left. If you have to build more than 4 similar websites, the benefits of using a multisite will be massive.
An installation profile can include dummy content
Apart from settings, features and such, an installation profile can include default content. This is a great feature which can help editors get about launching a new website much faster.
The default content helps in a few ways:
- It is much easier for an Editor to add content to a website which shows what is possible - the homepage is already there just need adjusting, the menus, blocks or footer links to social profiles are already added and may just need altering. There is no need however for the Editor to read a big manual to think how to assemble a good looking website from all the available components.
- Some standard content like privacy policy links to social media profiles, etc. can just be there after the installation.
Installation profiles allow for inheritance
Installation profiles in Drupal just like themes can be inherited. You can create a basic profile and based on its multiple child profiles. This is very helpful if you want to share some of the functionality but there are differences in various websites (eg. some include commerce and some do not).
Summary
Overall, installation profiles are a really great feature in Drupal which allows for packaging functionality to be reused and deployed as part of installing a new website. They help a lot in reducing the time and cost of launching multiple similar websites. They require a bit more planning and testing initially but with the right partner experienced in building Drupal multisite installations, the benefits of the investment can be obtained already on website number two or three.