Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

25
Importer des données dans Nuxeo Platform Quelles solutions ?

description

Atelier Deep Dive Nuxeo Tour par Bertrand Chauvin

Transcript of Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Page 1: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Importer des données dans Nuxeo PlatformQuelles solutions ?

Page 2: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Agenda

Principes d'import

Quelles solutions pour quel cas ?

Page 3: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Principes d'import

Page 4: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Points à étudier

Complexité des données

Format pivot

Volumes à traiter / Fréquence

Contraintes éventuelles sur la production

Page 5: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Contraintes liées au réseau

Deux approches

Appels distants

Choix du formatet du langage

Facile à customiser

Pas besoin d'accès physique au serveur

Non transactionnel

Pas de traitement par lots

Page 6: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Deux approches

Import local

Transactionnel

Traitement par lots

Optimisé pour les gros volumes

Nécessite que les éléments soient lisibles par le serveur

Cadre / langage imposé

Page 7: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Différentes implémentations

Appels distants

API REST

Nuxeo JS client Appels REST(tout langage)

Nuxeo Node Importer

Nuxeo Custom Node Importer

Fork

Page 8: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Différentes implémentations

Import local

Nuxeo Platform Importer

Nuxeo Scan Importer

Nuxeo Bulk Importer

Nuxeo CSV

Page 9: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Questions ?

Page 10: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Quelles solutions pour...

Page 11: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Cas d'usage

Import ponctuel

Intégration de données externes

Reprise de données

Page 12: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Appels distants Import local

API REST Nuxeo Nuxeo CSV

Import ponctuel

Liens utiles:DocumentationNuxeo Node ImporterNuxeo Custom Node Importer

Liens utiles:Documentation

Page 13: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Questions ?

Page 14: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Appels distants Import local

Mule ESB Scan importer

Import récurrent

Liens utiles:Connecting Nuxeo with Twitter using Mule ESB

Liens utiles:Documentation

Page 15: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Questions ?

Page 16: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Appels distants Import local

API REST Nuxeo Bulk importer

Reprise de données

Liens utiles:DocumentationNuxeo Node ImporterNuxeo Custom Node Importer

Liens utiles:Documentation

Page 17: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Bulk Document Importer

Page 18: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Process d'import

Source node

Factory Document

...

Page 19: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Process d'import

Source node

Factory Document

Filter

Threading policy

Page 20: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Quoi configurer ?

Source

node

Factory

Threading

policy

Filter

Format d'entrée

Traitements additionnels

Limiter les événements

Gérer les performances

PointImporterConfiguration Service DefaultImporterComponent

Page 21: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

API REST : Nuxeo JS client

Page 22: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Comment...Créer un document

client.document('/').create({ type: "Folder", name: "a folder", properties: { "dc:title": "a folder" }, function(err, data) { // done }

Définir un statut

var operation = client.operation('Document.SetLifeCycle') .params({'value', 'approve'}) .input('doc:/') .execute(function(err, data) { // done });

Uploader un fichier

// Create the uploader bound to the operationvar uploader = client.operation("Blob.Attach") .params({ document: existingDocId, save : true, xpath: "file:content" }) .uploader();

// Upload the fileuploader.uploadFile(file, function(error, data) { if (error) { // something went wrong throw error; }

// When done, execute the operation uploader.execute(function(error, data) { if (error) { // something went wrong throw error; }

// successfully attached blob });}

Page 23: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Quelle base pour mon projet ?

nuxeo-node-importer Import standard de fichiers

nuxeo-node-custom-importer Import avec règles métier

Page 24: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Questions ?

Page 25: Importer des données dans Nuxeo Platform - Nuxeo Tour 2014 - workshop

Merci de votre attention !