Backdrop CMS provides a full upgrade path for all of its core modules from Drupal 7 to Backdrop CMS 1.x. Backdrop CMS acts as though it were the next version of Drupal for the purposes of upgrading, making it so that you can upgrade to Backdrop CMS directly from a Drupal 7 database.
Step 1: Research what will be necessary to upgrade to Backdrop CMS:
- Review the theme in use on your Drupal site. Most Drupal sites use custom themes that were built specifically for each site. Are you prepared to create a new theme for Backdrop CMS, port your existing one, or install a comparable alternative from contrib?
- Review the layouts in use on your current site. Most modern websites use more than one page layout. Will you be able to make do with what's provided in core? If not, are you prepared to create your own layouts for Backdrop CMS, port your existing panels or Omega layouts, or install comparable alternatives from contrib?
- Review the contributed modules in use on your current site. Very few Drupal sites run on what's in core alone. Have the modules you are using been ported to Backdrop already? If not, are you prepared to port them yourself? Most modules can be ported to Backdrop in a matter of hours, though a particularly complex module could take days.
- See the complete list of contributed modules that are no longer necessary for Backdrop sites.
- Review the core modules and major features in use on your site. Does your site depend on anything that Backdrop has removed from core? If so, are you prepared to remove that feature from your site, or install a comparable module from contrib?
- Modules & major features removed from core include:
- Support for any database other than MySQL, MariaDB or equivalent
- Support for alternate field storage (anything other than the active MySQL database)
- See the complete list of modules removed from Backdrop core.
- Modules & major features removed from core include:
Step 2: Prepare your Drupal site for upgrade
- Make sure your Drupal 7 website is running the latest release of Drupal.
- Make sure you are running the latest stable versions of all your contrib modules and themes.
- Make a backup of everything: Backup the database, backup files directory, and backup the codebase.
- Disable and uninstall core modules that have been removed from Backdrop CMS that you no longer need (see list above).
- Note: uninstalling some of these modules (Blog, Forum, Poll) will 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, or migrate 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.
- Save your views into the database.
- If you had custom views that were stored in code (either as features or simply exported views) edit and save each one to put it's data into the database. The Backdrop upgrade will convert these views for you, but only if they are in the database to begin with.
- Switch your theme(s) back to a core themes, or have a Backdrop version of your theme (and matching layouts) ready.
- Enable the core Bartik theme, and set it to default.
- Change your administration theme to Seven.
- Put your site into maintenance mode.
- Make a second backup of your database (this is the one you will use for Backdrop) we recommend calling it backdrop-ready.sql
Step 3: Upgrade your Drupal site to Backdrop CMS
We recommend setting up a second site so that the Drupal version and the Backdrop version can be compared side-by-side. The instructions below follow that process.
- Start by following steps 1 & 2 from the Installing Backdrop page.
- Copy the files directory from Drupal 7 (usually drupal/sites/default/files) into the Backdrop site (usually backdrop/files)
- Import the Drupal 7 database backup (backdrop-ready.sql) into the database you created in step 1.
- Update the Backdrop settings.php file according to step 3 from the Installing Backdrop page to connect the Backdrop site to the Drupal database.
- Download all contributed modules, themes, and layouts for your Backdrop site and place them in the appropriate directories.
- Note: all contributed modules must be in place before running the update, or crucial updates may be missed.
- Navigate to this site in a browser, and visit /update.php to proceed with the update. (You will need to be both logged in and have sufficient privileges to run the update. If this is not the case you can change $settings['update_free_access'] = TRUE; in your settings.php file.)
- There will be over one hundred pending updtes, but don't worry in most cases, it will only take a few seconds to complete.
- Once done, click around your Backdrop site to confirm everything is working properly.
Step 4: Restore your Backdrop site to glory
Congratulations, your old Drupal 7 site is now shiny and new, and running on Backdrop CMS! In order to return your site to its previous working condition, however, there are just a few more steps.
- Enable a theme of your choice.
- If you had a custom theme in Drupal 7, this will need to be ported or rebuilt for Backdrop CMS.
- If you were using a contrib theme for Drupal 7, this will need to be downloaded, ported, or rebuilt for Backdrop CMS.
- Note: Theme's don't usually have updates of their own, but it's important that the Backdrop version theme be present during the update, just incase it does.
- Check blocks & layouts.
- Double check block positioning. Backdrop will attempt to match positioning from your current theme (Bartik) during the upgrade.
- If you were using a layout soluton other than Blocks for Drupal 7, your old layouts may need to rebuilt for Backdrop CMS.
- Check views.
- Double check your views (Backdrop will attempt to upgrade your views, but there are some D7 views components that do not have comparable equivalents in Backdrop. Those may show as having broken/missing handlers, and need to be updated.)
- Check contrib projects.
- Though all contrib projects should contain upgrade paths from Drupal 7 to Backdrop, it is possible your site contains a use-case that has not yet been thoroughly tested. Test everything, and report any issues in the appropriate issue queue.
Upgrading from Drupal 6
There are not yet any tools available to upgrade a site directly from Drupal 6. We recommend using Drupal's built-in upgrade path to go from from Drupal 6 to Drupal 7, and then Backdrop's Built-in path to go from Drupal 7 to Backdrop CMS.
Crossgrading from Drupal 8
There are not yet any tools available to crossgrade a site from Drupal 8 to Backdrop CMS, but the tools that would be used to go from Drupal 8 to Drupal 7 could also be used (with some fuzz) for Backdrop CMS.