ݺߣ

ݺߣShare a Scribd company logo
DA X A DRUPAL, MIGRA TUTTO E VIVI SERENO
DA X A DRUPAL, MIGRA TUTTO E VIVI
SERENO
LUCA LUSSO
SENIOR DRUPAL DEVELOPER @WELLNET
Twitter: @lussoluca
Linkedin: it.linkedin.com/pub/luca-lusso/29/3a9/1a2/
Drupal.org: www.drupal.org/u/lussoluca
www.drupal.org/project/devel
www.drupal.org/project/xhprof
AGENDA
Migrate e Migrate Drupal, a che punto siamo?
Cosa cambia in Drupal 8?
Migrare da Drupal 6
Migrare da un'altra sorgente dati
MIGRATE E MIGRATE DRUPAL, A CHE
PUNTO SIAMO?
Marcato come experimental, finito per 8.1.0
No UI (nel core)
Necessita di alcuni moduli contrib
migrate_plus (gruppi di migrazioni, evento
prepare_row)
migrate_tools (UI gruppi di migrazioni, comandi
drush)
migrate_upgrade (UI e comando drush per migrare
da Drupal 6 e 7)
COSA CAMBIA IN DRUPAL 8?
Definizione migrazioni in yml e non in classi
Uso massivo di plugin (source, process, destination)
Uso di eventi Symfony per il ciclo di vita di una
migrazione
MIGRARE DA DRUPAL 6
Quasi tutto supportato (Views no però...)
I moduli definiscono i template di migrazione
drush migrate-upgrade
--legacy-db-url=mysql://root:root@localhost/drupal6
--legacy-root=http://drupal6
--configure-only
drush mi --all
DEMO
MIGRARE DA UN'ALTRA SORGENTE DATI
Migriamo dati provenienti da un web service REST
Un nuovo SourcePlugin, due nuovi ProcessPlugin
Creiamo nuovi nodi del CT weather
IL WORKFLOW
I dati vengono estratti da una API di terze parti
(GoogleAPI, Facebook Graph, ...)
Il modullo di migrazione mappa queste informazioni
nel nostro modello
I dati vengono esposti nelle pagine del nostro sito
I FILE COINVOLTI - MAPPING
migrate.migration.weather.yml
I FILE COINVOLTI - SOURCE PLUGIN
OWMSource.php
I FILE COINVOLTI - PROCESS PLUGIN
ToFahrenheit.php
BuildTitle.php
IL FILE DI MAPPING
migrate.migration.weather.yml
È un file .YML che contiene diverse informazioni
Nome migrazione
Gruppo
Sorgente dei dati
Mapping tra sorgente e destinazione
IL FILE DI SOURCE
OWMSource.php
Permette di estrarre le informazioni dalla sorgente (file
CSV, database, API, ...)
Estende SourcePluginBase e ne reimplementa alcuni
metodi metodi fondamentali
OVERRIDE
initializeIterator()
OVERRIDE
initializeIterator()
getIds()
OVERRIDE
initializeIterator()
getIds()
__toString()
OVERRIDE
initializeIterator()
getIds()
__toString()
fields()
I FILE DI PROCESS
Permettono di processare i dati ottenuti
Utili quando vogliamo effettuare delle modifiche
(concatenare stringhe, cambiare formato, ...)
Estendono ProcessPluginBase
Reimplementano il metodo transform()
I FILE DI PROCESS
ToFahrenheit.php
Converte la temperatura da gradi Celsius a Fahrenheit
I FILE DI PROCESS
BuildTitle.php
Concatena la data della previsione al titolo
DEMO
Hackathon & Drupal school -> domani
DA X A DRUPAL, MIGRA TUTTO E VIVI SERENO
Grazie!
Domande?
DA X A DRUPAL, MIGRA TUTTO E VIVI SERENO

More Related Content

DA X A DRUPAL, MIGRA TUTTO E VIVI SERENO