Importer du contenu avec Drupal Rodolfo Ripado



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

ezpublish vs Drupal It s all about experience

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

Profils d installation sous Drupal 7

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

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

Cursus 2013 Déployer un Content Management System

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Savoir- Faire Offres mé1ers Offres technologiques

DRUPAL Guide de référence des meilleures extensions

1 Actuate Corporation de données. + d analyses. + d utilisateurs.

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

Découvrir le CMS. et l utiliser dans une approche pro!

Programmation des Applications Réparties. Parsers XML DOM et SAX

De Zéro à Construire des expériences digitales uniques toujours à la pointe du web avec Acquia Cloud Site Factory

La Geo-Business Intelligence selon GALIGEO avec 26/10/2005 1

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

palais des congrès Paris 7, 8 et 9 février 2012

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

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

L utilisation de Drupal dans l entreprise

AGENCES DIGITALES PME AMÉLIOREZ LA PERFORMANCE DE VOS ÉQUIPES AVEC DES APPLIS MÉTIERS : FLEXIBLES, PEU COUTEUSES, R.O.

14 novembre Retour d expérience Drupal et Drupal Commerce

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

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Libérez votre intuition

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

Découvrir Drupal au travers d un cas client

Analyse comparative entre différents outils de BI (Business Intelligence) :

Modernisation et gestion de portefeuilles d applications bancaires

DataStudio. Solution d intégration des données et de diffusion de l information

Bénéfices pour votre organisation : une solution pouvant supporter vos besoins d affaires

X2BIRT : Mettez de l interactivité dans vos archives

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

PHP 5.4 Développez un site web dynamique et interactif

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

Business & High Technology

Industrialiser la gestion des fichiers multimédia. Aurélien Navarre

BENCHMARK SOLUTIONS CRM. Les outils SaaS : Oracle, Salesforce, Microsoft et Sugar.

Bases de Données Avancées

Avis d expert. Quels choix technologiques pour une meilleure productivité?

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

DEMARREZ RAPIDEMENT VOTRE EVALUATION

Manuel du site internet Guichet Export pour la CCI Marseille Provence

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

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

FORMATION Offre de Formation - Packaging. Les bonnes pratiques du packaging avec Installshield et AdminStudio. Contact et inscriptions

CAS, un SSO web open source. 14h35-15h25 - La Seine A

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

Loïc Rossignol Ingénieur Consultant

Commerce Server 2009 R2

Introduction à ElasticSearch

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Catalogue Formation «Vanilla»

La Stratégie d Intégration Advantage

Surmonter les 5 défis opérationnels du Big Data

Vue d ensemble. Initiatives des données. Gestion de la trésorerie. Gestion du risque. Gestion des fournisseurs 2 >>

Mercredi 15 Janvier 2014

Introduction. e-communication et e-réputation

Drive your success. «Un écosystème complexe implique une capacité de gestion temps réel des aléas»

Fiche Technique Windows Azure

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

To PIM or not to PIM? Managing your Product Catalog

QU EST-CE QUE LE DECISIONNEL?

Gestion de configuration

EMC ATMOS. Gestion des Big Data dans le cloud UN MOYEN ÉPROUVÉ D INTÉGRER LES AVANTAGES DU CLOUD DANS VOTRE ENTREPRISE FONCTIONS ATMOS

Drupal, un CMS libre adapté aux besoins des bibliothèques

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

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

La reconquête de vos marges de manœuvre

SpagoBI: la seule suite décisionnelle 100% open source, complète et flexible

Introduction aux concepts d ez Publish

Nous vous garantissons un niveau élevé d exploitation de vos données

CA 2011 M. +40% de croissance 7. agences en France. Paris Lyon Nantes Bordeaux Montpellier Aix en Provence

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Le signalement des acquisitions numériques à l échelle nationale Le rôle du hub de métadonnées scénarios et prototype

SQL Server Installation Center et SQL Server Management Studio

DataEXchanger. Echangez en toute simplicité. Atelier Dex Etat des lieux Dex X. Présentation DEX X

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

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

Open Data et services de données à ERDF

Gestion de la relation client. Quelle est la meilleure stratégie à mettre en place?

Business & High Technology

Comment monétiser son contenu en trois étapes?

Tutoriel : utilisation de l outil de veille TaDaweb

Labs Hadoop Février 2013

Sébastien LIEUTAUD VP Sales & Marketing

11 Février 2014 Paris nidays.fr. ni.com

Une application sur tablette tactile pour la saisie de données naturalistes sur le terrain Linhota

3 Octobre Les Communautés MS

Présentation du projet

La fédération des infrastructures cloud

Les réseaux sociaux d entreprise

Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement

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

CMS Open Source : état de l'art et méthodologie de choix

Transcription:

Importer du contenu avec Drupal Rodolfo Ripado

Qui suis-je? Rodolfo Ripado, alias gaspaio Lead développeur Drupal chez Membre enthousiaste de la communauté Drupal Modules : Simple Subscription, Custom Tokens, Swftools Plugins(en cours de publication) Cuisine régulièrement des données à la sauce Drupal

Un accompagnement open source à 360 Novembre 2011 Présentation d'alter Way

Les imports de contenus Quand avons-nous à faire à des imports? Migrations : refontes de sites avec récupération des données Synchronisations : transferts de données entre différentes plateformes Aggrégation de contenus (RSS, Twitter,...) Les imports : un problème récurent!

Est-ce compliqué? Souvent... Un site Drupal moyen atteint facilement les 80 modules et les 150 tables, hétérogènes et interdépendantes Chaque import semble unique Solutions coûteuses et non réutilisables Difficile à estimer Beaucoup de complications inattendues

T.O.C. Concevoir un import de données vers Drupal Les étapes - Les subtilités - La checklist Tous les chemins mènent à Drupal... mais comment? Les outils disponibles - Choisir son outil Feeds Migrate Pour aller plus loin

Les étapes d un import Extraire Transformer Enregistrer Combiner Mapper Filtrer node_save() user_save() taxonomy_term_save() Extraire : récupérer et parser les données d origine Combiner & mapper : re-arranger les données pour les faire correspondre à des objets Drupal Filter : néttoyer les données (trim(), strip_tags(),...) Enregistrer : utiliser l API Drupal pour Stocker les nouveaux contenus Drupal Mettre à jour des contenus existants

Les subtilités des imports La propreté des données d origine sont les données conformes au format annoncé? La quantité des données (500 ou 50.000 nodes)? Les références et les données croisées Les médias la localisation, la taille et le format des fichiers Les ressources de l équipe avons-nous de bons développeurs disponibles pour le projet? La disponibilité du client pour répondre aux questions

La checklist de l import Extraire Préférer les bases de données aux fichiers Bien définir les formats d origine Avoir une idée claire des relations entre les données d origine Déterminer des critères de validité des données Transformer Clarifier les transformations possibles des données Avoir une table de correspondances claire

La checklist de l import (fin) Enregistrer Selon la quantité de données, les outils/procédures ne seront pas les mêmes Mettre en place des outils de communication développeurs-client rapides Pour les grandes quantités, préférer les migrations par synchronisations successives plutôt qu un seul gros import. La méthode est aussi importante que la technique!

Les outils disponibles Les modules spécifiques User import framework (CSV only, vise à la simplicité plutôt qu à l exaustivité) User import (5-6.x only) Node import (6.x only, semble semi-abandonné) Les frameworks génériques Feeds : un moteur générique d aggrégation de contenus Migrate : enfin un vrai ETL pour Drupal?

Comment choisir son outil? Bonus habituels d un bon module Drupal Développeurs actifs et réactifs Richesse de l éco-système (plugins, patches, etc) Code de qualité, APIs claires Documentation abondante Fonctionnalités secondaires importantes : Rollback, mise à jour de contenus existants Support de la Batch API, des imports via le Cron et/ou via Drush Configuration via l interface graphique

Feeds Au début il y avait FeedAPI Moteur d agrégation de contenus RSS, ATOM, CSV, ical Développé rapidement pour les besoins de la distribution Managing News Entièrement refait à neuf autour de 2009 Feeds : framework d import de contenu dans Drupal Très flexible (une API simple et bien documentée) Configuration via GUI Intégration à Features Nombreux goodies... Maintenu par des Drupal Rock Stars : @alex_b, @davereed

Feeds: architecture & goodies Un Feeds Importer est un objet avec 3 composantes : Fetcher : extrait les données d une source et les convertit en string Parser : analyse la string et construit un tableau PHP Processor : construit un objet Drupal et l enregistre via l API Les bonus Intégration à la Batch API : import par étapes Possibilité d importer par le cron (via job_scheduler) Feeds Tamper : interface graphique pour filter les données

Feeds : les + et les - Les + : Facilement configurable, intégration facile des nouvelles classes à l interface graphique Ecosystème riche et actif : parsers et mappers à foison... De nombreux addons pour affiner son import sans coder Un système de log de messages intégré Les - : Le code n est pas toujours bien commenté Utilisation de la Batch API : peu performant lors de gros imports Gestion des ressources très limitée

Migrate Développé par Cyrve, start-up américaine spécialisée dans les problématiques d imports massifs (maintenant Acquia) : The Examiner.com The economist Moshe Weitzman : Mr Drush. Migrate : un outil robuste pour dévelopeurs et chefs de projet.

Migrate : architecture Tout se passe dans les classes Migration : Définition de l équipe technique, de la source et de la destination Ajout des mappings des champs : Option Callback : permet de filter les valeurs avant l import Option SourceMigration : permet de retrouver les identifiants d objets précédemment importés Gestion de valeurs multiples Modèle de migrations successives et interdépendantes Gestion dynamique des ressources machine : Intégration à la Batch API et surtout à Drush Calcul des timeouts et des limites de mémoire à la volée

Migrate : les + et les - Les + : Prise en charge native de structures de données complexes Très performant grâce à sa gestion des ressources à la volée Intégration à Drush (migrations/mises à jour scriptables ) Interface graphique orientée reporting De nombreux exemples disponibles, prise en main aisée pour le dévelopeur PHP moyen Les - : Il faut coder... Relativement jeune, donc écosystème un peu limité cf. migrate_extras (http://drupal.org/project/migrate_extras)

Pour aller plus loin Drupal.org évidemment... http://drupal.org/project/feeds http://drupal.org/project/migrate Migrating to Drupal : http://drupal.org/documentation/migrate Les présentations de Moshe Weitzman : http://london2011.drupal.org/conference/sessions/data-migrationdrupal http://www.acquia.com/resources/acquia-tv/conference/migratingsocial-content-drupal-1 Ou moi, dans 5 minutes autour d un café(!)

Où me joindre Si vous n avez pas le temps pour un café(!)... Sur le stand d rodolfo.ripado@alterway.fr ggaspaio@gmail.com Drupal.org / Twitter : Gaspaio Des questions?