Book page Revision of Change policies on modules and code from Thu, 2009-05-07 17:21

The revisions let you track differences between multiple versions of a post.

This document outlines the policies surrounding changes to modules and themes under the Aegir environment. Please keep to those strict guidelines before changing anything on this server.

This document is a draft and needs improvement. It also needs to be collectively approved and discussed.

Changes to Drupal modules

This applies to any change to contrib modules in a platform.

General

  • Deploy platform-wide modules in sites/all/modules
  • Deploy platform-wide modules sparingly
  • Modules too site-specific should be in the site's own modules directory (sites/sitename/modules)

Upgrades

  • Module upgrades should be performed only on new/dev platforms
  • Upgrades should be applied by using the migrate tasks on relevant sites
  • It is preferable to use a test site to test major changes

Patches

  • Patch development should be done only on new/dev platforms
  • Patches should be sent upstream when possible
  • Patches should be stored in a patch directory in the relevant module
  • If patch is available or submitted upstream, it should be documented in the patch header

Changes to themes

See modules for now.

Changes to Aegir modules

General

  • All Aegir development should happen on the test server.
  • Functional testing should be performed before a bugfix is applied on the production server.
  • Complete functional testing (testing all tasks for a few sites) should be applied before a new functionality is applied on the production server

Major upgrades

To be determined.

Changes to Drupal core

This applies to changes that are need to the Drupal.

General

  • DO NOT PATCH CORE

Upgrades

  • Upgrades should NEVER be done "in place" (ie. by overwriting the files, either with a tarbal, FTP/SCP upload or CVS)
  • A new platform should be created with the new version and a test site be migrated

Patches

  • You should NEVER patch core
  • You should NEVER patch core for bugfixes except on some rare exceptions, in which case you will:
    • patch only bugs reported upstream
    • patch only on the development Drupal 7 platform
    • create and document the patch in the patch directory of the platform
  • You should NEVER patch core for new functionalities
  • You should NEVER patch core for new functionalities, except some rare exceptions, in which case you will:
    • patch only features reported upstream
    • patch on a development Drupal 7 platform
    • create and document the patch in the patch directory of the platform