Migration de données sous Drupal



Documents pareils
Entity API. Alexandre Todorov, Felip Manyer i Ballester. Montpellier, le 17 septembre 2014

Importer du contenu avec Drupal Rodolfo Ripado

Profils d installation sous Drupal 7

Mercredi 15 Janvier 2014

Nouveautés de Drupal 8. Léon

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

Drupal, pour quel usage? Comment se positionne Drupal? Les fonctionnalités de Drupal et de son écosystème. L'architecture technique et logicielle Le

Loïc Rossignol Ingénieur Consultant

Catalogue des formations Edition 2015

les techniques d'extraction, les formulaires et intégration dans un site WEB

Démarrer rapidement un site avec Drupal 7

PHP 5.4 Développez un site web dynamique et interactif

PloneLabs un gestionnaire de contenu pour les laboratoires

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Devenez un véritable développeur web en 3 mois!

Drupal : quelques fonctionnalités (ce qu il permet, ce qu il ne permet pas)

Migration et import de données

ezpublish vs Drupal It s all about experience

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Les solutions ARCAD Software et Profound Logic pour la Modernisation d Entreprise sur IBM i

Découvrir Drupal, le CMS Open Source de référence. Michel-Marie MAUDET Linagora /

Offre de formation. Travaux autour d'uniform. ESUP-Days # Paris

Drupal un CMS orienté mé2er. Romain JARRAUD Mathieu GROS

Marché à Procédure adaptée. Tierce maintenance applicative pour le portail web

Serena Software. Damien Terrien Solution Architect

09 nov Retour d'expérience sur l'implémentation d'une plateforme Drupal / Drupal Commerce

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

SQL SERVER 2008, BUSINESS INTELLIGENCE

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Web & Libre. Outils pour être présent sur le net librement

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Visual Paradigm Contraintes inter-associations

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

REX gros projets Drupal. Drupal Camp Toulouse Novembre - +qdelance

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

WordPress, thèmes et plugins : mode d'emploi

ICS-Informatique. Développement spécifiques Création et hébergement de site web

DRUPAL Réalisez des développements professionnels avec PHP (2ième édition)

Drupal vs La concurrence

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia

Un SIG collaboratif pour la recherche historique Partie. Partie 1 : Naissance et conception d un système d information géo-historique collaboratif.

Dis moi, ça apporte quoi Géolys? Tu sais, Géolys, c est avant tout une réponse à ces questions-là

Concevoir et déployer. Drupal. ses sites web avec. 2 e édition. Préface de Edwy Plenel. Groupe Eyrolles, 2009, 2010, ISBN :

Manuel du site internet Guichet Export pour la CCI Marseille Provence

Nouveautés ArcGIS 10.2

Du point de vue des entreprises, faut-il privilégier les Frameworks PHP aux CMS Open pour la création de sites internet?

PROSOP : un système de gestion de bases de données prosopographiques

En suivant l'initiative d'amanda Wagener sur iwanttolearnruby.com, j'ai créé et anime jeveuxapprendreruby.fr.

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Drupal (V7) : principes et petite expérience

Méthodologie de mise en place de

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Portfolio Sites internet :

Drupal, le couteau suisse de la publication d informations

Présentation de SOFI 2.0

Formations Qlikview et Infini Conseil. Business Intelligence

Olivier Deheurles Ingénieur conception et développement.net

Présentation Alfresco

Introduction à. Oracle Application Express

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Fabien Pinckaers Geoff Gardiner. OpenERP. Tiny. Pour une. gestion d entreprise efficace et intégrée. Groupe Eyrolles, 2008, ISBN :

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Mise à jour : Octobre 2011

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Titre : La BI vue par l intégrateur Orange

Armand PY-PATINEC 2010

Nos webmasters, web designers et ingénieurs de développement vous accompagnent dans vos projets afin de vous apporter entière satisfaction.

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

14 novembre Retour d expérience Drupal et Drupal Commerce

Projet Xdata. Cinequant, Data Publica, EDF, ESRI, Hurence, INRIA, Institut Mines Telecom, La Poste, Orange, Veolia

Vue d ensemble technique

Drupal et les SSO Nicolas Bocquet < nbocquet@linalis.com >

Idéalement, une mission alliant XML ou base de données SQL avec des technologies internet et/ou logiciels libres.

ASTER et ses modules

Connaissance des secteurs e-commerce, bourse et assurance.

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Programme d Assistance. o Mandat o Histoire. Stratégie. Objectifs d un Projet. Démonstration

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Catalogue des formations

Dans l'article précédent, vous avez appris

X2BIRT : Mettez de l interactivité dans vos archives

Web Site Story Etude, développement et valorisation de votre présence internet

Compte-rendu re union Campus AAR 3 mars 2015

Formations qualifiantes pour demandeurs d emploi

Développer une stratégie SIG Entreprise efficace avec ESRI et ArcGIS

Projet de développement

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Février Novanet-IS. Suite progicielle WEB pour l Assurance. Description fonctionnelle

Comment booster vos applications SAP Hana avec SQLSCRIPT

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?

Business Intelligence avec Excel, Power BI et Office 365

MYXTRACTION La Business Intelligence en temps réel

Transcription:

Migration de données sous Drupal Felip Manyer i Ballester Res Telæ 16 avril 2014 Felip Manyer i Ballester Migration de données sous Drupal 1/19

À propos de moi Drupalien depuis fin 2009, centralien de Lyon (2008). Exerce en indépendant à Perpignan sous le nom commercial «Res Telæ». Vient aux meetups pour donner libre cours à sa logorrhée, mais aussi rencontrer des gens comme lui. «Anarchiste» approchant dangereusement la trentaine (J-6), fermement opposé à la confiscation et la minitellisation d Internet. Loisirs : natation, cyclisme, sports de montagne, piano, sciences naturelles, linguistique, OpenStreetMap, Guifi (?), changer le monde... Felip Manyer i Ballester Migration de données sous Drupal 2/19

Plan 1 Introduction 2 3 4 Felip Manyer i Ballester Migration de données sous Drupal 3/19

1 Introduction 2 3 4 Felip Manyer i Ballester Migration de données sous Drupal 4/19

Migration de données : pourquoi? Récupération de données Depuis une ancienne version du site (autre technologie) ; depuis une ancienne version majeure de Drupal ; depuis n importe quelle source structurée (SGBDR, flux ou fichiers XML, JSON, CSV, etc.) ; une seule fois ou régulièrement. Exportation de données On en parle brièvement en partie 4 ; voir aussi présentation d Alexandre. Felip Manyer i Ballester Migration de données sous Drupal 5/19

Pourquoi importer dans Drupal? Lecture à la volée de la source externe Envisageable dans certains cas (db_select()). Pas toujours fiable (cf. Simon). Ressources gaspillées. Interaction limitée avec les outils Drupal. Importation sous forme d entités natives Résout problèmes ci-dessus. Exploitation des données de manière drupalienne : entités (nœuds, taxonomie, personnalisées...), références entre entités, view modes, Views, EntityFieldQuery, recherche, etc. Felip Manyer i Ballester Migration de données sous Drupal 6/19

Concepts généraux Source Données extérieures à importer dans Drupal (autre CMS, fichiers structurés, flux, base de données). Destination Nouveau support destiné à accueillir les données (nœud, utilisateur, etc.) Correspondance Description des relations entre éléments de la source et de la destination. Exemple : «la balise RSS pubdate correspond au champ date de mon type de contenu evenement». Felip Manyer i Ballester Migration de données sous Drupal 7/19

Méthodologies envisageables Développement (personnalisé) méthode historique, toujours valable. Aggregate (module du cœur) importation de flux XML (RSS, Atom, RDF). Fonctionnalités et intégration avec le reste de l écosystème assez vite limitées. outil orienté «site builder». Définition des importations (par défaut : nœuds et utilisateurs) via l interface. Répond à de nombreux cas d utilisation. orienté développeur. Écriture de classes PHP. Plein contrôle sur le pré-traitement des données. Interfaces : UI, Drush. Felip Manyer i Ballester Migration de données sous Drupal 8/19

1 Introduction 2 3 4 Felip Manyer i Ballester Migration de données sous Drupal 9/19

Utilisation de Création d un «importer» Choisir et configurer : Fetcher mode de récupération des données (par défaut, fichier ou via HTTP) ; Parser grammaire selon laquelle les données sont présentées (RSS, CSV, etc.) ; Processor choix de l entité de destination (par défaut : nœud, terme de taxonomie, utilisateur) + mise en correspondance («mapping») avec champs et propriétés. Démonstration Felip Manyer i Ballester Migration de données sous Drupal 10/19

: quelques caractéristiques + Gestion native des importations périodiques ; + importateurs exportables (!) en code avec Features ; + support d XPath ; ~ support limité du pré-traitement des champs avec Tamper ; pas de traitement conditionnel ; support déficient du multilinguisme. Felip Manyer i Ballester Migration de données sous Drupal 11/19

1 Introduction 2 3 4 Felip Manyer i Ballester Migration de données sous Drupal 12/19

offre un cadre de développement orienté objet permettant d effectuer des migrations de données y compris dans des situations complexes. Module en lui-même réservé aux développeurs, mais : utilisable par tous interface utilisateur puissante offerte par ce module (analyse, lancement des importations, progression, arrêt, retour en arrière (rollback)) ; pilotable avec Drush ; il existe des modules basés sur répondant à des cas d utilisation précis : migration depuis Wordpress, phpbb, un autre Drupal... Felip Manyer i Ballester Migration de données sous Drupal 13/19

Architecture générale de Par convention, les différents éléments sont à placer dans MODULE.migrate.inc, il faut y implémenter : hook_migrate_api() ; une classe héritant de Migration, qu il faut enregistrer, comprenant parmi ses propriétés 4 objets instanciant les classes Source, Destination, Map et FieldMapping. Felip Manyer i Ballester Migration de données sous Drupal 14/19

: les quatre classes Source description des champs de données à la source ; Destination description des champs de données à la destination ; FieldMapping correspondance des champs entre source et destination ; Map garde trace des champs de la source (et leurs types) dont découle un objet dans la destination, utile pour le rollback. Felip Manyer i Ballester Migration de données sous Drupal 15/19

: quelques caractéristiques gestion des importations périodiques : highwater permet de ne réimporter une entité qu en cas de changement ; pré-traitement des champs avancés grâce à la méthode preparerow() (fusion de champs, abandon d enregistrements, etc.) ; documentation fournie ; embarqué dans le cœur de Drupal 8. Démonstration Felip Manyer i Ballester Migration de données sous Drupal 16/19

1 Introduction 2 3 4 Felip Manyer i Ballester Migration de données sous Drupal 17/19

UUID (Universally Unique IDentifier) exporter du contenu comme du code. À réserver à certains cas limites. Deployment Voir présentation d Alexandre. Views Data Export Format de vue permettant d exporter les données sous forme de fichiers CSV, Excel, XML ou texte. Intégration avec Drush, et donc scriptable. Flux de données sérialisées (XML, JSON, etc.), par exemple avec Views, Services web (mais bootstrap) c est un autre sujet... Felip Manyer i Ballester Migration de données sous Drupal 18/19

Conclusion Des outils pour gérer les importations de données, au sein de systèmes d information toujours plus complexes ; : permet dans de nombreux cas aux site builders de gérer eux-même les importations (mais pourquoi toujours en alpha?) ; : un socle rigoureux, robuste et puissant, tant pour le développeur que pour l utilisateur. Standard de facto dans l écosystème (passage d une version majeure à une autre, D6 D8 et D7 D8) ; importation vers tout type d entité Drupal, y compris les vôtres (cf. juin). Felip Manyer i Ballester Migration de données sous Drupal 19/19