More details about distributions

Setting up a Drupal site typically involves downloading and configuring Drupal core, then downloading and configuring various contributed modules, as needed. To make this process easier, there are a variety of "pre-configured" versions of Drupal you can download and use for specific types of sites (e.g. a blogging site, a conference site, a corporate Intranet site, etc.). These "pre-configured" versions of Drupal are called "distributions".

Finding distributions

Drupal distributions are listed as projects in Download & Extend, filterable by compatibility, popularity, keyword, and more. Many distributions include code (such as the jQuery library) that cannot be hosted on drupal.org due to incompatible licensing, so downloads of these distributions are provided via a 3rd party website.

Distributions vs installation profiles

There is sometimes confusion regarding the terms "distribution" and "installation profile" (also called "install profile"). Here are the definitions:

Installation profiles are what a developer creates as the basis of distributions. They define installation steps (such as enabling modules, defining content types, etc.) that run after Drupal's base installation when you first install Drupal. One or more standard installation profiles are included in the Drupal Core download; developers can create custom profiles that set up Drupal for specific purposes, and optionally release them for community use on Drupal.org. It is not always easy to attempt to use an installation profile directly, if it requires non-core modules, themes, or libraries -- you would have to locate and download all the required components yourself before you could install Drupal. Instead, it's a lot easier to download a full distribution (if available).

Distributions are full copies of Drupal that include Drupal Core, along with additional software such as themes, modules, libraries, and installation profiles. The automatic packaging scripts on Drupal.org turn installation profiles into distributions, by gathering all the modules, themes, and libraries they require into a single zip archive, so that all you need to do is download the full archive and run the install script.

Types of distributions and other Drupal installations

Here is a comparison of the different types of Drupal distributions and installations:

When to use distributions

There are no hard and fast rules about when to use distributions, but here are a few guidelines:

Evaluating Drupal: If you're just getting started with Drupal it makes sense to try a distribution, since they are easier to setup and you can see real life examples of what Drupal can do. Not all distributions are equal though, so start with a popular well maintained distribution.

Demoing Drupal: Before building a site for someone it can be useful to show them examples of how Drupal can be configured.

Learning Drupal: In the administration section of a distribution, you can study the inner workings of a real example of Drupal site, learn all the details about how it is built and configured to obtain specific functionality, experiment with any changes and additional modules and themes, etc.

Quickly building a site: If you're building a site similar to one provided by a distribution it makes sense to start with a distribution. After installing you can continue to configure the site, add modules, create themes, etc. You can even undo things that the installation profile script may have done. If you're changing too much though it may make more sense to just start with stock Drupal and build from there, rather than try to undo and change what was setup for you.

How to install Drupal using a distribution

Some distributions have specific installation instructions, but otherwise the installation instructions for Drupal are also relevant for distributions.

Maintaining sites based on distributions

An installation profile is a script that only runs once during your Drupal site install so using an installation profile (or a distribution with an installation profile) won't necessarily limit how you maintain your site with security updates. Many popular distributions even provide regular updates for Drupal and all the additional modules the distribution includes. However, some distributions depend on custom modules that aren't available anywhere else, and if the distribution stops being maintained it is possible to be stuck with a Drupal site that cannot easily be upgraded. Care should be taken to be use well maintained distributions if there isn't anyone available with the skills needed to update a custom site.

Comments

What is the post-installation implication of using a profile vs a standard drupal installation? I installed Drupal with an install profile, then decided not to use its main module (although I will use most of the other included modules).

The only difference I see is that some modules are in /profiles/displaysuite/modules and my profile on my status report. Should I change to the default profile and move the modules to the sites/all/modules folder? If yes, how do I change my install profile? I don't see any way to do this. If it's possible, I imagine I have to port the module code into sites/all/modules. Must I disable the modules before moving the source code? Will I lose any configuration (e.g., content types, wysiwyg config)?

I had installed a Commerce Kickstart, but neglected to move the modules from /profile/modules into /sites/all/modules.
I tried to follow the directions above, but found it impossible to disable all the modules, as several modules had fields in use.
I tried moving one module at a time, clearing the cache each time before refreshing the modules page.
This worked!

If it's possible, I imagine I have to port the module code into sites/all/modules. Must I disable the modules before moving the source code? Will I lose any configuration (e.g., content types, wysiwyg config)?
ppłyn do e-papierosa