This document discusses tools for migrating content from Drupal 7 to Drupal 8, including the standard one-click upgrade interface, the Migrate module, and the Feeds module. The standard upgrade interface provides an automated way to migrate configuration and content with some limitations around fields and file formats. The Migrate module allows for more customized migrations by defining migration paths in YAML files. The Feeds module provides an interface for importing content via CSV or other formats.
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Migrate Drupal 7 Content to Drupal 8 with Feeds and Migrate Tools
1. CONTENT
MIGRATION
INTO DRUPAL8
WITH ONE CLICK EASE
FOR SITE BUILDERS
Case study ::Work in progress
Irina Zaks izaks@stanford.edu
http://fibonacciwebstudio.com/
2. In this presentation
We will talk about
Content MigrationTools
We will not present today
— Standard Upgrade via web
interface
— Feeds
— Migrate Tools
◦ Setting up migration with drush
◦ Customizing migration paths
— New Feeds_Migrate module
in development
— Reasons to migration to D8
— Views upgrades
— Theme upgrades
— Functionality/Rules upgrades
— Composer
— Drupal Console
— Configuration Split
— All great new things in Drupal
8
— World Peace
— .... and many more
3. What you will learn today
— Connecting to the existing website that
you'd like to upgrade
— The modules you'll need for Drupal 8
— Blocks,Theme, andViews migrations
— Tools for moving content from other
systems:
◦ Feeds
◦ Migrate Plus
◦ Feeds_Migrate – new module in development
4. 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
5.
6. Website is supporting mission and
operation of your organization
— Websites are living creatures
— As organization changes, so should the
website
— Websites change, grow, shrink as do
organizations that these sites support
— Website average lifetime is 4-5 years
7. Why do you want to migrate
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!
8. What do you want to migrate -
Review
— Information architecture
◦ Data models
◦ Relationships
— Content – pages, images, documents
— Designs
◦ Index pages
◦ Pages layout
— Editor’s UX and UI
— Functionality and workflows
9. What do you want to migrate -
Decide
— What do you want to keep
— What do you want to delete
— What do you want to change
— What do you want to add
11. Using KIPAC website migration
— Research Center
Website
— Well defined content
types and
relationships
— Good content,
images, video
— Integrated with
mailing lists, etc.
— Non-responsive
theme
— Poor experience for
content managers
— Migration completed
in early 2017
12.
13.
14.
15. Brief history of Drupal migrations
— Upgrades between major versions of
Drupal was a major undertaking
before Drupal 8
— My Drupal migration journey started
with moving 4.7 to D6
— 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
18. 6 to 7 - Routine exercise
— Set up new Drupal 7 site
— Create content types in D7
— Set data export in D6
— Set data import in D7
— Feeds or Migrate
— Unlimited import
— Rollback / Reimport
20. Moving content into Drupal 8
— “One-click “ upgrade via web interface
Configuration > Development->Upgrade
— Set up migrations via drush and manage in
Migrations tab
Structure-> Migrations
— Feeds Module
21. D8 upgrade
— Set up new Drupal 8 site
— Create content types
— Set data export
— Set data import
— Click Upgrade
29. Enable Migration modules
— Core
◦ Migrate
◦ Migrate Drupal
◦ Migrate Drupal UI
— Good Admin experience
◦ Admin menu for convenience of all operations
◦ Pathauto to ensure migration of aliases if
needed
31. Read The Manual
— Make sure that access to the database for
the old site is available from this new site.
— If the old site has private files, a copy of
its files directory must also be accessible.
— Enable all modules on this new site that
are enabled on the old site.
— Do not add any content to the new
site before upgrading.Any existing content
is likely to be overwritten by the upgrade
process.
— The upgrade can take a long time.
37. Drupal is setting your Migration
— Creates content types / fields even if
there are no nodes of this content type
— Creates users and roles
◦ User id’s and roles are preserved
— Reports every step of upgrade in a log
38. Content import
— Content imported – nid’s are preserved
— Url aliases but not pathauto patterns
— Menu items – set in menus, not views
— Not found or access denied links go to
front page by default
39. Standard upgrade limitations
— One time migration – no rollback (you
can restore site from backup)
— Fields Content imported, not display and
form display
— Field collections do not have upgrade
path
— “Plain HTML” format does exist in D8,
new format created during migration
40. Dealing with limitations
— We are discovering other issues as we do
more migrations
— Solutions
◦ Write custom script to solve each issue
◦ Develop features missing in D8 now and
commit to drupal.org
44. Web interface for Migration
— “Execute” button added to web UI in
February, get dev versions here
— https://www.drupal.org/node/2202391/git-
instructions/8.x-4.x/nonmaintainer
— https://www.drupal.org/node/2609548/git-
instructions/8.x-4.x/nonmaintainer
45. Web interface for Migration
— Migration tab
◦ /admin/structure/migrate
— Migration group
◦ /admin/structure/migrate/manage/group_name
/migrations
— Specific migration
◦ /admin/structure/migrate/manage/group_name
/migrations/upgrade_d7_node_stanford_pers
on/execute
51. Current status of Feeds
— Most recent release Sept 6, 2018
— CSV import works out of the box
— Tamper includes more plugins
— Join discussion Feeds weekly meetup
https://drupal.slack.com/messages/C34CE
CZAL/details/ everyThursday 11 am PST
52. Summary – Tools for Moving
Content
— One time full migration via Update
◦ One instance of D6.7 to clean D8
— Feeds – setup via web UI
— MigrateTools+Plus – setup via .yml files
and drush
53. Next step – Feeds+Migrate
— Integration of Feeds UI with Migrate engine
— https://www.drupal.org/project/feeds_migra
te
◦ @MegaChriz + @heddn
— UI and requirements
https://docs.google.com/presentation/d/1H
v8VPh6mD35U2dH2e1HhROKPNkea9GB
3BSetX4St5x8/edit#slide=id.p
— Session @BADcamp on Saturday, Oct 28