Doing work once - using Drush Make and Installation Profiles for non-coders

This is an introduction to a brief series on improving work-flow as a Drupal site builder.  I will demonstrate a best practice for putting together a set of tools that will help you speed up your development process.  

Drupal is often compared to a lego kit because of it’s modular nature.  You start off with a base plate, Drupal core, and add the necessary lego bricks, modules and themes, you need to achieve your desired outcome.  As I have developed sites with Drupal over the last few years I have found this to be true and have assembled many sites following this method.  As I repeated this process over and over I noticed that I was doing the same work again and again, this is surely the sign of something I can make a machine do.  I realized that my base plate was actually not Drupal core but rather Drupal core plus 20 other bricks I used on every single site I made.  Beyond just using the same ingredients to start every project I also did the same 20 configuration steps every time I started a project- things like setting a home page or footer information.

I decided to look into how to start from the point that all the sites I build rather than from a tarball of Drupal. Turns out the tools to do this are available and without too much work you can make your life easier by setting up your site to accommodate the way you like to start your projects.

I have decided to use a type of site that I often build as an example. I have many artist friends and they all need a website. I have found myself building artist websites on a regular basis. I am going to use that type of site for our example.

I am going to talk about two tools, Drush make and Installations Profiles in Drupal.

Drush & Drush Make
Drush make is an extension for the excellent Drush project. Drush is a command line tool for Drupal that allows you to interface with your Drupal website via the command line rather than the graphical user interface.  This guide will assume you have installed Drush and Drush Make and have them working.  If you are not familiar with working on the command line there are many excellent resources available to get you up to speed.  I highly recommend the Lullabot videos made by Addison Berry as a great introduction and way to learn basic command line commands.  Once you are comfortable on the command line you can find many resources for how to install and start using Drush with a simple google search or by following the official README.txt.  

Installation Profiles
Installation profiles are a part of Drupal core.  When you download and install Drupal you install using the default installation profile.


Default Drupal Installer


When we are done we will have a new option on this page that will allow us to install using a custom installation profile that will do some of our typical site configuration for us during the installation process.

Custom Drupal Installer


Once we run this new installation profile we will have a Drupal site with some of our basic configuration complete.  

By starting with these tasks already done you will be able to develop sites fast and more consistently.  Stay tuned for posts about Drush Make and Installation Profiles later this week.