The Salesforce Suite is Ready for Drupal 9!
The promises around ease-of-upgrade were true. We updated the Suite for Drupal 9 with only a few lines of code. It's ready for prime time.
With the release of Drupal 9, the Drupal community is finally seeing the benefit of Drupal 8's rearchitecture. As promised in the Drupalcon 2019 Driesnote, upgrading modules—including major ones like the Salesforce Suite—can prove to be a relatively straightforward task. As long as maintainers keep their code groomed, the steps to prepare for a major version update are minor. When compared to the hundreds of hours it took us to rebuild the Suite for Drupal 8, the advantages of this forward compatibility are a watershed for module maintainers and for the Drupal project as a whole.
Tools are available to help maintainers prepare for and implement an upgrade. They focus on scanning Drupal 8 modules and identifying deprecated code that is scheduled for removal in Drupal 9. Once identified, maintainers can simply replace the code to ensure a module is D9-compatible.
For the Salesforce Suite, we used a combination of PHPStorm's inspection tools and the https://www.drupal.org/project/coder/ module, along with the applications of a few patched contributed by other developers in the issue queue. (Thanks for the contributions, folks!)
Depending on your role, you can also use the following options:
Developers can run drupal-check, a PHP-based tool that analyzes your codebase, developed by Matt Glaman (Centarro).
Once drupal-check is on a site, admins can install the Upgrade Status module (built by Acquia) to get a report on deprecated code right in the UI.
Module maintainers can enable Drupal.org's testing infrastructure to detect the use of deprecated code as well.
This streamlined upgrade allowed us to get the Salesforce Suite ready in time for Drupal 9 when it dropped. Gone are the days when we waited months or years for major modules to be updated—along with lost time and effort spent developing larger modules that needed complete redevelopment.