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 made Backdrop-compatible in a matter of hours or minutes, though a full port takes longer.
- 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 alternative module from contrib? Modules & major features removed from core include:
- Support for any database other than MySQL, MariaDB or equivalent
- Aggregator module
- Blog module
- Dashboard module
- Forum module
- Help module
- OpenID module
- Overlay module
- PHP filter module
- Poll module
- Profile module
- RDF module
- Shortcut module
- Statistics module
- Tracker module
- Trigger module
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 (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 install the Security Review module and 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 presents 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.
- Change your themes back to core themes.
- 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 contributed modules, themes, and layouts for your Backdrop site and place them in the appropriate directories.
- Navigate to this site in a browser, and visit /update.php to proceed with the update.
- There will be over one hundred pending updtes, but don't worry it should only tak 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.
- Check blocks & layouts.
- Double check block positioning. (Backdrop will attempt to match positioning from 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.)
- 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 thuroughly tested.
Upgrading from Drupal 6 or 8
There are not yet any tools available to upgrade a site from Drupal 6, or to migrate a site from Drupal 8 to Backdrop CMS.