Alpine Drupal Camp 2011 - Data migration

25
Data Migration Marco Vito Moscaritolo @mavimo [email protected]

description

Alcuni spunti e strumenti utili pre procedere alla migrazione di dati da piattaforme differenti a Drupal

Transcript of Alpine Drupal Camp 2011 - Data migration

Page 1: Alpine Drupal Camp 2011 - Data migration

Data MigrationMarco Vito Moscaritolo

@[email protected]

Page 2: Alpine Drupal Camp 2011 - Data migration

Chi sono?

Sviluppatore Drupal dal 2007 Socio fondatore della

Associazione Drupal Italiaed attuale presidente

Consulente freelance e membro di agavee

Contatti@[email protected]

Page 3: Alpine Drupal Camp 2011 - Data migration

Come procederemo

Parte introduttiva “teorica” sulle procedure di migrazione

I tool che si possono utilizzare (e quando possono essere usati)

Disclaimer Io NON conosco la verità, potrei sbagliarmi! NON esiste un metodo unico e sempre valido per migrare i dati Tutto quello che dirà NON potrà MAI essere usato contro di me Le mie affermazioni si basano sulla mia esperienza, se vi

risulta diversamente non fatevi problemi a contraddirmi, anzi!

Page 4: Alpine Drupal Camp 2011 - Data migration

Cosa intendiamo per data migration?

Page 5: Alpine Drupal Camp 2011 - Data migration

...e se i dati crescono o i tempi si stringono (o tipicamente entrambi)?

Page 6: Alpine Drupal Camp 2011 - Data migration

Risultato?

Page 7: Alpine Drupal Camp 2011 - Data migration

Forse c'è un modo migliore?

Facciamolo fare Facciamolo fare alle macchine!alle macchine!

Occhio ai

bug!!!!

Occhio ai

bug!!!!

Page 8: Alpine Drupal Camp 2011 - Data migration

Come procediamo?

Recuperare i dati di partenza Archiviarli in maniera da

essere manipolabili facilmente Normalizzarli/ripulirli

(per quanto possibile) Esporli al sistema di import Importarli

Page 9: Alpine Drupal Camp 2011 - Data migration

Ottenere i dati di partenza(buona fortuna)

Page 10: Alpine Drupal Camp 2011 - Data migration

Rendere i dati manipolabili

Page 11: Alpine Drupal Camp 2011 - Data migration

I dati di partenza...

Page 12: Alpine Drupal Camp 2011 - Data migration

...devono, DEVONO, essere “puliti”...

Page 13: Alpine Drupal Camp 2011 - Data migration

...e se non lo sono tocca a noi pulirli.

Page 14: Alpine Drupal Camp 2011 - Data migration

Esporre i dati da migrare

Attraverso WebService (più o meno complessi) SOAP XML-RPC Feed

Attraverso connessioni dirette al DataBase Dati importati da CSV Provenienti da dump di DB

Page 15: Alpine Drupal Camp 2011 - Data migration

La teoria è facile, ma in pratica?

Page 16: Alpine Drupal Camp 2011 - Data migration

Processo di importazione

Procedura iterativa Importo i dati Verifico i dati Se ci sono errori correggo i

dati di partenza Cancello/sostituisco i dati

importati con una nuova importazione

Ripeto e termino l'importazione quando i dati sono importati corettamente

Pulizia dati

Importazione

Verifica dei dati

Importazioneterminata

Dati iniziali

Page 17: Alpine Drupal Camp 2011 - Data migration

Raccogliere i dati

Punto non standardizzabile, dipende dalle sorgenti a disposizione.

Normalmente CSV o SQL Script (bash/php/perl/...) per

organizzare i dati da importare Utilizzo di PhpMyAdmin,

MySQL workbanch per l'import (anche mysql da CLI)

Page 18: Alpine Drupal Camp 2011 - Data migration

Esporre i dati

Accesso al DB Metodo consigliato,

meno problemi nella conversione dei dati

Si può ottenere da file CSV o XML esportati da altri strumenti con poco lavoro

Attraverso webservice Il webservice deve

essere accessibile dalla macchina che si occupa dell'importazione

I tempi per la migrazione, a causa della connessione possono essere lunghi

Page 19: Alpine Drupal Camp 2011 - Data migration

Importazione dei dati

Accesso al DB Utilizzo di migrate Soluzione consigliata

Attraverso CSV Utilizzo di

node_import Utilizzo di feeds

Attraverso webservice Utilizzo di feeds I tempi per la

migrazione, a causa della connessione possono essere lunghi

Page 20: Alpine Drupal Camp 2011 - Data migration

node_import / node_export

Disponibile solo per D6, abbandonato in favore di feeds

Permette di importare contenuti con i corrispettivi campi CCK più semplici

Permette di importare dati precedentemente esportati (comodo per passaggi di versione)

Page 21: Alpine Drupal Camp 2011 - Data migration

feeds

Configurabile da UI Permette di

importare nodi, utenti, tassonomia

Non gestisce le relazioni tra diversi elementi

Operazioni di importazione schedulabili

Page 22: Alpine Drupal Camp 2011 - Data migration

feeds

Logica basata su Fetcher: gestisce

l'importazione del dato Parser: il modo in cui

l'informazione viene elaborata

Processor: in modo in cui le informazioni ottenute vengono inserite in Drupal

Page 23: Alpine Drupal Camp 2011 - Data migration

Migrate(ramo 1.x – unsupported – D6)

Configurabile da UI Dipende da

schema, table wizard, views, views bulk update

Richiede che i dati siano sul DB di Drupal per poter essere mappati

Page 24: Alpine Drupal Camp 2011 - Data migration

Migrate(ramo 2.x – supported – D6/D7)

NON configurabile da UI

Permette di importare dati da più sorgenti (CSV, SQL, JSON, XML, ...)

Completamente strutturato attraverso oggetti per la migrazione dei dati

Page 25: Alpine Drupal Camp 2011 - Data migration

Domande

Grazie per l'attenzione

[email protected]

@mavimo

Marco Vito Moscaritolo