Describe your issue or idea

This is a follow-up to https://github.com/backdrop/backdrop-issues/issues/2842 where we realized that a lot of people were upgrading from Drupal to Backdrop in a way that will result in broken sites.

The root of the problem, it seems, is that people want to update core before contrib, and contrib modules often require their updates to be run between two core updates. However, when one of these contrib that has this requirement is updated after it's dependancies are completed, no message is shown to the user, but the module is likely to be broken.

Steps to reproduce (if reporting a bug)

  • Create a Drupal 7 site, install taxonomy_menu module and set up a menu using taxonomy.
  • Upgrade that site to Backdrop, excluding the Backdrop taxonomy_menu module from the codebase.
  • The update again, after the module has been added.
  • confirm update appears to have completed successfully.
  • Confirm the menu no longer using taxonomy.

Recommended solution

I would like to propose that instead of skipping any necessary dependancies, we check to see if they can be met, and if not, we throw an error to the user explaining why the updates can't be completed. For example: Taxonomy Menu module needs to run it's updates before Taxonomy module. At this time, it looks like the Taxonomy updates have been already completed. You will need to start your upgrade again. Next time, please ensure that both these modules are updated at the same time.

GitHub Issue #: 
2852