Step 1: Planning | Documentation
Step 1: Planning
Documentation Level:
Intermediate
Documentation Status:
No known problems
Research what will be necessary to upgrade to Backdrop CMS
Before beginning an upgrade, it's important to understand exactly how your Drupal 7 site ie being used.
Review limitations and changes
Backdrop attempts to support most Drupal 7 setups, but there are a few things that have been dropped. 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
for more details.
Review Drupal
themes
Most Drupal sites use custom themes that were built specifically for each site. Because of changes in how Backdrop renders pages (notably by the addition of Layouts), it’s likely that a Drupal 7 theme will need at least a few changes for Backdrop. Your options for the theme include:
Create a new theme
for Backdrop CMS,
Port your existing one
, or
Install a
comparable alternative from contrib
Review Drupal page layouts
Review the page layouts in use on your current site. Most modern websites use more than one page layout. Backdrop provides several types of layout in core with commonly used arrangements of regions (e.g., single-column, columns with sidebars, etc.). You can:
Make do with the 10 Layout Templates provided by Backdrop core.
Create your own Flexible Layout Template using the Backdrop admin interface.
Create custom layout templates
for Backdrop CMS, by porting existing panels or Omega layouts
Install
comparable alternatives from contrib
The concept of a Layout—a structural layer that lives between themes and blocks—is new in Backdrop. If you’ve not worked with Layouts before, you might consider
installing a new Backdrop site
locally and playing around with it a bit to familiarize yourself with Layouts, what’s available, and how they can be used.
Review Drupal
contributed modules
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; although a particularly complex module could take days. There is a Drupal 7 module
Backdrop Upgrade Status
, that will show you the current upgrade status of each contributed module on your Drupal 7 site: whether it has been ported to Backdrop, if there's a different module with equivalent functionality or if it does not (yet) exist.
Categorize Drupal contributed modules
We recommend creating a list of all the Drupal 7 modules installed on the site. Then go through and categorize each one based on the following criteria:
Core
: the functionality has been added to Backdrop core, Backdrop will perform the necessary updates.
See Backdrop's '
Features added to core
' page.
Contrib
: the module has been ported to Backdrop contrib, the Backdrop module will perform the necessary updates.
Seach the list of
modules for Backdrop
To Uninstall
: the functionality is no longer required, this module will be completely removed.
To Replace
: a different Backdrop module provides the same/similar functionality, the Drupal module will be completely removed. There are two situations where this may occur:
First, when the functionality of a Drupal module has been moved to one or more differently named Backdrop modules (e.g., the Drupal Entity API module). See
Modules that have replacements
for further details.
Second, when a Drupal site uses a module we'd prefer to replace with a different one (e.g.
Colorbox
->
Featherlight
). In both cases, be sure to note the module that's replacing it.
To Port
: the module needs to be ported to Backdrop, the new Backdrop module will perform the necessary updates.
To Install
: new module/functionality is needed in Backdrop.
This is useful if a Drupal module was split into separate Backdrop modules when ported (e.g.
Date
-> main functionality in core,
Date Tools
Date All Day
).
See the
complete list of contributed modules that are no longer necessary
for Backdrop sites.
Review the upgrade process
Once you’ve gone through the above, you will have a good idea of the scope of work and its timetable. For simple, straightforward sites, you will only have to do a single upgrade and the whole process could be over in less than an hour. More complicated sites, though, may stretch over time and require multiple upgrade runs as you work through the porting of modules, themes, and/or layouts (carried out on development sites, of course—you only want to have to run an upgrade once on the production site).
A not-uncommon scenario is the following:
Make a local copy of the production site for development;
Upgrade it as much as possible (not necessarily including all “to-port” modules);
Port the remaining modules (and/or themes and/or layouts), testing them on the upgraded development site;
Try a new upgrade from scratch with the ported modules to verify (this is important if the ported module implements
hook_update_N()
).
Upgrade the production site.
Although most of the iterative development of ported modules, themes, and layouts can be done on one’s local development system, the upgrade of the production site will necessarily take some time. You should discuss the upgrade process with key stakeholders and explain that, ideally, the current Drupal site will stay online during the final upgrade process, but that no changes should be made to it during that time (to prevent the upgraded Backdrop site being out-of-date before it even launches).
<< Upgrade overview
Step 2: Preparation >>
Directory
Toggle menu visibility
Getting started
Installing
Updates vs upgrades
Hosting/deploying
Upgrading from Drupal
Introduction
Upgrade overview
Step 1: Planning
Step 2: Preparation
Step 3: Upgrade
Converting Drupal code
User guide
Quick start guide
Using Backdrop
Add-On Documentation
Developing for Backdrop
Developing modules
Developing themes
Developing layouts
Using libraries
Local development
Writing secure code
Using JavaScript
Contributors guide
Contribute to Backdrop core
How to use the core issue queue
Adding labels to issues
Adding milestones to issues
Contribute Backdrop add-ons
Contribute to documentation
Developer API
Topics
Functions
Classes
Files
Globals
Icon API
Database API
Theme functions
Form API reference
Appendix/reference
Change records
Glossary
Coding & documentation standards
Contrib permissions policy
US