The Beginners Guide to Drupal Distributions

The Absolute Beginners Guide to Drupal Distributions

One of the most common hurdles that Drupal beginners face is learning to navigate all the modules available on Drupal.org.

With over 38,000 modules, choosing which ones to use can be a daunting experience.

One answer is often to use a distribution.

Building your own e-commerce, intranet or a social networking site in Drupal can be intimidating. Imagine how much easier it would be if an expert had found all the best modules for your purpose and had combined them into one package. Imagine that you could download and install that package as easily as a normal copy of Drupal. That’s what distributions can do for you.

Where to Find Drupal Distributions

Drupal distributions are available at https://www.drupal.org/project/project_distribution. There you’ll find over 1,000 distributions.

drupal distributions

Examples of Drupal Distributions

Here are examples of Drupal distributions that are designed to meet a specific need:

  • Drupal Commerce: The quickest way to get up and running with e-commerce in Drupal.
  • Opignopigno: A Learning Management System for Drupal.
  • Lightning: Acquia’s version of Drupal that moves faster than core, and ships cool features early.
  • aGovGov: A Drupal package specificially designed for the needs of the Australian goverment.

Installing a Drupal Distribution

In most cases, installing a Drupal distribution will be exactly the same as installing a plain copy of Drupal. We’re going to use the example of Drupal Commerce to walk you through installing a typical distribution. You can download this package from http://drupal.org/project/commerce_kickstart.

The main difference during installation is that you will be given the option of choosing an installation profile during install.

Installing the Commerce Kickstart distribution

The installation profile might also offer you the choice of some additional features. In the case of Drupal Commerce, you have the option of installing sample content:

Choosing a Drupal installation profile

The File Structure of Distributions

When you install a distribution, you’ll see the phrase “installation profile” used. This can cause confusion, so let’s explain the difference.

A distribution is not an installation profile. The installation profile is underneath the distribution and site in the /profiles/ folder.

Take a look at the image below which is a screenshot of the Drupal Commerce distribution for Drupal 7. All of the extra modules and themes are in the /profiles/ folder. They are not in the /sites/all/modules/ folder as you would expect.

  • Installation profile = all of the files in /profiles/commerce_kickstart/
  • Distribution = all of the files into the entire package, not just in the /profiles/ folder.

Files for the Drupal Commerce distribution

The same is true with distributions in Drupal 8. The image below shows the files for the Lightning distribution:

Files for the Lightning distribution

Notes of Caution on Using Distributions

Although distributions can be time-savers, it’s worth being aware of some potential drawbacks:

  • Not Drupal 8 ready. Because of their complexity, many distributions are still only for Drupal 7.
  • Confusing for beginners. You do need some knowledge of Drupal before using them, otherwise you’ll find yourself trying to reverse engineer some fairly advanced features.
  • Learning curve. It’s not unusual for a Drupal distribution to have a radically different admin area design. The advantage is that the admin area is often good fit for the purpose of the distribution. For example, the image below shows Open Atrium which was designed for intranets. This admin area design works much more effectively for an intranet than the default Drupal design. The disadvantage is that distributions often need custom training. For example, normal books and training materials won’t apply to Open Atrium so it had its own books and materials.

openatrium calendar

Drupal.org gives a list of times when it is really useful to use a distribution:

  • Evaluating Drupal: Distributions are easier to setup and you can see real life examples of what Drupal can do.
  • Demoing Drupal: Before building a site for someone it can be useful to show them examples of how Drupal can be configured.
  • Learning Drupal: You can analyse real, working features.
  • 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. 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.

Author

  • Steve Burge

    Steve is the founder of OSTraining. Originally from the UK, he now lives in Sarasota in the USA. Steve's work straddles the line between teaching and web development.

    View all posts
0 0 votes
Article Rating
Subscribe
Notify of
guest

7 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Dane Rossenrode
Dane Rossenrode
8 years ago

You should make it clear at the top of the article that this is for “absolute beginner website builders / developers”, not for someone simply wanting a website. Specifically, the “absolute beginner” would need to know how to install a Drupal site (setting up a database, placing the files in the right place on the server, etc.).

Other than that, good article 🙂

Nick Savov
8 years ago

Thanks Dane! 🙂

David Snopek
David Snopek
7 years ago

Ah, I love the Open Atrium 1.x screenshot. I miss you OA1!! 🙂

steve
steve
7 years ago
Reply to  David Snopek

RIP OA, indeed 🙂

David Snopek
David Snopek
7 years ago
Reply to  steve

Well, RIP OA1 — OA2 is alive and well! 🙂

steve
steve
7 years ago
Reply to  David Snopek

Ah, I apologize, sorry David. I think I mis-remembered an announcement about OA.
Perhaps I’ll update in the screenshots in the post for OA2.

Hadiya Razouk
Hadiya Razouk
5 years ago

Is it possible to migrate from Drupal distribution profile to the new profile that user will create?

7
0
Would love your thoughts, please comment.x
()
x