Sites built with cmDRUPAL

    • pcam

Deprecating Modules from a Starter Kit

From time to time we are going to realize that a module we originally added to the Starter Kit is no longer what we want to use. This can happen for a number of reason:

  • The module has fucntional limitations that can't be resolved with patches or contributions to the module
  • The module is no longer compatible with other modules we include
  • The module's maintainer is no longer maintaining it and suggesting sites use an alternative
  • The advantages of an alternative over a module still being maintain are just to great to justify trying to improve the original module

Removing a module from a Starter Kit distribution is actually a BIG deal because if it isn't disabled and uninstalled and doesn't exist in sites/all/modules, it can generate fatal errors after applying an update. As a result, deprecating modules should only be done as a last resort and only after discussing the change openly with the group.

A number of modules were deprecated in the latest Starter Kit updates:

  • References (specifically node_reference) was replaced by Entity Reference. The reason for that change has to do with mapping values to the original guid value when importing content w/ Feeds.
  • Responsive Image (resp_img) was replaced by Picture. The reasons for moving to Picture were discussed between @westis, @jdcreativity, and @emilyf.

Unfortunately because of the nature of a "starter kit" distribution over a "product" distribution, we can't be sure sites haven't built additional dependencies on these modules so we can't safely include an upgrade hook to switch from one to another. We can only include updates to the cm_ modules we maintain and warn users about this change. Warning users is something that needs to improve because several sites ran into fatal errors with the latest update.

The good news is the fix is easy. Simply add the modules that were removed from profiles/cm_starterkit_easy|moderate/modules to sites/all/modules by uploading them over SFTP or using the web UI for adding new modules.

Once Drupal sees that the modules are there, you can safely disable, uninstall, and delete them.