U.S. Department of Energy - Energy Efficiency and Renewable Energy

EERE Communication Standards & Guidelines

Drupal Modules

EERE's Drupal module development process allows EERE's community of developers to contribute new functionality to the EERE Web Enterprise. If you are interested in developing a new module for EERE's Drupal site, follow the process outlined below.

Getting Started

Before you can work on the Drupal codebase, you need approval to build your module and access to the GitHub system.

  1. Create a proposal for the feature you need for your site.
  2. Present your proposal to the EERE Web Governance Team. They will confirm that this feature doesn't exist elsewhere on the EERE website.
  3. If your developers don't already have GitHub accounts, you'll need to apply for access. Contact ActioNET to request access.

Development

Your developers will need to install the eere.energy.gov installation profile in their Drupal development environment. All of their development and testing will be done against the EERE codebase.

Code Validation, Merging, and Staging

Once the developers are ready to present their code to become a part of the main codebase, they'll need to request a code merge back to GitHub and the main EERE codebase.

EERE is using Jenkins Continuous Integration software to manage code merging. This will allow us to identify conflicts in the code and enforce coding standards. All code will be merged and tested against the latest stable build of eere.energy.gov codebase. Code will also undergo a code style review.  Code that fails either of these checks will not be pushed to production.

Once it passes authentication, your code will be staged on the EERE Centralized Web Hosting Environment.  ActioNET will send your module developers or content writers the login information for the staging server.

Production

Once your code passes the code reviews, your module will be sent live and will become available to the EERE content providers for use on the live site.

Add your Module to your Drupal Website

Once your module is created, it will need to be added to your site. If you do not have access to edit your site, contact ActioNET.