Migrating into Drupal 8 Migrando a Drupal 8



Similar documents
Migrating into Drupal 8

Entites in Drupal 8. Sascha Grossenbacher Christophe Galli

Drupal for Designers

Getting Content into Drupal Using Migrate

Drupal 8 The site builder's release

Achieving Continuous Integration with Drupal

The truth about Drupal

A (Web) Face for Radio. NPR and Drupal7 David Moore

BUILDING MULTILINGUAL WEBSITES WITH DRUPAL 7

Joomla! Override Plugin

Git - Working with Remote Repositories

Everything you ever wanted to know about Drupal 8*

Drupal 6 to Drupal 7 Migration Worksheet

FormAPI, AJAX and Node.js

Drupal 8. Core and API Changes Shabir Ahmad MS Software Engg. NUST Principal Software Engineser PHP/Drupal

Drupal CMS for marketing sites

Drupal Training Modules 2015

Define and Configure an Application Request Routing Server Farm

Faichi Solutions. The Changing Face of Drupal with Drupal 8

XTM Drupal Connector. A Translation Management Tool Plugin

Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts

MASTER DRUPAL 7 MODULE DEVELOPMENT

Multilingual content in Drupal 8: a highly evolved permutated API. DrupalCamp Vienna 2013 Francesco Placella

How To Fix A Bug In Drupal 8.Dev

Data Migration from Magento 1 to Magento 2 Including ParadoxLabs Authorize.Net CIM Plugin Last Updated Jan 4, 2016

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

Peer 1 Hosting Multisite

The Search API in Drupal 8. Thomas Seidl (drunken monkey)

PaperCut Payment Gateway Module - PayPal Payflow Link - Quick Start Guide

Drupal to WordPress migration worksheet

How To Install Storegrid Server On Linux On A Microsoft Ubuntu 7.5 (Amd64) Or Ubuntu (Amd86) (Amd77) (Orchestra) (For Ubuntu) (Permanent) (Powerpoint

Dry Dock Documentation

Streamline your drupal development workflow in a 3-tier-environment - A story about drush make and drush aliases

CTC What's New?

Who? Wolfgang Ziegler (fago) Klaus Purer (klausi) Sebastian Gilits (sepgil) epiqo Austrian based Drupal company Drupal Austria user group

Available Update Methods

Behavioral Driven Development with Behat

Installing and Configuring vcloud Connector

Symfony2 and Drupal. Why to talk about Symfony2 framework?

APPLICATION VIRTUALIZATION TECHNOLOGIES WHITEPAPER

depl Documentation Release depl contributors

PaperCut Payment Gateway Module - PayPal Payflow Link - Quick Start Guide

QlikView 11 Upgrade & Migrations

AUDIT REPORT EXAMPLE

c360 Portal Installation Guide

JOINUS AG. PowerPay Checkout. Magento Module User Manual. Support:

Drupal + Formulize. A Step-by-Step Guide to Integrating Drupal with XOOPS/ImpressCMS, and installing and using the Formulize module

Subversion Server for Windows

DocumentsCorePack for MS CRM 2011 Implementation Guide

latest Release 0.2.6

Hail or Fail: The Right Way. to Override Core. Mark Shust ecommerce Developer Metrics Marketing

SharePoint 2010 Interview Questions-Architect

F-Secure Messaging Security Gateway. Deployment Guide

Content management system comparison

1703 Discovering SharePoint 2007 for Developers

Setting Up a CLucene and PostgreSQL Federation

Cloudwords Drupal Module. Quick Start Guide

Quick Start Guide Mobile Entrée 4

Services, Dependency Injection, and Containers, Oh my!

Elgg 1.8 Social Networking

Continuous Integration

How To Install An Org Vm Server On A Virtual Box On An Ubuntu (Orchestra) On A Windows Box On A Microsoft Zephyrus (Orroster) 2.5 (Orner)

Configuring IBM HTTP Server as a Reverse Proxy Server for SAS 9.3 Web Applications Deployed on IBM WebSphere Application Server

Go2Group JaM Plugin. Atlassian JIRA add-on for HP Quality Center. Quick Install Guide

Configuring. Moodle. Chapter 82

Designing for Drupal. John Albin Wilkins

Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0

AVOIDING THE GIT OF DESPAIR

Version Control Your Jenkins Jobs with Jenkins Job Builder

Prestashop Ship2MyId Module. Configuration Process

Panda Perimeter Management Console. Guide for Partners

2nd Edition. Covers Drupal 7 & 8. Programmer s Guide to. Drupal PRINCIPLES, PRACTICES, AND PITFALLS. Jennifer Hodgdon

ProjectPier v Getting Started Guide

Beyond The Web Drupal Meets The Desktop (And Mobile) Justin Miller Code Sorcery Workshop, LLC

Drupal 8 Development Retrospective. A timeline and retrospective from a core contributor

System. CMS Vendor Comparison. Ektron 8.6. Drupal Sitecore 6.5. Kentico EMS 8.2. EPiServer WordPress SharePoint Umbraco 4.

Module developer s tutorial

5 Mistakes to Avoid on Your Drupal Website

User Guide Part 7. Status Server

How We Did It. Unique data model abstraction layer to integrate, but de-couple EHR data from patient website design.

<Insert Picture Here> Michael Hichwa VP Database Development Tools Stuttgart September 18, 2007 Hamburg September 20, 2007

Instant Chime for IBM Sametime For IBM Websphere and IBM DB2 Installation Guide

Cloudera Manager Training: Hands-On Exercises

Installation & User Guide

Bubble Code Review for Magento

IBM Endpoint Manager Version 9.2. Patch Management for SUSE Linux Enterprise User's Guide

Auditing Drupal sites for performance, content and optimal configuration

DEPLOYMENT GUIDE. Deploying the BIG-IP LTM v9.x with Microsoft Windows Server 2008 Terminal Services

Installation Guide MAGENTO PAYMENT PLUGIN. release 1.0.1

ISE Web Portal Customization Options. Secure Access How-to User Guide Series

GETTING STARTED WITH DRUPAL. by Stephen Cross

Transcription:

Migrating into Drupal 8 Migrando a Drupal 8 Ryan Weal // Novella Chiechi Kafei Interactive Inc. Montréal Québec Canada ryan@kafei.ca // novella@kafei.ca https://www.drupal.org/node/2348505 http://twitter.com/ryan_weal http://twitter.com/italiatina

Migrating into Drupal 8 Migrando a Drupal 8 Presentation shamelessly borrowed and tweaked by! Michael Anello @ultimike! for! Florida DrupalCamp 2015

The Big Picture Upgrading between major versions of Drupal is hard. Previous Drupal core upgrade paths migrated configuration and content. Previous Drupal core upgrade paths were not extensible. Most people opted to migrate and rebuild.

The Big Picture We have a robust data migration tool (Migrate module). The Drupal-to-Drupal Migration (7.x) module can migrate content from D5 and D6 to D7. Move them into core as the default upgrade path.

But The Migrate and Migrate D2D modules are only for content. We have a lot of Drupal 6 sites that need to be upgraded.

The Solution Port the Migrate and Drupal-to-Drupal Migration modules to Drupal 8. Extend them to migrate both configuration and content. Provide upgrade paths from Drupal 6 and Drupal 7! Make them extensible!

The Plan Port Migrate to Drupal core 8.x. Re-write Migrate D2D for Drupal core 8.x (migrate_drupal) Write Drupal 6 to Drupal 8 migrations. Write Drupal 7 to Drupal 8 migrations. Migrations are plugins, so they are extendable!

What is migration? Que significa migrar? A collection of templates to process data that gets pulled into a new Drupal site Old site database and files left in-place and not altered in any way

The history: drupal-to-drupal La historia: drupal-a-drupal Built for Drupal 7 Package of templates that includes support for most core components of D5, D6 and D7 Extendable through OOP Developed as a prototype of alternative upgrade path

Migrate is now in core! (goodbye upgrading) Migrate ya esta en el core! (adios actualizaciones) Upgrade system has been dropped. Important data transformations now all happen during migration Skipping over core versions is now built-in and will be supported (D6!D8) All core elements are to be supported Probably not 100% ready in 8.0.0, expect it to be feature complete near 8.1.x

The Swan Song of Drupal 6 La última canción de Drupal 6 With the release of Drupal 8 support for D6 will stop* Priority is D6 D8 path built-in D7 D8 is in progress D8 D8 to come! *maybe not (may be extended)

What is going to be migrated? Qué vamos a migrar? Everything supported in D8 core will get pulled in from D6 (even from contrib if it is now core) - Configuration: yes (new!) - Content: yes (imports i18n also) - in total about 100 built-in migrations for D6 - Views templates in development - D7 templates in development

Multilingual migrate Migrate multilenguaje If you use multilingual: test, test, test! D8 has all multilingual modules built in Migration will change nodes to entity translation - One node = all translations! Configuration translations get imported!

How it works! Let's migrate Cómo funciona - Vamos a migrar! Install Drupal 8 on host with access to your D6 database Enable the core modules that will be necessary for your site (translation support, aggregator, etc) Enable migrate and migrate_drupal modules

The migration runner UI El motor de migraciones Install migrate_upgrade contrib module Go to /upgrade in your browser Input database credentials for the D6 site Put an http URL where migration can find public files Filesystem path for private files Go!

Run, migrate, run! Corre, migrate, corre! Config runs first (will create content types, etc first), then import content PrepareRow hook runs after load and before write (use this to override)

To drush, or not to drush? Usar drush o No? Historically there has been a recommendation to use drush Officially we must support the UI now, 100% It is still possible to use command line - Some people prefer to use drush always because it is easy to customize

How will customizations be implemented? Cómo implementar las personalizaciones? Manifest file can specify which migrations to run (similar to old Drupal-to-Drupal process) Most things can be handled in the new hook - reject items you don't want to import - remove problem text and artifacts from weird modules - populate unsupported fields with data Custom entities / handlers will go into a D8 plugin

Doing it with drush Haciendolo con drush manifest.yml in the root - d6_user_role - d6_user - d6_filter_format - d6_locale_settings - d6_language_negotiation - d6_language_types - d6_language # run drush config-list grep migrate to see all templates drush migrate-manifest --legacy-db-url=mysql:// d6user:d6pass@localhost/d6 manifest.yml

What will need customization? Qué va a necesitar personalización? Only custom entities should need porting Data cleanup tasks (housekeeping) Adapting to your new layout, placing the blocks in your new theme

How to use the customization hook Cómo usar hook personalizado /** * Allows adding or altering data to a row * before processing it. * hook_migrate_migration_id_prepare_row is also available. */! function hook_migrate_prepare_row(row $row, MigrateSourceInterface $source, MigrationInterface $migration) { // customizations here }

What is a plugin? Qué es un plugin? Single file with a migration class No registration necessary, copy an example that is close to what you want Make sure to update the annotation / comments! Put it in the subfolder of your module Blocks are a good example plugin

What still needs some polish Lo que todavía necesita mejorar D6 migrations may have some small bugs Templates need to be created for D8 D8 and D7 D8 Rollbacks, incremental, other advanced migrate features now on the roadmap 2015-01 EXPECT to re-migrate when new version of core is ready

Getting involved Cómo contribuir Join http://groups.drupal.org/imp Chat on IRC in #drupal-migrate (freenode.net) Participate in weekly G+ hangout for progress updates at 21h00 (9pm) EST (-0500) every Wednesday Create plugins for your custom contrib entities Test, test, test! Run against your most complex sites. Report problems.

Reporting issues Cómo informar issues Drupal core Migration system : https:// drupal.org/project/issues/drupal - Migration runner - D6 D8 issues, particularly i18n - Some D7 work will happen in a separate sandbox repository

Things to keep in mind Cosas para tener presente Migrate path to D8 will not likely be official until 8.1.x (at least for the UI) Migrate is in core now You may need to re-migrate with each new core version until then Sites that have been upgraded multiple times have riskiest (potentially corrupted) data, please test these as much as possible (D4.7!D5!D6!D8)

Other options Otras opciones Copy and paste for small brochure sites? Use a deployment module to create some of your (new) configuration - Create nodes programmatically for small sites

Resources Herramientas Developer guide https://www.drupal.org/ developing/api/8 Examples module https://www.drupal.org/ project/examples Drupal 8 API docs https://api.drupal.org/api/ drupal/8 Change records for d8: https:// www.drupal.org/list-changes

Questions? Preguntas? Find me tomorrow! I ll get you started!