Presentation on Drupal upgrades presented for Teaming for Technology. See resources at http://www.denverdataman.com/blog/12-12-2013/resources-navigating-drupal-upgrades-versions-6-through-8-and-what-it-means-resource
2. Session Goals
• Components for a
Drupal upgrade
• What is a Drupal
Upgrade
• What are the
challenges
• Understanding why
you need to upgrade
• Upgrade options
5. API
• A set of tools given to
other developers to
build with
• Drupal has many APIs
• In each version of
Drupal the APIs
change
6. Theme
• The design of the site
– Placement
– Colors
– Text size
• Drupal provides an
engine for rendering
the theme
7. 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.
8. 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
9. Bug Fixes
• Released as needed
• Released for both core and contrib
• Contrib releases whenever developers want
10. Security Updates
• Security updates 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
15. New Features in Drupal 7
•
•
•
•
•
•
•
Many API changes
Fields in core
Entities
Overlay
Drag and drop
File support
Secure file system
16. 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
17. 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
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
20. 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
22. Drush
• Provides core
commands for
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
• 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
25. 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
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 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?
29. The Things That May 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
• 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
32. 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