Search results

Preparing to Work With Luggage


A beginning web developer works directly on a live site. After bringing down the live site a few times or being embarrassed when unfinished work appears on the live site, the developer learns to use two environments: development and production.

Defining Servers and Websites

A prerequisite to the following is having a .drush directory set up and stored in a repository; see the previous section for details.

Defining a Default Drush Aliases File

The .drush/defaults.aliases.drushrc.php file contains an alias called prod which will be the parent of all the servers we will define. Its contents:

Installing Luggage From Scratch


Installation requires that Drush is installed, Git is installed, and you have your database credentials (user name and password) available.

You can check whether git is already installed by typing

git --version

If you get output showing you your git version you are all set. If you get "command not found," git is not installed.

Comprehensive Code Flow Management


We are following the gitflow method where Master is stable and production ready. We did not start out this way but are migrating quickly to adopting this method with some alterations.

Maintenance flow [1].

Contributing to Luggage

Where to Find the Developers

If you would like to contribute to Luggage, please jump into the IRC channel #luggage and introduce yourself. If you are unfamiliar you can read about IRC.

Adding a Submodule with Git

Sometimes you have Drupal in a git repository and you want to use a single submodule from Luggage. For example, you might have a site on which you want only the People feature.

Here is how to add a submodule to your git repository.


In English, you are telling your git repository that contains the code for your website where the git submodule is, so that when you type

git submodule update --init

it will automatically pull in the submodule.

Moving On

First, you add the submodule by hand:

Contributing to a Luggage Feature

Contributing to an individual Luggage feature requires a bit of setup before you are ready to create a pull request. You will need to fork the desired Luggage feature and create pull requests to the development branch from there. There exists already comprehensive documentation to help you understand Luggage's Git architecture. We will be following the same method as described there, but with an individual Luggage feature. So let's get started!


Video created by Iowa State University Extension and Outreach IT

How to schedule content for publishing

By default announcements (and the banners) are not published. Sometimes, it is desirable to schedule it to be published at a later time automatically.  For example, you may want to automatically publish an announcement detailing a new publication that has embargo restrictions that lift at midnight. With the scheduling feature, you can schedule the announcement to automatically get published after midnight.