SlideShare a Scribd company logo
Site Building Track
Case Study :: Work in Progress
https://events.drupal.org/nashville2018/sessions/one-click-upgrade-drupal-8-how-why-and-when
Irina Zaks
irina.zaks@fibonacciwebstudio.com
Content Migration into Drupal 8
with One Click Ease
for Site Builders
About me
• https://www.drupal.org/u/irinaz
• https://opensource.stanford.edu/
• http://fibonacciwebstudio.com/about-us
In this presentation
We will talk about
Content Migration Tools
● Drupal Upgrade via web interface
● Using Migrate module
● Using drush for migrations
● Customizing migration paths
We will not present today
● Views upgrades
● Theme upgrades
● Functionality upgrades
● Composer
● Drupal Console
● Configuration Split
● All great new things in Drupal 8
● World Peace
● .... and many more
WARNING!
● This demo uses dev tools
● Things might and will break
● Interface and features can and
will change without notification
STAY CALM and
DRUPAL ON
WHY DO WE NEED TO MIGRATE CONTENT
Website supports your organization
o Websites change, grow, shrink as do organizations that these sites
support
o Websites change with technology and fashion
o Website’s average lifetime is 4-5 years
Why do you change your website
1. Our organization has changed and website needs to reflect it
2. We want new fresh feel and look
3. Our site needs to be mobile friendly
4. Our site is very difficult to manage
5. Everyone is on Drupal 8 now
6. Drupal 7 will not have security updates
WE GOT BUDGET – LET’s BEGIN!
What to migrate - Review
o Information architecture
○ Data models
○ Relationships
o Content – pages, images, documents
o Designs
○ Index pages
○ Pages layout
o Editor’s UX and UI
o Functionality and workflows
Document your
findings
What to migrate - Decide
o What do you want to keep
o What do you want to delete
o What do you want to change
o What do you want to add
if (enough content to keep)
{ Migration }
else
{ Build new website }
Ready for
Moving
Example website migration
Problems to solve
o Non-responsive theme
o Poor experience for content
managers
Keep good stuff
o Well defined content types
and relationships
o Good content, images, video
Simple Tools for Everyone
Brief history of Drupal migrations
o Upgrades between major versions of Drupal was a major undertaking
before Drupal 8
o My Drupal migration journey started with moving 4.7 to D6
o Upgrade in D8 was one of the most pleasant surprises
4.7 to 5 to 6 - Always an adventure
Early Migrate module, SQL scripts
6 to 7 - Routine exercise
Migrate / Feeds Modules
6 to 7 - Routine exercise
Tools and Features
o Feeds or Migrate
o Unlimited import
o Rollback / Reimport
Process
o Set up new Drupal 7 site
o Create content types in D7
o Set data export in D6
o Set data import in D7
6/7 to 8
Pleasant walk in the park
D8 upgrade
NEW - D7 to D8
o Set up new Drupal 8 site
o Create content types
o Set data export
o Set data import
o Click Upgrade or run Migrate
OLD - D6 to D7
o Set up new Drupal 7 site
o Create content types in D7
o Set data export in D6
o Set data import in D7
Two ways to upgrade
“One-click “ upgrade via
web interface
Configuration >
Development-> /upgrade
Set up migrations via
drush and manage in
Migrations tab
Structure-> Migrations
/admin/structure/migrate
GETTING READY
OLD SITE REVIEW, NEW SITE SETUP
Source D7 site - Review
o Person content type with various
fields
○ Text
○ Date
○ Entity reference
○ Image, etc.
Source D7 site - Review
o Page layout / display
o Image styles
o URL’s – aliases, patterns
o Views
o Menu
o Front page
DevOps
Thanks to Pantheon for providing all tools
o Dev / test / multidev instances
o Backups
o Db / files export/import
o Drush
Destination - New site D8
o Setup new blank Drupal 8 site
http://dev-drupal-8-content-migration.pantheonsite.io/
o Many major modules are now in core
○ Views
○ Path
Destination - New site D8
o Add “your” basic set of modules
1. Admin Toolbar (replaces Admin Menu)
2. Pathauto (requires token and ctools)
3. Devel
4. Ctools
5. Token
6. Diff
MIGRATION DEMO
Enable Migration modules
o Core
○ Migrate
○ Migrate Drupal
○ Migrate Drupal UI
o Good Admin experience
○ Admin menu for convenience of all operations
○ Pathauto to ensure migration of aliases if needed
Start Upgrade
Connect to Source site db
●Db
●User
●Password
●port
●File path
Use Clean Instance
o If you have added users, theme logo, any content, before migration you
will see conflict message
List of default migration paths
o ## available upgrade paths
○ core modules
o ## missing upgrade paths
○ contrib modules
○ custom modules
○ other features
o Continue
Demo – Recent Log messages
admin/reports/dblog?page=1
Drupal is setting your Migration
o Creates content types / fields even if there are no nodes of this content
type
o Creates users and roles
○ User id’s and roles are preserved
o Reports every step of upgrade in a log
Content import
o Content imported – nid’s are preserved
o Url aliases but not pathauto patterns
o Menu items – set in menus, not views
o Not found or access denied links go to front page by default
Limitations of standard upgrade
o One time migration – no rollback (we used Pantheon Backups)
○ Reimport entire source site if content has been updated
○ New features coming… https://www.drupal.org/project/drupal/issues/2687849
o Fields Content imported, not display and form display
o Field collections do not have upgrade path
o “Plain HTML” format does exist in D8, new format created during
migration
Dealing with limitations
o We are discovering other issues as we do more migrations
o Solutions
○ Write custom script to solve each issue
○ Develop features missing in D8 now and commit to drupal.org
ENTERS DRUSH
Custom updates with drush
o Add modules
○ Drupal Upgrade
○ Migrate Tools
○ Migrate Plus
○ Migrate Manifest
Creating Migration
o drush migrate-upgrade [options] – config-only (does not move content)
o drush @pantheon.your-site.dev --strict=0 migrate-upgrade --legacy-db-
url=mysql://dbusername:dbpasswordhere@mysql-
user.stanford.edu/dbname
Web interface for Migration
o “Execute” button added to web UI in February, get dev versions here
o https://www.drupal.org/node/2202391/git-instructions/8.x-
4.x/nonmaintainer
o https://www.drupal.org/node/2609548/git-instructions/8.x-
4.x/nonmaintainer
Web interface for Migration
o Migration tab
○ /admin/structure/migrate
o Migration group
○ /admin/structure/migrate/manage/group_name/migrations
o Specific migration
○ /admin/structure/migrate/manage/group_name/migrations/upgrade_d7_node_stanfor
d_person/execute
Migrate Options
o Import
o Rollback
o Stop
o Reset
CUSTOMIZING MIGRATIONS
Migrate Manifest
o Standard manifest installed with Migrate Manifest Module in root
directory /manifest.yml
o Intercept standard upgrade and launch custom manifest(s)
○ /manifest2.yml
○ /manifest-news.yml
○ /manifest-date.yml
Custom Migrations
Field Format – work in progress
Drupal 7 – text field Drupal 8 – new field
FEEDS + MIGRATE?
Current status of Feeds Module
o .csv import is working
o .xml import is about to be released
o Tamper UI is working
o Demo (if there is time)
o Join discussion Feeds weekly meetup
https://drupal.slack.com/messages/C34CECZAL/details/ every Thursday
11 am PST
Feeds UI with Migrate back end?
o Join us at Sprints on Thursday at 11 am (on the first floor in Sprint
Lounge, room 104A)
o Join discussion at
https://drupal.slack.com/messages/C34CECZAL/details/ every Thursday
1 pm Nashville time, 11 am PST
Summary – Tools for Moving Content
o One time full migration via Update
○ One instance of D6/7 to clean D8
o Ongoing updates from Drupal 7 to Drupal 8 sites via Migrate Tools+Plus
o Migration customization using Migrate Manifest
o Feeds
○ Import from various sources
Experience is
something you don’t
get until just after you
need it
Steven Wright / Internet
“ “
Join us for
contribution sprints
Friday, April 13, 2018
9:00-12:00
Room: Stolz 2
Mentored
Core sprint
First time
sprinter workshop
General
sprint
#drupalsprint
9:00-12:00
Room: Stolz 2
9:00-12:00
Room: Stolz 2
What did you think?
Locate this session at the DrupalCon Nashville website:
https://events.drupal.org/nashville2018/sessions/one-click-upgrade-
drupal-8-how-why-and-when
Take the Survey!
https://www.surveymonkey.com/r/nashiville

More Related Content

What's hot

Drupal migrations in 2018 - SFDUG, March 8, 2018
Drupal migrations in 2018 - SFDUG, March 8, 2018Drupal migrations in 2018 - SFDUG, March 8, 2018
Drupal migrations in 2018 - SFDUG, March 8, 2018
Irina Zaks
 
Beginners Guide to Drupal
Beginners Guide to DrupalBeginners Guide to Drupal
Beginners Guide to Drupal
Gerald Villorente
 
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
Konstantin Komelin
 
Migrate to Drupal 8
Migrate to Drupal 8Migrate to Drupal 8
Migrate to Drupal 8
Claudiu Cristea
 
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
La Drupalera
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
Micky Metts
 
Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and more
Acquia
 
Getting started with Drupal 8
Getting started with Drupal 8Getting started with Drupal 8
Getting started with Drupal 8
Hector Iribarne
 
Website factory with domain Access: why and how& - Kiêt Trân & David Ferlay
Website factory with domain Access: why and how& - Kiêt Trân & David FerlayWebsite factory with domain Access: why and how& - Kiêt Trân & David Ferlay
Website factory with domain Access: why and how& - Kiêt Trân & David Ferlay
DrupalCamp Kyiv
 
features+
features+features+
features+
Florian Latzel
 
Drush und Multisite: drush_multi
Drush und Multisite: drush_multiDrush und Multisite: drush_multi
Drush und Multisite: drush_multi
Florian Latzel
 
Evolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal communityEvolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal community
Angela Byron
 
Are you ready for Drupal 8?
Are you ready for Drupal 8?Are you ready for Drupal 8?
Are you ready for Drupal 8?
Stephanie Peugh
 
Yet Another Drupal Development/Deployment Presentation
Yet Another Drupal Development/Deployment PresentationYet Another Drupal Development/Deployment Presentation
Yet Another Drupal Development/Deployment Presentation
digital006
 
Drupal Best Practices
Drupal Best PracticesDrupal Best Practices
Drupal Best Practices
Mukesh Agarwal
 
Drupal core indeas - Andy Postnikov
Drupal core indeas  - Andy PostnikovDrupal core indeas  - Andy Postnikov
Drupal core indeas - Andy Postnikov
DrupalCamp Kyiv
 
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
Roberto Peruzzo
 
The OpenEuropa Initiative
The OpenEuropa InitiativeThe OpenEuropa Initiative
The OpenEuropa Initiative
Nuvole
 
Drupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using DrupalDrupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using Drupal
Vibrant Technologies & Computers
 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
Kathryn Carruthers
 

What's hot (20)

Drupal migrations in 2018 - SFDUG, March 8, 2018
Drupal migrations in 2018 - SFDUG, March 8, 2018Drupal migrations in 2018 - SFDUG, March 8, 2018
Drupal migrations in 2018 - SFDUG, March 8, 2018
 
Beginners Guide to Drupal
Beginners Guide to DrupalBeginners Guide to Drupal
Beginners Guide to Drupal
 
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
 
Migrate to Drupal 8
Migrate to Drupal 8Migrate to Drupal 8
Migrate to Drupal 8
 
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
 
Drupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal ConceptsDrupal 7x Installation - Introduction to Drupal Concepts
Drupal 7x Installation - Introduction to Drupal Concepts
 
Drupal 8 improvements for developer productivity php symfony and more
Drupal 8 improvements for developer productivity  php symfony and moreDrupal 8 improvements for developer productivity  php symfony and more
Drupal 8 improvements for developer productivity php symfony and more
 
Getting started with Drupal 8
Getting started with Drupal 8Getting started with Drupal 8
Getting started with Drupal 8
 
Website factory with domain Access: why and how& - Kiêt Trân & David Ferlay
Website factory with domain Access: why and how& - Kiêt Trân & David FerlayWebsite factory with domain Access: why and how& - Kiêt Trân & David Ferlay
Website factory with domain Access: why and how& - Kiêt Trân & David Ferlay
 
features+
features+features+
features+
 
Drush und Multisite: drush_multi
Drush und Multisite: drush_multiDrush und Multisite: drush_multi
Drush und Multisite: drush_multi
 
Evolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal communityEvolution of Drupal and the Drupal community
Evolution of Drupal and the Drupal community
 
Are you ready for Drupal 8?
Are you ready for Drupal 8?Are you ready for Drupal 8?
Are you ready for Drupal 8?
 
Yet Another Drupal Development/Deployment Presentation
Yet Another Drupal Development/Deployment PresentationYet Another Drupal Development/Deployment Presentation
Yet Another Drupal Development/Deployment Presentation
 
Drupal Best Practices
Drupal Best PracticesDrupal Best Practices
Drupal Best Practices
 
Drupal core indeas - Andy Postnikov
Drupal core indeas  - Andy PostnikovDrupal core indeas  - Andy Postnikov
Drupal core indeas - Andy Postnikov
 
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8
 
The OpenEuropa Initiative
The OpenEuropa InitiativeThe OpenEuropa Initiative
The OpenEuropa Initiative
 
Drupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using DrupalDrupal - Introduction to Building Library Web Site Using Drupal
Drupal - Introduction to Building Library Web Site Using Drupal
 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
 

Similar to Drupal migrations in 2018 - presentation at DrupalCon in Nashville

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?
DrupalGeeks
 
Drupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 MigrationDrupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 Migration
Ameex Technologies
 
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Paul McKibben
 
PPPA D8 presentation Drupal For Gov_0
PPPA D8 presentation Drupal For Gov_0PPPA D8 presentation Drupal For Gov_0
PPPA D8 presentation Drupal For Gov_0
Stan Ascher
 
Migrations
MigrationsMigrations
Migrations
Yaron Tal
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
Mediacurrent
 
Drupal Migration
Drupal MigrationDrupal Migration
Drupal Migration
永对 陈
 
Drupal 8 update: May 2014. Migrate in core.
Drupal 8 update: May 2014. Migrate in core.Drupal 8 update: May 2014. Migrate in core.
Drupal 8 update: May 2014. Migrate in core.
Vladimir Roudakov
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
Philip Norton
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
Eric Sembrat
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
Wong Hoi Sing Edison
 
[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?
Wong Hoi Sing Edison
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
Mediacurrent
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
Acquia
 
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
Phase2
 
Web profiler in drupal 8
Web profiler in drupal 8Web profiler in drupal 8
Web profiler in drupal 8
valuebound
 
Migration to drupal 8.
Migration to drupal 8.Migration to drupal 8.
Migration to drupal 8.
Anatoliy Polyakov
 
Migrating data to Drupal 8
Migrating data to Drupal 8Migrating data to Drupal 8
Migrating data to Drupal 8
F.L. Jonathan Araña Cruz
 
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
Vladimir Roudakov
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD Pipelines
Drew Hansen
 

Similar to Drupal migrations in 2018 - presentation at DrupalCon in Nashville (20)

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?
 
Drupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 MigrationDrupal 6 to Drupal 8 Migration
Drupal 6 to Drupal 8 Migration
 
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
 
PPPA D8 presentation Drupal For Gov_0
PPPA D8 presentation Drupal For Gov_0PPPA D8 presentation Drupal For Gov_0
PPPA D8 presentation Drupal For Gov_0
 
Migrations
MigrationsMigrations
Migrations
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
Drupal Migration
Drupal MigrationDrupal Migration
Drupal Migration
 
Drupal 8 update: May 2014. Migrate in core.
Drupal 8 update: May 2014. Migrate in core.Drupal 8 update: May 2014. Migrate in core.
Drupal 8 update: May 2014. Migrate in core.
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
 
Drupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.xDrupal in 5mins + Previewing Drupal 8.x
Drupal in 5mins + Previewing Drupal 8.x
 
[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?
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
 
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
 
Web profiler in drupal 8
Web profiler in drupal 8Web profiler in drupal 8
Web profiler in drupal 8
 
Migration to drupal 8.
Migration to drupal 8.Migration to drupal 8.
Migration to drupal 8.
 
Migrating data to Drupal 8
Migrating data to Drupal 8Migrating data to Drupal 8
Migrating data to Drupal 8
 
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD Pipelines
 

Recently uploaded

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 

Recently uploaded (20)

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 

Drupal migrations in 2018 - presentation at DrupalCon in Nashville

  • 1.
  • 2. Site Building Track Case Study :: Work in Progress https://events.drupal.org/nashville2018/sessions/one-click-upgrade-drupal-8-how-why-and-when Irina Zaks irina.zaks@fibonacciwebstudio.com Content Migration into Drupal 8 with One Click Ease for Site Builders
  • 3. About me • https://www.drupal.org/u/irinaz • https://opensource.stanford.edu/ • http://fibonacciwebstudio.com/about-us
  • 4. In this presentation We will talk about Content Migration Tools ● Drupal Upgrade via web interface ● Using Migrate module ● Using drush for migrations ● Customizing migration paths We will not present today ● Views upgrades ● Theme upgrades ● Functionality upgrades ● Composer ● Drupal Console ● Configuration Split ● All great new things in Drupal 8 ● World Peace ● .... and many more
  • 5. WARNING! ● This demo uses dev tools ● Things might and will break ● Interface and features can and will change without notification STAY CALM and DRUPAL ON
  • 6. WHY DO WE NEED TO MIGRATE CONTENT
  • 7. Website supports your organization o Websites change, grow, shrink as do organizations that these sites support o Websites change with technology and fashion o Website’s average lifetime is 4-5 years
  • 8. Why do you change your website 1. Our organization has changed and website needs to reflect it 2. We want new fresh feel and look 3. Our site needs to be mobile friendly 4. Our site is very difficult to manage 5. Everyone is on Drupal 8 now 6. Drupal 7 will not have security updates WE GOT BUDGET – LET’s BEGIN!
  • 9. What to migrate - Review o Information architecture ○ Data models ○ Relationships o Content – pages, images, documents o Designs ○ Index pages ○ Pages layout o Editor’s UX and UI o Functionality and workflows Document your findings
  • 10. What to migrate - Decide o What do you want to keep o What do you want to delete o What do you want to change o What do you want to add if (enough content to keep) { Migration } else { Build new website }
  • 12. Example website migration Problems to solve o Non-responsive theme o Poor experience for content managers Keep good stuff o Well defined content types and relationships o Good content, images, video
  • 13. Simple Tools for Everyone
  • 14.
  • 15. Brief history of Drupal migrations o Upgrades between major versions of Drupal was a major undertaking before Drupal 8 o My Drupal migration journey started with moving 4.7 to D6 o Upgrade in D8 was one of the most pleasant surprises
  • 16. 4.7 to 5 to 6 - Always an adventure Early Migrate module, SQL scripts
  • 17. 6 to 7 - Routine exercise Migrate / Feeds Modules
  • 18. 6 to 7 - Routine exercise Tools and Features o Feeds or Migrate o Unlimited import o Rollback / Reimport Process o Set up new Drupal 7 site o Create content types in D7 o Set data export in D6 o Set data import in D7
  • 19. 6/7 to 8 Pleasant walk in the park
  • 20. D8 upgrade NEW - D7 to D8 o Set up new Drupal 8 site o Create content types o Set data export o Set data import o Click Upgrade or run Migrate OLD - D6 to D7 o Set up new Drupal 7 site o Create content types in D7 o Set data export in D6 o Set data import in D7
  • 21. Two ways to upgrade “One-click “ upgrade via web interface Configuration > Development-> /upgrade Set up migrations via drush and manage in Migrations tab Structure-> Migrations /admin/structure/migrate
  • 22. GETTING READY OLD SITE REVIEW, NEW SITE SETUP
  • 23. Source D7 site - Review o Person content type with various fields ○ Text ○ Date ○ Entity reference ○ Image, etc.
  • 24. Source D7 site - Review o Page layout / display o Image styles o URL’s – aliases, patterns o Views o Menu o Front page
  • 25. DevOps Thanks to Pantheon for providing all tools o Dev / test / multidev instances o Backups o Db / files export/import o Drush
  • 26. Destination - New site D8 o Setup new blank Drupal 8 site http://dev-drupal-8-content-migration.pantheonsite.io/ o Many major modules are now in core ○ Views ○ Path
  • 27. Destination - New site D8 o Add “your” basic set of modules 1. Admin Toolbar (replaces Admin Menu) 2. Pathauto (requires token and ctools) 3. Devel 4. Ctools 5. Token 6. Diff
  • 29. Enable Migration modules o Core ○ Migrate ○ Migrate Drupal ○ Migrate Drupal UI o Good Admin experience ○ Admin menu for convenience of all operations ○ Pathauto to ensure migration of aliases if needed
  • 31. Connect to Source site db ●Db ●User ●Password ●port ●File path
  • 32. Use Clean Instance o If you have added users, theme logo, any content, before migration you will see conflict message
  • 33. List of default migration paths o ## available upgrade paths ○ core modules o ## missing upgrade paths ○ contrib modules ○ custom modules ○ other features o Continue
  • 34. Demo – Recent Log messages admin/reports/dblog?page=1
  • 35. Drupal is setting your Migration o Creates content types / fields even if there are no nodes of this content type o Creates users and roles ○ User id’s and roles are preserved o Reports every step of upgrade in a log
  • 36. Content import o Content imported – nid’s are preserved o Url aliases but not pathauto patterns o Menu items – set in menus, not views o Not found or access denied links go to front page by default
  • 37. Limitations of standard upgrade o One time migration – no rollback (we used Pantheon Backups) ○ Reimport entire source site if content has been updated ○ New features coming… https://www.drupal.org/project/drupal/issues/2687849 o Fields Content imported, not display and form display o Field collections do not have upgrade path o “Plain HTML” format does exist in D8, new format created during migration
  • 38. Dealing with limitations o We are discovering other issues as we do more migrations o Solutions ○ Write custom script to solve each issue ○ Develop features missing in D8 now and commit to drupal.org
  • 40. Custom updates with drush o Add modules ○ Drupal Upgrade ○ Migrate Tools ○ Migrate Plus ○ Migrate Manifest
  • 41. Creating Migration o drush migrate-upgrade [options] – config-only (does not move content) o drush @pantheon.your-site.dev --strict=0 migrate-upgrade --legacy-db- url=mysql://dbusername:dbpasswordhere@mysql- user.stanford.edu/dbname
  • 42. Web interface for Migration o “Execute” button added to web UI in February, get dev versions here o https://www.drupal.org/node/2202391/git-instructions/8.x- 4.x/nonmaintainer o https://www.drupal.org/node/2609548/git-instructions/8.x- 4.x/nonmaintainer
  • 43. Web interface for Migration o Migration tab ○ /admin/structure/migrate o Migration group ○ /admin/structure/migrate/manage/group_name/migrations o Specific migration ○ /admin/structure/migrate/manage/group_name/migrations/upgrade_d7_node_stanfor d_person/execute
  • 44. Migrate Options o Import o Rollback o Stop o Reset
  • 46. Migrate Manifest o Standard manifest installed with Migrate Manifest Module in root directory /manifest.yml o Intercept standard upgrade and launch custom manifest(s) ○ /manifest2.yml ○ /manifest-news.yml ○ /manifest-date.yml
  • 47. Custom Migrations Field Format – work in progress Drupal 7 – text field Drupal 8 – new field
  • 49. Current status of Feeds Module o .csv import is working o .xml import is about to be released o Tamper UI is working o Demo (if there is time) o Join discussion Feeds weekly meetup https://drupal.slack.com/messages/C34CECZAL/details/ every Thursday 11 am PST
  • 50. Feeds UI with Migrate back end? o Join us at Sprints on Thursday at 11 am (on the first floor in Sprint Lounge, room 104A) o Join discussion at https://drupal.slack.com/messages/C34CECZAL/details/ every Thursday 1 pm Nashville time, 11 am PST
  • 51. Summary – Tools for Moving Content o One time full migration via Update ○ One instance of D6/7 to clean D8 o Ongoing updates from Drupal 7 to Drupal 8 sites via Migrate Tools+Plus o Migration customization using Migrate Manifest o Feeds ○ Import from various sources
  • 52.
  • 53. Experience is something you don’t get until just after you need it Steven Wright / Internet “ “
  • 54. Join us for contribution sprints Friday, April 13, 2018 9:00-12:00 Room: Stolz 2 Mentored Core sprint First time sprinter workshop General sprint #drupalsprint 9:00-12:00 Room: Stolz 2 9:00-12:00 Room: Stolz 2
  • 55. What did you think? Locate this session at the DrupalCon Nashville website: https://events.drupal.org/nashville2018/sessions/one-click-upgrade- drupal-8-how-why-and-when Take the Survey! https://www.surveymonkey.com/r/nashiville