SlideShare a Scribd company logo
1 of 47
Download to read offline
Everything You Need to
Know to Plan Your Drupal
8 Site Migration
Eric Sembrat

Kevin Pittman
Eric Scott Sembrat
Web Manager @ Georgia Tech
Ph.D. Student @ Georgia State
President @ Atlanta Drupal Users Group
Founder @ USGweb
twitter: @esembrat

web: webbeh.com
Kevin Pittman
Senior Web Developer @ Georgia Tech
email: webdev@iac.gatech.edu
web: webdev.iac.gatech.edu
And Now, For
Our Goals
Today
A Few Assumptions
This presentation assumes that you are familiar
with a few things:
• Drupal 7 architecture, common plugins, and
best-practices.
• Common content management system
hierarchy and design.
We will do our best to translate any tricky
Drupalese down to something more universal.
Our Goals
Our primary goals for today are:
• Providing an introduction into Drupal 8’s major
changes.
• Providing information on how Drupal 7
content can be migrated to Drupal 8.
Key Major
Changes in
Drupal 8
It’s Drupal 8!
First big release in Drupal since 2011.
Drupal 8 Core Releases
Semantic Versioning
8.2.1Major 

Release
Minor
Release
Patch
Release
Drupal 8 Core Releases
Semantic Versioning
8.2.1Major 

Release
Minor
Release
Patch
Release
Major Releases involve major structural
and API changes.
You don’t see these often.
Drupal 8 Core Releases
Semantic Versioning
8.2.1Major 

Release
Minor
Release
Patch
Release
Minor Releases bring out new
features and functionality.
Releases twice a year.
Drupal 8 Core Releases
Semantic Versioning
8.2.1Major 

Release
Minor
Release
Patch
Release
Patch Releases fix bugs, issues, and
edge-cases.
Releases every month.
Current Version
The path to 8.2.x includes new features like:
• Big Pipe caching
• Drupal migration
• Inline form errors
• Enhanced Block Placement Interface
• Third Party Library Updates (jQuery, etc)
BigPipe
BigPipe adds component-level caching to Drupal.
How	does	this	work?	
During	rendering,	the	personalized	parts	are	turned	into	placeholders.	
By	default,	Drupal	8	uses	traditional	caching	for	replacing	the	placeholders.	
i.e.	we	don't	send	a	response	until	we've	replaced	all	placeholders.	
The	BigPipe	module	introduces	a	new	strategy,	that	allows	us	to	flush	the	
initial	page	first,	and	then	stream	the	replacements	for	the	placeholders.	
This	results	in	hugely	improved	front-end/perceived	performance	(watch	
the	40-second	screencast	above).
Third Party Support
Drupal 8 wholly supports third party libraries, with
the intent to make Drupal more flexible to web
trends and changes.
Making up Drupal 7’s ‘jQuery Update’ snafu.
• Symfony (module development)
• Twig (theme development)
• jQuery
Symfony
Symfony is a PHP framework of reusable
components to which Drupal 8 is built off of.
An ideal platform for creating products (not
websites).
Headless Drupal applications can now be a
reality with Symfony.
Twig
A template engine for PHP leveraged by the
Symfony framework.
Intended to mesh seamlessly with Drupal 8’s
Symfony backend.
Proposed to be cleaner code and structure than
PHPTemplate.
Module Changes
Overall, modules look and act the same as they
did in Drupal 7.
The only major change is in Uninstallation.
Module Changes
The Content 

Editing 

Experience
Content Editing
Content Editing
Content Editing
Content Editing
Enter:
WYSIWYG
CKEditor
Drupal has a WYSIWYG
Drupal 8 finally comes pre-installed with a
WYSIWYG text-editor.
CKeditor is the chosen default editor.
Still Drupal
If you’re expecting Drupal to act more like
WordPress out of the box, Drupal 8 isn’t there yet.
However, Drupal is making strides in making the
editor experience less-tedious out-of-the-box.
Module
Migration
Strategy
Introduction to the Tool
Drupal 8 no longer supports in-place major
upgrades. Instead, a Migrate tool is provided to
import content and settings from a Drupal 6 or 7
website.
Migrate is still experimental as of Drupal 8.2 - it's
usable, but may not copy everything you want or
exaclty the way you'd like things copied
Tool: Preparation
Clone your D7 database to your D8 server. Optionally clone the
filesystem as well.
Install a fresh copy of Drupal 8, but do not configure anything
yet!
Install and enable all modules used on the D7 site that have D8
equivalents. Do not configure any of these modules!
Enable all three Migrate modules (found under CORE -
EXPERIMENTAL): Migrate, Migrate - Drupal, Migrate - Drupal UI
Tool: Operation
Inobvious Steps:
Make sure you are logged in as user #1 (other accounts, even
w/admin, do not work)
Navigate to /upgrade on your Drupal 8 site
Tool: Operation
Enter mySQL DB username and password that can access your
D7 database
Enter local or remote path to your D7 filesystem
Review upgrade paths available - these can't be changed here;
determined by modules enabled
If all looks good, start the migration process, then go get a cup
of coffee (or two or three ...)
Tool: Limitations
Some specific migration paths that aren't available yet:
Views (Hopefully coming in 8.3.x)
Books (Status unknown)
You can bring in your book nodes, but none of the hierarchy
configuration
Blogs (Module is now contrib; status unknown)
PHP Code text filter (Why are you still using this??? ;-)
API: Changes
Much harder for module maintainer to port modules to D8.
Even today, some popular modules still haven't been ported.
Webform - Alternates Available:
Contact Storage: https://www.drupal.org/project/
contact_storage (Plus Field Group, CSV Serialization, Markup,
Field Validation, Contact Storage Export)
YAML Form: https://www.drupal.org/project/yamlform
API: Changes
Ported modules do not always have same features as D7
versions
Be aware that some modules have new names
Administration Menu (admin_menu) -> Admin Toolbar
(admin_toolbar)
Many Drupal 7 modules may never be ported
Custom modules must be rewritten to work with Drupal 8
Module Migration Planning
Assess your D7 site's modules - make a spreadsheet and research each
one for D8 upgrade paths
No direct path available? Determine if the module can simply be
discarded. If not:
• Port it yourself (you'll need some good PHP coding experience)
• Pay someone to port it (you'll need $$$)
• Find an alternative module that does roughly the same thing (you
may lose data or have to manually migrate your data).
No easy solution, but for the future, avoid using modules that don't have
a solid history
Porting Your Custom Modules:
API Changes
Config files now written in YAML
Many hook_* API calls are gone
Blocks, filters, etc. are now written into autoloader class files
Plan on it taking a while to port a module to Drupal 8
Porting Your Custom Modules:
API Changes (Gotchas)
All output must be returned as a render array
Plain HTML can be sent as #markup, but is filtered to protect
against XSS vulnerabilities
May need to whitelist additional HTML tags and/or enable
additional URL protocols
• See http://webdev.iac.gatech.edu/drupal-8-migration for
details
Twig based rendering is recommended, but not required. Has
its own quirks.
Porting Themes
Themes use the Module API, so everything said above applies
to themes
Templating now done using the Twig language
May be easier to set up a subtheme of a core D8 theme and
then add your customizations to that subtheme
Questions?

More Related Content

What's hot

Building GPE: What We Learned
Building GPE: What We LearnedBuilding GPE: What We Learned
Building GPE: What We Learned
rajeevdayal
 
Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?
Alkuvoima
 

What's hot (20)

Building GPE: What We Learned
Building GPE: What We LearnedBuilding GPE: What We Learned
Building GPE: What We Learned
 
Drupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths DebunkedDrupal 8 Adoption Myths Debunked
Drupal 8 Adoption Myths Debunked
 
Using Features
Using FeaturesUsing Features
Using Features
 
Configuration as Code: The Job DSL Plugin
Configuration as Code: The Job DSL PluginConfiguration as Code: The Job DSL Plugin
Configuration as Code: The Job DSL Plugin
 
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...
 
A Simple Plugin Architecture for Wicket
A Simple Plugin Architecture for WicketA Simple Plugin Architecture for Wicket
A Simple Plugin Architecture for Wicket
 
Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?Drupal 8 - What’s cooking?
Drupal 8 - What’s cooking?
 
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
The Open-source Eclipse Plugin for Force.com Development, Summer ‘14
 
Drupal 8 Quick Start: An Overview of Lightning
Drupal 8 Quick Start: An Overview of LightningDrupal 8 Quick Start: An Overview of Lightning
Drupal 8 Quick Start: An Overview of Lightning
 
A new tool for measuring performance in Drupal 8 - DrupalCamp London
A new tool for measuring performance in Drupal 8 - DrupalCamp LondonA new tool for measuring performance in Drupal 8 - DrupalCamp London
A new tool for measuring performance in Drupal 8 - DrupalCamp London
 
Drupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 Migration
Drupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 MigrationDrupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 Migration
Drupal Webinar: Ignite and Accelerate Your Drupal 7 to Drupal 9 Migration
 
"Paragraphs are more powerful than you can expect" from Vasily Jaremchuk for ...
"Paragraphs are more powerful than you can expect" from Vasily Jaremchuk for ..."Paragraphs are more powerful than you can expect" from Vasily Jaremchuk for ...
"Paragraphs are more powerful than you can expect" from Vasily Jaremchuk for ...
 
Laravel Eloquent ORM
Laravel Eloquent ORMLaravel Eloquent ORM
Laravel Eloquent ORM
 
So, you want to be a plugin developer?
So, you want to be a plugin developer?So, you want to be a plugin developer?
So, you want to be a plugin developer?
 
Ask the XPages Experts
Ask the XPages ExpertsAsk the XPages Experts
Ask the XPages Experts
 
WordCamp KC: The WordPress Theme Repository
WordCamp KC: The WordPress Theme RepositoryWordCamp KC: The WordPress Theme Repository
WordCamp KC: The WordPress Theme Repository
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
 
WordCamp TOR: Beyond The Guidelines - Theme Development Best Practices (Vol 1)
WordCamp TOR: Beyond The Guidelines - Theme Development Best Practices (Vol 1)WordCamp TOR: Beyond The Guidelines - Theme Development Best Practices (Vol 1)
WordCamp TOR: Beyond The Guidelines - Theme Development Best Practices (Vol 1)
 
FuelPHP - a PHP HMVC Framework by silicongulf.com
FuelPHP - a PHP HMVC Framework by silicongulf.comFuelPHP - a PHP HMVC Framework by silicongulf.com
FuelPHP - a PHP HMVC Framework by silicongulf.com
 
WordCamp KC 2012: Simplifying Theme Functionality
WordCamp KC 2012: Simplifying Theme FunctionalityWordCamp KC 2012: Simplifying Theme Functionality
WordCamp KC 2012: Simplifying Theme Functionality
 

Viewers also liked

EY Cuba Presentation - ZED Mariel Open to the World, Nov 2015
EY Cuba Presentation - ZED Mariel Open to the World, Nov 2015EY Cuba Presentation - ZED Mariel Open to the World, Nov 2015
EY Cuba Presentation - ZED Mariel Open to the World, Nov 2015
Matthew Pickles
 
битви та полководці русі україни - перевірка знань
битви та полководці русі україни - перевірка знаньбитви та полководці русі україни - перевірка знань
битви та полководці русі україни - перевірка знань
viktorzadan
 

Viewers also liked (18)

дистанційне навчання для керівників
дистанційне навчання для керівниківдистанційне навчання для керівників
дистанційне навчання для керівників
 
Amsterdam - My Dream city
Amsterdam - My Dream cityAmsterdam - My Dream city
Amsterdam - My Dream city
 
Stages
StagesStages
Stages
 
PEC-55-Cartilha_Oposicao
PEC-55-Cartilha_OposicaoPEC-55-Cartilha_Oposicao
PEC-55-Cartilha_Oposicao
 
Six Cornerstones of Successful Brands
Six Cornerstones of Successful BrandsSix Cornerstones of Successful Brands
Six Cornerstones of Successful Brands
 
тиждень 2 куратор
тиждень 2 куратортиждень 2 куратор
тиждень 2 куратор
 
Pet 6138-delacao-sergio machado-volume001
Pet 6138-delacao-sergio machado-volume001Pet 6138-delacao-sergio machado-volume001
Pet 6138-delacao-sergio machado-volume001
 
EY Cuba Presentation - ZED Mariel Open to the World, Nov 2015
EY Cuba Presentation - ZED Mariel Open to the World, Nov 2015EY Cuba Presentation - ZED Mariel Open to the World, Nov 2015
EY Cuba Presentation - ZED Mariel Open to the World, Nov 2015
 
презентація курсу тср
презентація курсу тсрпрезентація курсу тср
презентація курсу тср
 
Laranjal -- 26 ap inqpol12
Laranjal -- 26 ap inqpol12Laranjal -- 26 ap inqpol12
Laranjal -- 26 ap inqpol12
 
Perícia da PF na Lista de Furnas
Perícia da PF na Lista de FurnasPerícia da PF na Lista de Furnas
Perícia da PF na Lista de Furnas
 
Mossack 17.3
Mossack 17.3Mossack 17.3
Mossack 17.3
 
Mossack 17.4
Mossack 17.4Mossack 17.4
Mossack 17.4
 
Temer e a inteligência dos EUA
Temer e a inteligência dos EUATemer e a inteligência dos EUA
Temer e a inteligência dos EUA
 
Web Analytics 101 - Ned Poulter @MMUBS #dsmmcm
Web Analytics 101 - Ned Poulter @MMUBS #dsmmcmWeb Analytics 101 - Ned Poulter @MMUBS #dsmmcm
Web Analytics 101 - Ned Poulter @MMUBS #dsmmcm
 
Building Brand Value Sustainably: How to Authentically Embed Sustainability i...
Building Brand Value Sustainably: How to Authentically Embed Sustainability i...Building Brand Value Sustainably: How to Authentically Embed Sustainability i...
Building Brand Value Sustainably: How to Authentically Embed Sustainability i...
 
битви та полководці русі україни - перевірка знань
битви та полководці русі україни - перевірка знаньбитви та полководці русі україни - перевірка знань
битви та полководці русі україни - перевірка знань
 
Vertical Video POV
Vertical Video POVVertical Video POV
Vertical Video POV
 

Similar to October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drupal 8 Site Migration

What's New & Cool in Drupal 7
What's New & Cool in Drupal 7What's New & Cool in Drupal 7
What's New & Cool in Drupal 7
O'Reilly Media
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
Lauren Roth
 

Similar to October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drupal 8 Site Migration (20)

Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and Pantheon
 
Tools to Upgrade to Drupal 8
Tools to Upgrade to Drupal 8Tools to Upgrade to Drupal 8
Tools to Upgrade to Drupal 8
 
How to Migrate Drupal 6 to Drupal 8?
How to Migrate Drupal 6 to Drupal 8?How to Migrate Drupal 6 to Drupal 8?
How to Migrate Drupal 6 to Drupal 8?
 
Lazy Coder Camp Edition 1
Lazy Coder Camp Edition 1Lazy Coder Camp Edition 1
Lazy Coder Camp Edition 1
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7
 
DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8DDAY2014 - Features per Drupal 8
DDAY2014 - Features per Drupal 8
 
Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API Changes
 
Drupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 MigrationDrupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 Migration
 
Why I've Not bothered With Drupal 8
Why I've Not bothered With Drupal 8Why I've Not bothered With Drupal 8
Why I've Not bothered With Drupal 8
 
What's New & Cool in Drupal 7
What's New & Cool in Drupal 7What's New & Cool in Drupal 7
What's New & Cool in Drupal 7
 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
 
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Drupal upgrades and migrations. BAD Camp 2013 version
Drupal upgrades and migrations. BAD Camp 2013 versionDrupal upgrades and migrations. BAD Camp 2013 version
Drupal upgrades and migrations. BAD Camp 2013 version
 
Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7Drupalcamp Estonia - Drupal 7
Drupalcamp Estonia - Drupal 7
 
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
 
The Top 10 Features to Watch Out for in Drupal 8
The Top 10 Features to Watch Out for in Drupal 8The Top 10 Features to Watch Out for in Drupal 8
The Top 10 Features to Watch Out for in Drupal 8
 
Fronteers - Drupal 7 ux
Fronteers   - Drupal 7 uxFronteers   - Drupal 7 ux
Fronteers - Drupal 7 ux
 

More from Eric Sembrat

HighEdWeb 2017 - Unbundle Your Institution: Building a Web Ecosystem
HighEdWeb 2017 - Unbundle Your Institution: Building a Web EcosystemHighEdWeb 2017 - Unbundle Your Institution: Building a Web Ecosystem
HighEdWeb 2017 - Unbundle Your Institution: Building a Web Ecosystem
Eric Sembrat
 
October 2016 - edUi - Save Us, Self Service!
October 2016 - edUi - Save Us, Self Service!October 2016 - edUi - Save Us, Self Service!
October 2016 - edUi - Save Us, Self Service!
Eric Sembrat
 

More from Eric Sembrat (20)

WPCampus 2019 - Website Renewal Services
WPCampus 2019 - Website Renewal ServicesWPCampus 2019 - Website Renewal Services
WPCampus 2019 - Website Renewal Services
 
September 2018 - Georgia Tech - Science Communications Workshop - Building We...
September 2018 - Georgia Tech - Science Communications Workshop - Building We...September 2018 - Georgia Tech - Science Communications Workshop - Building We...
September 2018 - Georgia Tech - Science Communications Workshop - Building We...
 
USG Web Tech Day 2018 - Microsoft Teams, Collaboration, & You
USG Web Tech Day 2018 - Microsoft Teams, Collaboration, & YouUSG Web Tech Day 2018 - Microsoft Teams, Collaboration, & You
USG Web Tech Day 2018 - Microsoft Teams, Collaboration, & You
 
USG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel VisionUSG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel Vision
 
USG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 DaysUSG Rock Eagle 2017 - PWP at 1000 Days
USG Rock Eagle 2017 - PWP at 1000 Days
 
HighEdWeb 2017 - Unbundle Your Institution: Building a Web Ecosystem
HighEdWeb 2017 - Unbundle Your Institution: Building a Web EcosystemHighEdWeb 2017 - Unbundle Your Institution: Building a Web Ecosystem
HighEdWeb 2017 - Unbundle Your Institution: Building a Web Ecosystem
 
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
January 2017 - WPCampus Online - Learning from Drupal: Implementing WordPress...
 
November 2016 - ECN - You're Speaking Drupalese to Me
November 2016 - ECN - You're Speaking Drupalese to MeNovember 2016 - ECN - You're Speaking Drupalese to Me
November 2016 - ECN - You're Speaking Drupalese to Me
 
November 2016 - Georgia Tech - Building a Research Website
November 2016 - Georgia Tech - Building a Research WebsiteNovember 2016 - Georgia Tech - Building a Research Website
November 2016 - Georgia Tech - Building a Research Website
 
October 2016 - edUi - Save Us, Self Service!
October 2016 - edUi - Save Us, Self Service!October 2016 - edUi - Save Us, Self Service!
October 2016 - edUi - Save Us, Self Service!
 
April 2016 - MiniCamp Atlanta - SMACSS - Preparing Drupal 8 CSS Organization
April 2016 - MiniCamp Atlanta - SMACSS - Preparing Drupal 8 CSS OrganizationApril 2016 - MiniCamp Atlanta - SMACSS - Preparing Drupal 8 CSS Organization
April 2016 - MiniCamp Atlanta - SMACSS - Preparing Drupal 8 CSS Organization
 
August 2016 - DrupalCorn - The Paragraphs Cake - Structured & Layered Content...
August 2016 - DrupalCorn - The Paragraphs Cake - Structured & Layered Content...August 2016 - DrupalCorn - The Paragraphs Cake - Structured & Layered Content...
August 2016 - DrupalCorn - The Paragraphs Cake - Structured & Layered Content...
 
April 2016 - Atlanta WordPress Users Group - Child Themes
April 2016 - Atlanta WordPress Users Group - Child ThemesApril 2016 - Atlanta WordPress Users Group - Child Themes
April 2016 - Atlanta WordPress Users Group - Child Themes
 
April 2016 - USG Web Tech Day - Let's Talk Drupal
April 2016 - USG Web Tech Day - Let's Talk DrupalApril 2016 - USG Web Tech Day - Let's Talk Drupal
April 2016 - USG Web Tech Day - Let's Talk Drupal
 
October 2015 - USG Rock Eagle - USGweb
October 2015 - USG Rock Eagle - USGwebOctober 2015 - USG Rock Eagle - USGweb
October 2015 - USG Rock Eagle - USGweb
 
October 2015 - USG Rock Eagle - Drupal 8
October 2015 - USG Rock Eagle - Drupal 8October 2015 - USG Rock Eagle - Drupal 8
October 2015 - USG Rock Eagle - Drupal 8
 
USG Rock Eagle - October 2015 - PWP at Georgia Tech
USG Rock Eagle - October 2015 - PWP at Georgia TechUSG Rock Eagle - October 2015 - PWP at Georgia Tech
USG Rock Eagle - October 2015 - PWP at Georgia Tech
 
Atlanta Drupal Users Group - October 2015 - Success of the GT Redesign
Atlanta Drupal Users Group - October 2015 - Success of the GT RedesignAtlanta Drupal Users Group - October 2015 - Success of the GT Redesign
Atlanta Drupal Users Group - October 2015 - Success of the GT Redesign
 
August 2015 - Web Governance - PWP Introduction
August 2015 - Web Governance - PWP IntroductionAugust 2015 - Web Governance - PWP Introduction
August 2015 - Web Governance - PWP Introduction
 
Atlanta Drupal User's Group - April 2015 - Sasstronauts: Advanced Sass Topics
Atlanta Drupal User's Group - April 2015 - Sasstronauts: Advanced Sass TopicsAtlanta Drupal User's Group - April 2015 - Sasstronauts: Advanced Sass Topics
Atlanta Drupal User's Group - April 2015 - Sasstronauts: Advanced Sass Topics
 

Recently uploaded

Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
ssuserdda66b
 

Recently uploaded (20)

Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 

October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drupal 8 Site Migration

  • 1. Everything You Need to Know to Plan Your Drupal 8 Site Migration Eric Sembrat
 Kevin Pittman
  • 2. Eric Scott Sembrat Web Manager @ Georgia Tech Ph.D. Student @ Georgia State President @ Atlanta Drupal Users Group Founder @ USGweb twitter: @esembrat
 web: webbeh.com
  • 3. Kevin Pittman Senior Web Developer @ Georgia Tech email: webdev@iac.gatech.edu web: webdev.iac.gatech.edu
  • 4. And Now, For Our Goals Today
  • 5. A Few Assumptions This presentation assumes that you are familiar with a few things: • Drupal 7 architecture, common plugins, and best-practices. • Common content management system hierarchy and design. We will do our best to translate any tricky Drupalese down to something more universal.
  • 6. Our Goals Our primary goals for today are: • Providing an introduction into Drupal 8’s major changes. • Providing information on how Drupal 7 content can be migrated to Drupal 8.
  • 8. It’s Drupal 8! First big release in Drupal since 2011.
  • 9. Drupal 8 Core Releases Semantic Versioning 8.2.1Major 
 Release Minor Release Patch Release
  • 10. Drupal 8 Core Releases Semantic Versioning 8.2.1Major 
 Release Minor Release Patch Release Major Releases involve major structural and API changes. You don’t see these often.
  • 11. Drupal 8 Core Releases Semantic Versioning 8.2.1Major 
 Release Minor Release Patch Release Minor Releases bring out new features and functionality. Releases twice a year.
  • 12. Drupal 8 Core Releases Semantic Versioning 8.2.1Major 
 Release Minor Release Patch Release Patch Releases fix bugs, issues, and edge-cases. Releases every month.
  • 13. Current Version The path to 8.2.x includes new features like: • Big Pipe caching • Drupal migration • Inline form errors • Enhanced Block Placement Interface • Third Party Library Updates (jQuery, etc)
  • 14. BigPipe BigPipe adds component-level caching to Drupal. How does this work? During rendering, the personalized parts are turned into placeholders. By default, Drupal 8 uses traditional caching for replacing the placeholders. i.e. we don't send a response until we've replaced all placeholders. The BigPipe module introduces a new strategy, that allows us to flush the initial page first, and then stream the replacements for the placeholders. This results in hugely improved front-end/perceived performance (watch the 40-second screencast above).
  • 15. Third Party Support Drupal 8 wholly supports third party libraries, with the intent to make Drupal more flexible to web trends and changes. Making up Drupal 7’s ‘jQuery Update’ snafu. • Symfony (module development) • Twig (theme development) • jQuery
  • 16. Symfony Symfony is a PHP framework of reusable components to which Drupal 8 is built off of. An ideal platform for creating products (not websites). Headless Drupal applications can now be a reality with Symfony.
  • 17. Twig A template engine for PHP leveraged by the Symfony framework. Intended to mesh seamlessly with Drupal 8’s Symfony backend. Proposed to be cleaner code and structure than PHPTemplate.
  • 18. Module Changes Overall, modules look and act the same as they did in Drupal 7. The only major change is in Uninstallation.
  • 20. The Content 
 Editing 
 Experience
  • 26. Drupal has a WYSIWYG Drupal 8 finally comes pre-installed with a WYSIWYG text-editor. CKeditor is the chosen default editor.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Still Drupal If you’re expecting Drupal to act more like WordPress out of the box, Drupal 8 isn’t there yet. However, Drupal is making strides in making the editor experience less-tedious out-of-the-box.
  • 36. Introduction to the Tool Drupal 8 no longer supports in-place major upgrades. Instead, a Migrate tool is provided to import content and settings from a Drupal 6 or 7 website. Migrate is still experimental as of Drupal 8.2 - it's usable, but may not copy everything you want or exaclty the way you'd like things copied
  • 37. Tool: Preparation Clone your D7 database to your D8 server. Optionally clone the filesystem as well. Install a fresh copy of Drupal 8, but do not configure anything yet! Install and enable all modules used on the D7 site that have D8 equivalents. Do not configure any of these modules! Enable all three Migrate modules (found under CORE - EXPERIMENTAL): Migrate, Migrate - Drupal, Migrate - Drupal UI
  • 38. Tool: Operation Inobvious Steps: Make sure you are logged in as user #1 (other accounts, even w/admin, do not work) Navigate to /upgrade on your Drupal 8 site
  • 39. Tool: Operation Enter mySQL DB username and password that can access your D7 database Enter local or remote path to your D7 filesystem Review upgrade paths available - these can't be changed here; determined by modules enabled If all looks good, start the migration process, then go get a cup of coffee (or two or three ...)
  • 40. Tool: Limitations Some specific migration paths that aren't available yet: Views (Hopefully coming in 8.3.x) Books (Status unknown) You can bring in your book nodes, but none of the hierarchy configuration Blogs (Module is now contrib; status unknown) PHP Code text filter (Why are you still using this??? ;-)
  • 41. API: Changes Much harder for module maintainer to port modules to D8. Even today, some popular modules still haven't been ported. Webform - Alternates Available: Contact Storage: https://www.drupal.org/project/ contact_storage (Plus Field Group, CSV Serialization, Markup, Field Validation, Contact Storage Export) YAML Form: https://www.drupal.org/project/yamlform
  • 42. API: Changes Ported modules do not always have same features as D7 versions Be aware that some modules have new names Administration Menu (admin_menu) -> Admin Toolbar (admin_toolbar) Many Drupal 7 modules may never be ported Custom modules must be rewritten to work with Drupal 8
  • 43. Module Migration Planning Assess your D7 site's modules - make a spreadsheet and research each one for D8 upgrade paths No direct path available? Determine if the module can simply be discarded. If not: • Port it yourself (you'll need some good PHP coding experience) • Pay someone to port it (you'll need $$$) • Find an alternative module that does roughly the same thing (you may lose data or have to manually migrate your data). No easy solution, but for the future, avoid using modules that don't have a solid history
  • 44. Porting Your Custom Modules: API Changes Config files now written in YAML Many hook_* API calls are gone Blocks, filters, etc. are now written into autoloader class files Plan on it taking a while to port a module to Drupal 8
  • 45. Porting Your Custom Modules: API Changes (Gotchas) All output must be returned as a render array Plain HTML can be sent as #markup, but is filtered to protect against XSS vulnerabilities May need to whitelist additional HTML tags and/or enable additional URL protocols • See http://webdev.iac.gatech.edu/drupal-8-migration for details Twig based rendering is recommended, but not required. Has its own quirks.
  • 46. Porting Themes Themes use the Module API, so everything said above applies to themes Templating now done using the Twig language May be easier to set up a subtheme of a core D8 theme and then add your customizations to that subtheme