SlideShare a Scribd company logo
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
Grazie!
Domande?
DA X A DRUPAL, MIGRA TUTTO E VIVI SERENO

More Related Content

Similar to DA X A DRUPAL, MIGRA TUTTO E VIVI SERENO

Drupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernoDrupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
sparkfabrik
 
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONIDrupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
DrupalDay
 
Drush make vs composer
 Drush make vs composer Drush make vs composer
Drush make vs composer
Vincenzo Di Biaggio
 
Drush make vs composer
Drush make vs composer Drush make vs composer
Drush make vs composer
sparkfabrik
 
Creare distribuzioni con drupal
Creare distribuzioni con drupalCreare distribuzioni con drupal
Creare distribuzioni con drupal
Alessandro Capra
 
Drupal
DrupalDrupal
Drupal
NaLUG
 
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache CordovaDrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
DrupalDay
 
Drupal 7
Drupal 7Drupal 7
Presentazione Drupal 2012 - Associazione Drupal Italia
Presentazione Drupal 2012 - Associazione Drupal ItaliaPresentazione Drupal 2012 - Associazione Drupal Italia
Presentazione Drupal 2012 - Associazione Drupal Italia
Marcello Testi
 
Sviluppare applicazioni Facebook utilizzando Drupal
Sviluppare applicazioni Facebook utilizzando DrupalSviluppare applicazioni Facebook utilizzando Drupal
Sviluppare applicazioni Facebook utilizzando Drupal
Twinbit
 
Drupal7
Drupal7Drupal7

Similar to DA X A DRUPAL, MIGRA TUTTO E VIVI SERENO (11)

Drupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernoDrupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
 
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONIDrupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
Drupal Day 2012 - ASSOCIAZIONE LUCA COSCIONI
 
Drush make vs composer
 Drush make vs composer Drush make vs composer
Drush make vs composer
 
Drush make vs composer
Drush make vs composer Drush make vs composer
Drush make vs composer
 
Creare distribuzioni con drupal
Creare distribuzioni con drupalCreare distribuzioni con drupal
Creare distribuzioni con drupal
 
Drupal
DrupalDrupal
Drupal
 
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache CordovaDrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
 
Drupal 7
Drupal 7Drupal 7
Drupal 7
 
Presentazione Drupal 2012 - Associazione Drupal Italia
Presentazione Drupal 2012 - Associazione Drupal ItaliaPresentazione Drupal 2012 - Associazione Drupal Italia
Presentazione Drupal 2012 - Associazione Drupal Italia
 
Sviluppare applicazioni Facebook utilizzando Drupal
Sviluppare applicazioni Facebook utilizzando DrupalSviluppare applicazioni Facebook utilizzando Drupal
Sviluppare applicazioni Facebook utilizzando Drupal
 
Drupal7
Drupal7Drupal7
Drupal7
 

More from Wellnet srl

[Gian Mario Mereu] - Drupal & Patternlab: un nuovo approccio al theming
[Gian Mario Mereu] - Drupal & Patternlab: un nuovo approccio al theming[Gian Mario Mereu] - Drupal & Patternlab: un nuovo approccio al theming
[Gian Mario Mereu] - Drupal & Patternlab: un nuovo approccio al theming
Wellnet srl
 
[Marco Capobussi] - DevOps: strumenti di automazione per Drupal8
[Marco Capobussi] - DevOps: strumenti di automazione per Drupal8[Marco Capobussi] - DevOps: strumenti di automazione per Drupal8
[Marco Capobussi] - DevOps: strumenti di automazione per Drupal8
Wellnet srl
 
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
Wellnet srl
 
[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release party[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release party
Wellnet srl
 
Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8
Wellnet srl
 
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Wellnet srl
 

More from Wellnet srl (6)

[Gian Mario Mereu] - Drupal & Patternlab: un nuovo approccio al theming
[Gian Mario Mereu] - Drupal & Patternlab: un nuovo approccio al theming[Gian Mario Mereu] - Drupal & Patternlab: un nuovo approccio al theming
[Gian Mario Mereu] - Drupal & Patternlab: un nuovo approccio al theming
 
[Marco Capobussi] - DevOps: strumenti di automazione per Drupal8
[Marco Capobussi] - DevOps: strumenti di automazione per Drupal8[Marco Capobussi] - DevOps: strumenti di automazione per Drupal8
[Marco Capobussi] - DevOps: strumenti di automazione per Drupal8
 
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
[Luca Cracco] - DevOps: strumenti di automazione per Drupal8
 
[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release party[Luca Lusso] - Devel - D8 release party
[Luca Lusso] - Devel - D8 release party
 
Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8Tooling per il tema in Drupal 8
Tooling per il tema in Drupal 8
 
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8Come sfruttare tutte le potenzialità di Symfony in Drupal 8
Come sfruttare tutte le potenzialità di Symfony in Drupal 8
 

DA X A DRUPAL, MIGRA TUTTO E VIVI SERENO