Upload
wellnet-srl
View
308
Download
1
Embed Size (px)
Citation preview
DA X A DRUPAL, MIGRA TUTTO E VIVI
SERENO
LUCA LUSSO
SENIOR DRUPAL DEVELOPER @WELLNET
Twitter: @lussolucaLinkedin: it.linkedin.com/pub/luca-lusso/29/3a9/1a2/Drupal.org: www.drupal.org/u/lussolucawww.drupal.org/project/develwww.drupal.org/project/xhprof
AGENDAMigrate e Migrate Drupal, a che punto siamo?Cosa cambia in Drupal 8?Migrare da Drupal 6Migrare da un'altra sorgente dati
MIGRATE E MIGRATE DRUPAL, A CHEPUNTO SIAMO?
Marcato come experimental, finito per 8.1.0No UI (nel core)Necessita di alcuni moduli contrib
migrate_plus (gruppi di migrazioni, eventoprepare_row)migrate_tools (UI gruppi di migrazioni, comandidrush)migrate_upgrade (UI e comando drush per migrareda Drupal 6 e 7)
COSA CAMBIA IN DRUPAL 8?
Definizione migrazioni in yml e non in classiUso massivo di plugin (source, process, destination)Uso di eventi Symfony per il ciclo di vita di unamigrazione
MIGRARE DA DRUPAL 6Quasi 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 RESTUn nuovo SourcePlugin, due nuovi ProcessPluginCreiamo 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 informazioninel nostro modelloI 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.phpBuildTitle.php
IL FILE DI MAPPINGmigrate.migration.weather.yml
È un file .YML che contiene diverse informazioniNome migrazioneGruppoSorgente dei datiMapping tra sorgente e destinazione
IL FILE DI SOURCE
OWMSource.php
Permette di estrarre le informazioni dalla sorgente (fileCSV, database, API, ...)Estende SourcePluginBase e ne reimplementa alcunimetodi 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 ottenutiUtili quando vogliamo effettuare delle modifiche(concatenare stringhe, cambiare formato, ...)Estendono ProcessPluginBaseReimplementano il metodo transform()
I FILE DI PROCESS
ToFahrenheit.phpConverte la temperatura da gradi Celsius a Fahrenheit
I FILE DI PROCESS
BuildTitle.phpConcatena la data della previsione al titolo
DEMO
Hackathon & Drupal school -> domani
Grazie!
Domande?