Authored by Drupal Geeks on 14 Oct 2021
drupal upgrade best practices

Drupal is widely recognized as the premiere open source CMS. Drupal’s wide array of features sets it apart from other systems both proprietary and open source.  Among the primary reasons for Drupal’s success and reputation is its ability to adapt and accommodate new features and requirements.  The Drupal community is actively modifying and improving the core Drupal core to keep the CMS fast, flexible, and secure.

In order to take advantage of all that Drupal has to offer, it is highly recommended to be proactive about periodic upgrades which may add functionality, improve performance, or update security.  Web developers should be aware of the details surrounding new drupal upgrades when they become available.

It typically takes anywhere from 4 to 6 months for recent Drupal releases to be considered stable. Developers should make every effort to educate their clients and advise against making the jump to a new version before it is production stable.

Once a new release becomes stable, developers should carefully plan to apply the upgrade to the client’s site. As part of the planning process it is recommended that the developer complete a high level audit of the site.

Audits involve analyzing:

• Module Versions. Are all modules up to date? Are they compatible with the new Drupal version?
• Module Customizations. Have any core or contributed modules been customized? How will they be affected by the upgrade?
• Best Practices. Have Drupal standard been followed throughout the site? Have best practices been followed when customizing any modules?

Developers should document any findings in a report which details the specific version each individual module will be upgraded to. For scenarios in which there is not an upgraded version of a module available, custom modules may be written to accommodate the functionality or requirement.

Upon completion of the audit report, any findings should be shared with the client along with complete functional testing results.  This will help the client better understand the complexities of their existing website. Drupal developers should take the time necessary to answer any of the client’s questions and address any concerns.  If there are any ambiguities, the developer should also take the opportunity clarify with the client prior to initiating the upgrade.

During the upgrade process there may have been changes or updates to the code and database of the LIVE site that are unaccounted for in the development environment.  To accommodate any database changes during this period, a developer can follow one of the two methods.

1. If the changes are minimal, then the developer can input the changes manually.
2. If a large volume of data or highly sensitive data are involved, then the LIVE site should be transferred to maintenance mode and all of the changes that were applied initially, to upgrade the site, should then be performed on the LIVE (in maintenance mode) environment.

If you have any further questions about upgrades, please feel free to contact a senior member of the Drupal Geeks team.