Migrating the Palestine Poster Project from Drupal 7 to Drupal 8

Slides:



Advertisements
Similar presentations
With Folder HelpDesk for Outlook, support centres and other helpdesks can work efficiently with support cases inside Microsoft Outlook. The support tickets.
Advertisements

Become a Panels Rockstar. Audience Survey Have you tried Panels? Are you a …. –Themer / Designer? –Developer / Code Junkie? –Information Architect?
Moving stuff around on your Drupal web pages Alex Bergin / Dept. Agriculture &
© 2008 RightNow Technologies, Inc. Title Best Practices for Maintaining Your RightNow Knowledge Base Penni Kolpin Knowledge Engineer.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Hans Hoerschelman. whoami Hans Sr. Application UI 460 Design (moonlight) UIDUG & DrupalHawks.
Basics of Drupal: Part 3 Rochelle Terman
FireRMS SQL Audit, Archiving & Purging Presented by Laura Small FireRMS Quality Assurance.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice SISP Training Documentation Template.
RMsis – v Simplify Requirement Management for JIRA.
Moodle (Course Management Systems). Glossaries Moodle has a tool to help you and your students develop glossaries of terms and embed them in your course.
Introduction to Test Director
1 What’s the difference between DocuShare 3.1 and 4.0?
Drupal Commerce Better than Uber Andrew Root: druroot.
SUSE Linux Enterprise Desktop Administration Chapter 6 Manage Software.
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
1 What to do before class starts??? Download the sample database from the k: drive to the u: drive or to your flash drive. The database is named “FormBelmont.accdb”
Mtivity Client Support System Quick start guide. Mtivity Client Support System We are very pleased to announce the launch of a new Client Support System.
Anand Maheshwari Product Highlights GA iWay Data Quality Portal 1.
Are You in the Right Room?  Want to learn about Features module  Are a beginner or intermediate drupaler who hasn't really used it yet  Don't have an.
DrupalCon 2011: Feedback ENTICE meeting 8 April 2011 Silvia Tomanin DG-CO.
: Information Retrieval อาจารย์ ธีภากรณ์ นฤมาณนลิณี
Document Module Features Streamlines the control, routing and revision process for critical documents and records Controls documents in any format (Excel,
CACI Proprietary Information | Date 1 PD² SR13 Client Upgrade Name: Semarria Rosemond Title: Systems Analyst, Lead Date: December 8, 2011.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED ADMINISTRATION.
Drupal Basics May 30, 2012 By Sean Fitzpatrick. Sean Fitzpatrick | Welcome We're going to talk about Drupal We're going to keep it pretty.
Orders – Create Responses Boeing Supply Chain Platform (BSCP) Detailed Training July 2016.
Views: From the Beginning John Fiala Twitter: jcfiala Vintage Digital.
MIKADO – Generation of ISO – SeaDataNet metadata files
General System Navigation
Product Training Program
Doron Orbach UCMDB Product Manager
Project Management: Messages
Training Documentation – Replacing GSPR with RFQ 2.0
Introduction to the Module
Configuring Applications
Core LIMS Training: Advanced Administration
Software Testing With Testopia
Kanban Task Manager SharePoint Editions ‒ Introduction
Michael Mast Senior Architect
Integrated ILL GUI desktop
Chapter 6: Community Features.
FAST Administration Training
iCIMS 17.3 Release: Highlights
The Power of Taxonomies
iCIMS 17.1 Release: Highlights
Oh Yeah!! The story of a Drupal 7 to Drupal 8 migration
© 2016 Blackboard Inc. All rights reserved..
NextGen Trustee General Ledger Accounting
What’s changed in the Shibboleth 1.2 Origin
Reporting Based on Data in Archivists’ Toolkit
Lesson 12 -Maintaining Documents & Macros Lesson 13 - Protecting & sharing documents Lesson 14 - Advanced Options #1.12, #1.13, & #1.14.
Managing Rosters Screener Training Module Module 5
SiteBuilder 2 Introduction.
Using JDeveloper.
Electronic Field Study Advanced User Training
Patents e-Commerce Update: Public and Private PAIR
Inside a PMI Online Course
Overview of Contract Association Batch Upload
Patents e-Commerce Update: Public and Private PAIR
…AND MY AXURE! HOW TO “BORROW” STUFF FROM OUR UX FRIENDS TO MAKE OUR LIVES EASIER 07 / 16 / 2018.
Lesson Nine: Epic Appointment Scheduling Referrals Reports
Workflows at Austin Water Labs
TracCloud.
Community-Engaged Partnership Database: VCU’s Commitment to Community Engagement
Revision Update and Reports
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Kanban Task Manager SharePoint Editions ‒ Introduction
Presentation transcript:

Migrating the Palestine Poster Project from Drupal 7 to Drupal 8 Story of a migration Migrating the Palestine Poster Project from Drupal 7 to Drupal 8 http://palestineposterproject.org/

Our backgrounds Stan Ascher Steve Musial Working with large Drupal 6 and 7 sites mostly for Gov’t Agencies Steve Musial Worked at an educational provider

Assumptions You have or know someone experience as a site builder within Drupal 7 You are looking to migrate you site over to Drupal 8 but may not know where to start You are ok with rebuilding some configuration Drupal 8 is still kind of an abstract concept to you. You’re looking for a good time

Where we are on 5 phases of migration Auditing the source site Planning the new data model Prepping for migration Planning the migration Launching the migration Auditing the site (From the Acquia video) We discovered that most structures on the site conform to standards . Although there are over 10,000 posters the structure is relativley simple Most of the custom views stuff was php blocks that counted results was in was Global review summary Some contrib modules were moved to core, other module were not ready yet. Planning out the data model We want to move to the artist and publisher content types over to taxonomy vocabularies because they are now on level with content types The one thing we kept in mind is that fields remain siloed to entity types (you can not use a field on a taxonomy term that you would use in content Prepping for migration Filled out description fields in views Planning the migration We are still in tests now but our plan is to move to

Status of Migration Modules Drupal 6 to 8 is pretty much complete Drupal 7 to 8 is still under development Its CLOSE

Auditing the Source site Step One

Site history Site owner: Dan Walsh PPPA has been around since Drupal 4 Drupal 6 to 7 migration involved update in place Cleaned up database while we did it Now the Drupal 8 site is going to be easier because we kept it clean

Poster Entity Relationship Diagram Publish Nationality Artist Nationality The Old Poster Model Publisher Artist Source Taxonomy term Poster Node Wellspring Iconography Special Collection Language Wellspring Copy Location

Planning The New Data Model Should it be content or not?

Planning the New Data Model: The Old Poster Model Publish Nationality Artist Nationality Publisher Artist Source Taxonomy term Poster Node Wellspring Iconography Special Collection Language Wellspring Copy Location

Planning the New Data Model: The New Poster Model Nationality Publisher Artist Source Taxonomy term Poster Node Wellspring Iconography Special Collection Language Wellspring Copy Location

Prepping For Migration

Take care of the basics Get comfortable with Drush and Drupal Console Get a good local workflow We use acquia-dev and source tree Update your modules to the latest versions drush pm-update

Prepping Destination Site Enable all the modules you want to use. Drush will enable dependencies Enabled all the migrate contib modules Make sure we are using 8x.2x branch of these Make sure Drupal 8 is latest This made a difference as of July 9, 11 Get DB connection settings from source site Modules and themes Before starting the migration, new modules and themes should be enabled, as well as the admin theme (if there is one) se

Source Site: Converting Node Term and User references Used module Entity Reference convert module Good to do even though entity reference is working in migrate to 8 yet. Had to use work around

Source Site: Converting Artist nodes to Taxonomy Component to create term based on node title Component to fill in field values of term Fetch artist by title (to get the fields) Set Data value of fields from fetched entity Component to make the switch Fetch term by artist title on poster

PLANNING For Migration

Planning our Process Get our migrate commands together 90% of this can be done with the plugins Everything not done in Drupal 7 yet so our best move is to document and wait Migration d6_action did not meet the requirements. Missing source [error] provider system source_provider: system. Migration failed with source plugin exception: The specified database[error] connection is not defined: migrate Due to the fact we don’t need it

Contrib tools for Migration Module Desctiption migrate_upgrade Drush commands for running upgrades fro Drupal 6 or 7 to Drupal 8 migrate_tools General purpose Drush commands and basic UI for managing migrations migrate_plus Extends the core migration framework with additional functionality. (things like bringing in content via JSON or XML migrate_ui Ui o top of migration entitles in core migrate_manifest Drush command for running template bases SQL migration from a manifest site

Considered Migration through the UI Got to /upgrade – Migrate not great on custom stuff yet Generally rejected at this time https://www.drupal.org/node/2257723 First prepared site update Next, verify that you are using the latest version of Drupal 8. The migration tools are in the process of development, so in order to ensure you have the most recent migration updates, keep up to date with Drupal core. Next, visit the /upgrade page. When you do you will see this screen:

Considered Created a Module with Plugins drush migrate-upgrade --legacy-db- url=mysql://drupaluser:@127.0.0.1:33067/YOUR DB NAMEr --legacy-root=http://YOUR SITE:8083/ --configure-only Sets up migrations – configure only will track all migration but not execute Once you have set up you can command migrate-import to get specific migrations going https://drupalize.me/blog/201606/custom-drupal-drupal-migrations-migrate-tools perhaps we can edit migrations Run configure only Then run drush config-export --destination=/tmp/migrate Go to tmp/migrate and grab the exported migrate plugins

Decided Migrate through Drush migrate-import useful parameters --limit (this will limit the number of migrations done -- feedback you will be notified of progress Migrate –status Gives you up to date info on migration Migrate-messages gives you errors that came up

Migrate through Drush Source plugins Still need to understand how the migration works

Launching the Migration

Content Types Trouble with contib module fields Fields missing on the UI Node References a PITA Try https://www.drupal.org/node/2032389 Had to keep reminding myself that nodes are on par with taxonomy terms now. This helps better relate the way taxonomy terms now exist in Drupal 8 Each entity sits in its own silos for fields so a field on a node will not show up the manage fields page for taxonomy terms like it did in Drupal 7. Fields missing on the edit form or the view page One other thing that may be a point of confusion is when you run a migration that seems to be successful but afterward you don't see your fields on the edit form. Go to the Content Types administration page and check the Manage Form Display tab for each content type. The fields added by the upgrade may be hidden on the edit form. If so, drag them up to be visible. Similarly, if they don't appear in the node view, the fields added by Migrate may have gotten hidden on the Manage Display tab and you may need to make them visible there. In migrating custom fields on an entity, the the Migrate Plus module could help. Upgrading d7_field_instance Missing bundle entity, entity type node_type, entity id image. [error] (/Users/stanleyascher/Sites/htdocs/core/lib/Drupal/Core/Entity/EntityType.php:866) Attempt to create a field field_combined_year that does not exist on [error] entity type node. (/Users/stanleyascher/Sites/htdocs/core/modules/field/src/Entity/FieldConfig.php:286) Attempt to create a field field_poster_images that does not exist on [error] Attempt to create a field field_assignee that does not exist on [error] Attempt to create a field field_artist that does not exist on entity [error] type node. Attempt to create a field field_publisher that does not exist on [error] Attempt to create a field field_provenance that does not exist on [error] Attempt to create a field field_publisher_gallery_new that does not [error] exist on entity type node. Attempt to create a field field_provenance_poster_view that does not [error] Attempt to create a field field_posters that does not exist on entity[error] Attempt to create a field field_reporter that does not exist on [error] Attempt to create a field field_link_lookup that does not exist on [error] Attempt to create a field field_poster_restriction_instruc that does [error] not exist on entity type node. Attempt to create a field field_youtube that does not exist on entity[error] Attempt to create a field field_related_tasks that does not exist on [error]

Content Types Entity Reference field migration is not working right yet https://www.drupal.org/node/2611066 Last update was Fields missing on the edit form or the view page One other thing that may be a point of confusion is when you run a migration that seems to be successful but afterward you don't see your fields on the edit form. Go to the Content Types administration page and check the Manage Form Display tab for each content type. The fields added by the upgrade may be hidden on the edit form. If so, drag them up to be visible. Similarly, if they don't appear in the node view, the fields added by Migrate may have gotten hidden on the Manage Display tab and you may need to make them visible there. In migrating custom fields on an entity, the the Migrate Plus module could help. Upgrading d7_field_instance Missing bundle entity, entity type node_type, entity id image. [error] (/Users/stanleyascher/Sites/htdocs/core/lib/Drupal/Core/Entity/EntityType.php:866) Attempt to create a field field_combined_year that does not exist on [error] entity type node. (/Users/stanleyascher/Sites/htdocs/core/modules/field/src/Entity/FieldConfig.php:286) Attempt to create a field field_poster_images that does not exist on [error] Attempt to create a field field_assignee that does not exist on [error] Attempt to create a field field_artist that does not exist on entity [error] type node. Attempt to create a field field_publisher that does not exist on [error] Attempt to create a field field_provenance that does not exist on [error] Attempt to create a field field_publisher_gallery_new that does not [error] exist on entity type node. Attempt to create a field field_provenance_poster_view that does not [error] Attempt to create a field field_posters that does not exist on entity[error] Attempt to create a field field_reporter that does not exist on [error] Attempt to create a field field_link_lookup that does not exist on [error] Attempt to create a field field_poster_restriction_instruc that does [error] not exist on entity type node. Attempt to create a field field_youtube that does not exist on entity[error] Attempt to create a field field_related_tasks that does not exist on [error]

View Migration Drupal 7 Drupal 8 Done by hand but UI is very similar

View Migration No Glossary Mode Fatal error: Call to undefined method Drupal\Core\Field\BaseFieldDefinition::getThirdPartySettings() in /Users/stanleyascher/Sites/htdocs/modules/better_formats/better_formats.module on line 50 for better formats Missing bundle for entity type taxonomy_term [error] (/Users/stanleyascher/Sites/htdocs/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php:83)

Panels Pages Page manager works different Moved down with features https://pantheon.io/drupal-8/panels-and-page-manager

Taxonomy Pretty Easy – 1 to 1 migration Made easier by prepping our D7 site by making terms out of nodes Fatal error: Call to undefined method Drupal\Core\Field\BaseFieldDefinition::getThirdPartySettings() in /Users/stanleyascher/Sites/htdocs/modules/better_formats/better_formats.module on line 50 for better formats Missing bundle for entity type taxonomy_term [error] (/Users/stanleyascher/Sites/htdocs/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php:83)

Site Automation Rules UI not working in d8

Views Views are not yet migrated . No glossary view type in d8 No PHP headers Who’s online block in now s view Who's online block The User activity settings are not migrated. This needs to be manually edited in the relevant View under filters / access. (#2169327: Migrate the User Activity block setting).

Features Purely a building tool. Automatic packaging. Interoperability build in. Support for feature sets (bundles). Who's online block The User activity settings are not migrated. This needs to be manually edited in the relevant View under filters / access. (#2169327: Migrate the User Activity block setting).

Features: let us develop stuff concurrently Who's online block The User activity settings are not migrated. This needs to be manually edited in the relevant View under filters / access. (#2169327: Migrate the User Activity block setting).

Search Functionality Apache SOLR not working The module's D8 version is currently under development, but alpha releases are available already.

The Theme Our theme in d7 was adapative theme Even though it looked ready It was based off of Garland We just used Bartik for 8 since it was responsive

Questions?