Prepare the Drupal site for an upgrade to Backdrop CMS

  1. Update Drupal core:
    Make sure Drupal 7 core is updated to the most recent version.
  2. Update all modules and themes:
    Make sure all modules and themes are updated to their most recent version.
  3. Make a backup of everything:
    Backup the database, backup the files directory, and backup the codebase.
  4. Disable and uninstall core modules:
    Some core modules have been removed from Backdrop CMS.
    • See the documentation on what to do if you are using a feature that has been removed from core.
      • Note: uninstalling modules (Blog, Forum, Poll) may result in loss of content (or, more accurately, content that doesn't know what type it is). Please either delete content of these types before you uninstall the modules (if you no longer need it), or convert the content to a custom type.
      • PHP filter: Please clean up your PHP content before uninstalling this module. Once the PHP filter is removed, any content using it will fall-back to the plain text filter, printing your PHP code as though it were plain text. This could potentially expose private information to the general public, and may present a security risk.
  5. Disable (some) contrib modules:
    Any modules identified as to To Uninstall, To Port, or To Replace during the "Preparation" phase should be disabled.
  6. Uninstall (some) contrib modules:
    All modules identified as To Uninstall during the "Preparation" phase should be uninstalled. 
    • It may also be safe to uninstall some modules identified as "To Replace", as long as that data is not needed for the replacements.
    • Disabling (but not uninstalling) modules will leave the data from those modules in the database.
      • Some modules, like "Reference" will have an update that uses data provided by entity_reference and references modules, do not uninstall those modules even though they are identified as To Replace.)
      • This data can also be useful as you are developing the ported module.
  7. Save the Views (and other exported configuration) back into the database.
    • If you had custom views that were stored in code (either as Features, or simply exported views) you can manually edit and save each view to put its data back into the database. The Backdrop upgrade will convert these views to config -- but only if they are in the database.
    • Note: If you were using the Features module in Drupal 7, you can try using the Unfeaturize module, to get your content types and fields back into the database.
  8. Switch back to core themes:
    If you do not have a Backdrop version of your themes (and matching layout templates) ready, we recommend) 
    • Enable the core Bartik theme, and set it to default.
    • Change your administration theme to Seven.
    • Note: Switching your themes before the upgrade will not preserve block placements from Drupal 7. 
  9. Switch back to the standard install profile:
    If you are running an install profile other than the core 'standard' profile, make sure you have a Backdrop version of that profile, or switch to the standard profile in Drupal 7. (Two examples of other profiles are the 'pantheon' profile or the 'acquia_drupal` profile. These are common if your site was hosted on either of those platforms.)
  10. Put your site into maintenance mode.
  11. Make a second backup of everything
    Backup the database, backup the files directory, and backup the codebase again.
    This is the backup you will use for the Backdrop site, we recommend calling it backdrop-ready.sql