Navigating Drupal Upgrades:
Versions 6 Through 8 And What It
Means
Session Goals
• Components for a
Drupal upgrade
• What is a Drupal
Upgrade
• What are the
challenges
• Understanding why
you need to upgrade
• Upgrade options
Vocabulary
Drupal Core
• The core
functionality of
Drupal
– Entities
– Nodes
– Fields
– Blocks
– Themes
– Menus
API
• A set of tools given to
other developers to
build with
• Drupal has many APIs
• In each version of
Drupal the APIs
change
Theme
• The design of the site
– Placement
– Colors
– Text size

• Drupal provides an
engine for rendering
the theme
Modules
Custom

Modules written for specific sites to custom
features and business logic.
Contributed (Contrib)

The modules that add functionality to Drupal but are not part of
Drupal Core.
Core

The main Drupal system. The code you get when you download Drupal.
Contrib
• Functionality that does
not make it into core
• Moves faster than
Drupal Core
• Various levels of
quality
• Each module is called a
project and has a
maintainer
Bug Fixes
• Released as needed
• Released for both core and contrib
• Contrib releases whenever developers want
Security Updates
• Security updates are
released as needed for
Drupal Core and
Contrib
• Community finds bugs
and module
maintainers or other
contributors fix them
Drupal Security Team
• Team of Drupal
contributors that
identify and resolve
security issues
• Work in private with
module maintainers
until security issues
can be resolved
Major Upgrade vs. Minor Upgrade
• Major upgrade Drupal 6 to 7
– Requires new contributed modules
– Requires new theme
– Many changes to custom modules and integrations

• Minor Upgrade
– Drupal 7.23 to 7.34
– Depending on the upgrade some are more minor than
others
– Usually does not change what contrib modules you
use
Why Upgrade
•
•
•
•

New Features
Bug Fixes
Security
It’s Cool?
Drupal 4,5,6,7,8….
•
•
•
•

Drupal 4.7 - 2002
Drupal 5 - 2005
Drupal 6 - 2011
Drupal 8 - TBD 2014
New Features in Drupal 7
•
•
•
•
•
•
•

Many API changes
Fields in core
Entities
Overlay
Drag and drop
File support
Secure file system
New Features in Drupal 8
• Configuration Management (CMI)
• Mobile and adaptive support
• Built in WYSIWYG editor and click to edit
support
• Views in core
• Better services architecture
• Object Oriented Code
When Will Drupal 8 Be Released?
• When its ready
• When there no
critical bugs
• Drupal Release Date
Site
• Just before core us
ready does not mean
contrib is ready
Drupal PCI Compliance
• Recent white paper on
Drupal and PCI is your
first resource
• Open Source software is
OK for PCI compliance
but you must keep the
software up to date with
a community supported
version
Resources
•
•
•
•
•
•
•
•

Change Logs
Documentation
Hacked Module
Coder Module
Devel Module
Drupal.org
The Internet
Denver/Boulder
Drupal Users Group
(DBUG)
Upgrading Core
• Backup everything
– Make sure to backup
sites, .htaccess, robots.txt, .gi
tignore
– Profiles folder and other
folders with customizations

• For major upgrades disable
all modules
• Delete Drupal and extract
the new version- add your
files back
• Run the Update Script
Upgrading Contrib
• Delete the module
• Download the new
module
• Run the update script
Drush
• Provides core
commands for
managing Drupal
Development
• Drush up
• Added commands
from many modules
including coder and
migrate
Upgrading Custom Modules
• You will need to upgrade to
match new APIs and other
changes
• Often a customization needed
in one version is not need in
another
• You do not need to re-write
custom modules for most
minor updates
• Run modules through Coder
to make sure it meets Drupal
Coding Standards
Big Modules
• There are some big
modules that take
more to upgrade
• Make sure your
modules will work
with the versions of
Drupal you want to
use
• Check documentation
Upgrading Themes
• Theming changes with
major versions (theme
engines)
• Themes may need to
change for minor
versions
• Make sure that you are
only doing theme things
in the theme
• Drupal 8 will use Twig
Environments
Production

Staging

Dev/Test
Git With It
• Worth considering for
managing code
• A must have for multiple
people working on a site
• Needed for managing patches
and contributing to D.O
• Git Hub is free to very low cost
for code management
Time?
• How much time does
it take?
– Major upgrades
– Minor upgrades

• What if it takes so
much time I cant
have my server
down?
• Can we do it in parts?
The Things That May Cause
Nightmares
• Modules that are not
upgraded
• Migration paths for
modules
• Sites that have been
“hacked”
• Custom code
Smooth Sailing
• Planning
• Test, test, test
• Read the
documentation
• Multiple server
environment
• Give yourself enough
time
Back Drop
• New system designed
to be better at
backward
compatibility with APIs
• Plans to add support
for many Drupal 8
tools without
switching to OO
development
• There is no direct
upgrade path yet
Migrate Module
• Use Migrate Module
to move content from
one site or another
• Use to Drupal to
Drupal Migrate
module to migrate
between Drupal sites
– For example Drupal 6
to 7
Upgrade Alternatives
• Migrate – Drupal to
Drupal
• Self maintain
• Switch platforms
Steve Kessler
Denver DataMan
(303)587-4428
steve@denverdataman.com
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Means - Presentation

Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Means - Presentation

  • 1.
    Navigating Drupal Upgrades: Versions6 Through 8 And What It Means
  • 2.
    Session Goals • Componentsfor a Drupal upgrade • What is a Drupal Upgrade • What are the challenges • Understanding why you need to upgrade • Upgrade options
  • 3.
  • 4.
    Drupal Core • Thecore functionality of Drupal – Entities – Nodes – Fields – Blocks – Themes – Menus
  • 5.
    API • A setof tools given to other developers to build with • Drupal has many APIs • In each version of Drupal the APIs change
  • 6.
    Theme • The designof the site – Placement – Colors – Text size • Drupal provides an engine for rendering the theme
  • 7.
    Modules Custom Modules written forspecific sites to custom features and business logic. Contributed (Contrib) The modules that add functionality to Drupal but are not part of Drupal Core. Core The main Drupal system. The code you get when you download Drupal.
  • 8.
    Contrib • Functionality thatdoes not make it into core • Moves faster than Drupal Core • Various levels of quality • Each module is called a project and has a maintainer
  • 9.
    Bug Fixes • Releasedas needed • Released for both core and contrib • Contrib releases whenever developers want
  • 10.
    Security Updates • Securityupdates are released as needed for Drupal Core and Contrib • Community finds bugs and module maintainers or other contributors fix them
  • 11.
    Drupal Security Team •Team of Drupal contributors that identify and resolve security issues • Work in private with module maintainers until security issues can be resolved
  • 12.
    Major Upgrade vs.Minor Upgrade • Major upgrade Drupal 6 to 7 – Requires new contributed modules – Requires new theme – Many changes to custom modules and integrations • Minor Upgrade – Drupal 7.23 to 7.34 – Depending on the upgrade some are more minor than others – Usually does not change what contrib modules you use
  • 13.
  • 14.
    Drupal 4,5,6,7,8…. • • • • Drupal 4.7- 2002 Drupal 5 - 2005 Drupal 6 - 2011 Drupal 8 - TBD 2014
  • 15.
    New Features inDrupal 7 • • • • • • • Many API changes Fields in core Entities Overlay Drag and drop File support Secure file system
  • 16.
    New Features inDrupal 8 • Configuration Management (CMI) • Mobile and adaptive support • Built in WYSIWYG editor and click to edit support • Views in core • Better services architecture • Object Oriented Code
  • 17.
    When Will Drupal8 Be Released? • When its ready • When there no critical bugs • Drupal Release Date Site • Just before core us ready does not mean contrib is ready
  • 18.
    Drupal PCI Compliance •Recent white paper on Drupal and PCI is your first resource • Open Source software is OK for PCI compliance but you must keep the software up to date with a community supported version
  • 19.
    Resources • • • • • • • • Change Logs Documentation Hacked Module CoderModule Devel Module Drupal.org The Internet Denver/Boulder Drupal Users Group (DBUG)
  • 20.
    Upgrading Core • Backupeverything – Make sure to backup sites, .htaccess, robots.txt, .gi tignore – Profiles folder and other folders with customizations • For major upgrades disable all modules • Delete Drupal and extract the new version- add your files back • Run the Update Script
  • 21.
    Upgrading Contrib • Deletethe module • Download the new module • Run the update script
  • 22.
    Drush • Provides core commandsfor managing Drupal Development • Drush up • Added commands from many modules including coder and migrate
  • 23.
    Upgrading Custom Modules •You will need to upgrade to match new APIs and other changes • Often a customization needed in one version is not need in another • You do not need to re-write custom modules for most minor updates • Run modules through Coder to make sure it meets Drupal Coding Standards
  • 24.
    Big Modules • Thereare some big modules that take more to upgrade • Make sure your modules will work with the versions of Drupal you want to use • Check documentation
  • 25.
    Upgrading Themes • Themingchanges with major versions (theme engines) • Themes may need to change for minor versions • Make sure that you are only doing theme things in the theme • Drupal 8 will use Twig
  • 26.
  • 27.
    Git With It •Worth considering for managing code • A must have for multiple people working on a site • Needed for managing patches and contributing to D.O • Git Hub is free to very low cost for code management
  • 28.
    Time? • How muchtime does it take? – Major upgrades – Minor upgrades • What if it takes so much time I cant have my server down? • Can we do it in parts?
  • 29.
    The Things ThatMay Cause Nightmares • Modules that are not upgraded • Migration paths for modules • Sites that have been “hacked” • Custom code
  • 30.
    Smooth Sailing • Planning •Test, test, test • Read the documentation • Multiple server environment • Give yourself enough time
  • 31.
    Back Drop • Newsystem designed to be better at backward compatibility with APIs • Plans to add support for many Drupal 8 tools without switching to OO development • There is no direct upgrade path yet
  • 32.
    Migrate Module • UseMigrate Module to move content from one site or another • Use to Drupal to Drupal Migrate module to migrate between Drupal sites – For example Drupal 6 to 7
  • 33.
    Upgrade Alternatives • Migrate– Drupal to Drupal • Self maintain • Switch platforms
  • 34.