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

Post on 18-Dec-2014

75 views 1 download

description

Atelier Deep Dive Nuxeo Tour par Bertrand Chauvin

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

Importer des données dans Nuxeo PlatformQuelles solutions ?

Agenda

Principes d'import

Quelles solutions pour quel cas ?

Principes d'import

Points à étudier

Complexité des données

Format pivot

Volumes à traiter / Fréquence

Contraintes éventuelles sur la production

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

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é

Différentes implémentations

Appels distants

API REST

Nuxeo JS client Appels REST(tout langage)

Nuxeo Node Importer

Nuxeo Custom Node Importer

Fork

Différentes implémentations

Import local

Nuxeo Platform Importer

Nuxeo Scan Importer

Nuxeo Bulk Importer

Nuxeo CSV

Questions ?

Quelles solutions pour...

Cas d'usage

Import ponctuel

Intégration de données externes

Reprise de données

Appels distants Import local

API REST Nuxeo Nuxeo CSV

Import ponctuel

Liens utiles:DocumentationNuxeo Node ImporterNuxeo Custom Node Importer

Liens utiles:Documentation

Questions ?

Appels distants Import local

Mule ESB Scan importer

Import récurrent

Liens utiles:Connecting Nuxeo with Twitter using Mule ESB

Liens utiles:Documentation

Questions ?

Appels distants Import local

API REST Nuxeo Bulk importer

Reprise de données

Liens utiles:DocumentationNuxeo Node ImporterNuxeo Custom Node Importer

Liens utiles:Documentation

Bulk Document Importer

Process d'import

Source node

Factory Document

...

Process d'import

Source node

Factory Document

Filter

Threading policy

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

API REST : Nuxeo JS client

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 });}

Quelle base pour mon projet ?

nuxeo-node-importer Import standard de fichiers

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

Questions ?

Merci de votre attention !