Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Get Up and Running Quickly with Drupal Distributions
1. Get up and Running
Quickly with Drupal
Distributions!
by Melissa Piper
1
2. Who am I?
• My name is Melissa Piper
• I’ve been a front-end developer for 7+ years
• Front End/Drupal Developer at Beyond Spots & Dots (now hiring
Drupal developers!)
You can follow me at:!
@mfpiper
linkedin.com/in/melissapiper
github.com/empee3
2
3. What is a Distribution?
• A pre-packaged Drupal installation that typically
addresses a specific use case (blog, portfolio,
publishing website, mobile-first website, etc.)
• Allows the developer to begin development with
pre-set configurations, modules, and themes
already in place at installation
• Useful to create if you find yourself always using
the same modules and themes when starting a new
Drupal project.
3
7. What’s Inside a Distribution?
• Drupal Core
• Projects (contributed modules, themes, patches)
• Third party libraries (CKEditor, TinyMCE)
• Installation profile
• Configurations (settings originally stored in the
database)
7
8. Main Components in
Creating a Distribution
• Drush Make File
- Pulls in core, projects, and third-party libraries
- Description of the code base
- A list of all contributed files that will be used in the
distribution
• Profile - Configuration, installation profile, features
- Profiles are used when you first install Drupal -
default profiles are Minimal and Standard
8
9. 4 Files Generated in a
Distribution
• .info
• .install
• .make
• .profile
9
11. • You are a Drupal developer, and find yourself
installing the same modules and themes, and
setting the same configurations at the beginning of
each new project
• You decide to create a distribution, so that all of
these modules, themes, libraries, and
configurations will be ready to go for your next
Drupal project. But where do you begin?
11
12. Step 1: Set the Foundation
• Create and configure a Drupal site the way you want it to
be in your distribution.
• With a fresh Drupal install, install the themes, libraries,
modules, patches, etc. that you want to include in your
distribution.
• Create Content Types, Menus, Taxonomy, Views, etc.
• Also consider installing the Features and Profiler
Builder modules (this will help us with creating our
distribution later)
12
13. Typical contributed modules might include:
• Views and dependencies such as CTools!
• Google Analytics!
• Admin Toolbar!
• Date!
• Entity Reference!
• IMCE!
• WYSIWYG!
• Webform
13
14. Typical views and content types might include:
• Featured News view and News content type!
• Event registration view and event content type!
• Taxonomies to categorize news and events by
type!
• Slideshow view
14
15. Step 1.5: Features
• The Features module can be used to save some of the
configurations that you want to include in your
distribution (such as WYSIWYG profiles, created content
types and views)
• These configurations are stored in the database and are
NOT automatically included in your make file or
installation profile
• Without Features, you’ll need to create these
configurations using the Drupal API (coding each with
PHP)
15
16. Features allows you to export most of your
configurations as a module that can be included in your
Make file
16
17. Step 2: Generate the Make
File
• Once your Drupal site is configured the way you
want it to be in your distribution, it’s time to
generate a Make file
• The Make file is generated with Drush to allow for
the creation of a ready-to-use Drupal site
• A flat text file that pulls in core, contributed
modules, themes, and libraries
17
18. • Before generating the Make file, make sure all
modules, themes, and libraries that are not hosted
on drupal.org are hosted SOMEWHERE (such as
Github).
• This includes the initial configuration module you
may have generated using Features from the
previous step.
• You will need to provide the download URL for
these types of projects in order for the Make file to
run!
18
19. • To generate the Make file, run the following Drush
command:
drush generate-makefile drupal-
org.make!
• You can also include the —exclude-versions
flag to prevent the Make file from including version
numbers for all modules and themes
• Note* - Name your Make file drupal-org.make if
you plan to share your distribution with the Drupal
community, as this is a requirement on drupal.org
19
21. • In some cases, Drush will not be able to find all of
the libraries, modules, or themes you want to use
(often when the projected is not hosted on
drupal.org).
• When this happens, Drush will generate
placeholder information in the Make file and prompt
you to fill in the missing information (such as
download URL and download type)
21
23. Step 3: Generate Profile
• You can use the Profiler Builder module to
generate the .info, .install, and .profile files
• Note* - Profile Builder also generates the Make file,
but I find it more efficient to generate my own Make
file if I’m including projects not hosted on
drupal.org
23
25. • The Profiler Builder module will generate and
automatically download the .info, .install, .profile,
and .make files into a tarbell (tar.gz) download
25
26. Step 4: Making the Make File
• Once you have generated your make and profile
files, you’re ready to test your new distribution!
• Create a new directory and database for your test
site
• Copy and paste your drupal-org.make Make file
into the new directory
• In your new directory, run the Drush command:
drush make drupal-org.make
26
27. • Running the Make file will ask if you want to create
a new site in this present directory
• After entering “y” (yes), you will Drupal core,
contributed modules, themes, and libraries being
downloaded into the current directory
• If all downloads complete successfully, you will
have a ready-to-install download of Drupal core in
your new directory. If any errors are encountered
along the way, the download will stop
27
28. Step 5: Adding the Profile
• In your new directory, navigate to the Profiles directory
• In the Profiles directory, create a new directory named
the same as the .profile, .install, and .info files that
were generated from the Profiler Builder module (for
instance, if your .info file is named
blue_drop_dist.info, name your directory
blue_drop_dist)
• Copy and paste your .profile, .install, and .info files
into this directory
28
29. Step 6: Install Your
Distribution!
• Navigate to your distribution directory in your
browser. You will be redirected to the Drupal
installation screen
• When selecting your profile, in addition to the
default Standard and Minimal profiles, you should
see the name and description of your distribution!
29
30. Example of a distribution profile ready for install
30
31. • With your distribution selected, continue with
installation as normal
• As your distribution installs, you will see the
modules and themes that you included in your
Make file being installed as well
31
33. • Once installation is complete, you should be able
to use the new site with the modules, themes, and
libraries that you included in your distribution.
33
35. Sharing Your Distribution
• You can share your finished distribution on sites
such as Github, or contribute your distribution on
drupal.org
• If sharing your contribution on drupal.org, there are
a few guidelines that you must follow, such as:
35
36. • Name your make file “drupal-org.make”
• Install drupal.org drush extension (https://
www.drupal.org/project/drupalorg_drush)
• Verify the make file
drush verify-makefile
• Create a sandbox project page on drupal.org
• Push your distribution to the sandbox project page
with Git
36
37. • If this is your first time contributing on drupal.org,
you will need to submit your project for approval
before it can be released to the community as a full
project.
37
38. Example Distribution
• The distribution used as an example in this
presentation, The Blue Drop MFD (mobile-first
distribution), can be downloaded from my Github
account:
• https://github.com/empee3/
the_blue_drop_mobile_first_distribution
38