This project is not covered by Drupal’s security advisory policy.

The purpose of this module is to automate as much as possible the task of updating a contributed module for Drupal API changes, and thereby simplify the task of porting contributed modules shortly after a new Drupal release.

For Drupal 7.x, Deadwood is being merged into the Coder project and renamed to Coder Upgrade. Check out the latest features here.

Starting a module conversion is even easier than before. Convert your 5.x module here without installing Deadwood.

Check out the case study.

The 6.x version of this module helps update the 5.x version of a contributed module to the version 6.x API. Currently, 70 of the 80 topics (which often include multiple items) mentioned in the converting 5.x modules to 6.x roadmap have been addressed. This includes 15 of the 17 Form API topics mentioned in the 5.x to 6.x FormAPI changes roadmap. The module probably handles the bulk of changes in many modules, including the Schema API, Menu API and Form API.

The conversion status of the 80 topics is as follows:

Count Status
36 Conversion code is available
25 Notification is available
9 Conversion code is not needed
10 Not yet categorized
80 Total

Of the 10 topics not categorized, six are javascript related. A simple count of items does not accurately indicate the extent of code conversion. A particular module is not likely to need conversion for all 80 topics. Please share your findings as to what percentage of conversion is achieved by the existing conversion routines for your contributed module.

Conversion Process

All changes are made to a copy of your module's files. The conversion process involves searching the module files (i.e., those files with extensions of .info, .install, .module, .inc, .theme and .php) for 5.x syntax and replacing the text with the 6.x equivalent. In many cases, this can be easily done in an automated fashion. However, some of the API changes do not easily lend themselves to search and replace automation. In those cases, and when a conversion routine has not been provided, manual intervention by the module maintainer is required.

As a module updater, you may want to restrict the automated conversions that are performed by this module. You may specify the default conversions to be applied on the module settings page. On the conversions build page, you may specify the module to be converted and the file extensions of files to be converted. After the automated conversions are made:

  1. Review the changes (using your favorite directory or file comparison utility).
  2. Review the "TODO" comments and manually change any remaining conversion items.
  3. Install the module through the Drupal interface and test it.

Manual Changes

In some cases, if syntax conversion was not made for a particular conversion item, the applicable portions of the code have been highlighted with a "TODO" message. In other cases, a single "TODO" message is added at the top of the file. As the marking of code is not the primary objective of this module, you may want to install the Coder Module and use it to mark the areas in your module's code needing manual review.

Feedback

If any of the automated conversions are not successful with your module, please submit a project issue if you have reason to believe the code could be changed to handle your module's code. If you can supply a patch for the change, that would be greatly appreciated too.

Patches to handle more of the conversion topics are welcome.

NOTE: The development snapshot is stable and includes the latest conversion routines and fixes related to issue posts. The 1.6 release addresses 70 of the 80 topics including the Schema API, Menu API and Form API changes, and creation of the theme registry entries.

This module is sponsored by Boombatower Development.

Project information

Releases