Tout comprendre de Nuxeo Drive - Nuxeo Tour 2014 - workshop

Post on 17-Dec-2014

158 views 1 download

description

Atelier Deep Dive Nuxeo Tour 2014 par Alain Escaffre

Transcript of Tout comprendre de Nuxeo Drive - Nuxeo Tour 2014 - workshop

Nuxeo DriveTout ce qu’il faut savoir au sujet de Nuxeo Drive!

Installation et premières manipulations

Fonctionnement de la synchronisation

• Contrôle du type de document créé:

Choix du type en fonction du type mime par le file manager. Similaire au glisser / déposé via le navigateur

• Politique de versioning:

Une version crée après modification si dernière sauvegarde depuis temps “t” configurable sur le serveur.

Une version créé si dernière personne ayant modifiée différente de la personne courante

Fonctionnement de la synchronisation

• Politique de versioning Dans nuxeodrive-adapter-contrib.xml :

<fileSystemItemFactory name="defaultFileSystemItemFactory"

order="50" class="org.nuxeo.drive.service.impl.DefaultFileSystemItemFactory">

<parameters>

<parameter name="versioningDelay">3600</parameter>

<parameter name="versioningOption">MINOR</parameter>

</parameters>

</fileSystemItemFactory>

Fonctionnement de la synchronisation

• Gestion de conflits

Renommage du document modifié en dernier en suffixant par la date du conflit et le nom de l’auteur entre parenthèse.

Ex: Rapport de Stage (Marcel Sembat - 2013-04-01 10-11).doc

Ce document coexiste alors en local et sur le serveur avec

Rapport de Stage.doc

➡Résolution manuelle du conflit

!

!

Gestion de droits

Windows Mac OS Linux

Protection Ecriture Dossiers

Protection Ecriture Fichiers

Protection dossier racine

Synchronisation d’une collection

• Les collections peuvent être synchronisées

• Cas d’usages: Assignations de tâche sans process, panier de travail, …

curl -H 'Content-Type:application/json+nxrequest' -X POST -d '{ "input": "doc:d3122005-f965-4eeb-9b11-9ffd452265b2", "params":{"enable":"true"},"context":{}}'   -u Administrator:Administrator http://localhost:8080/nuxeo/api/v1/automation/NuxeoDrive.SetSynchronization

Drive Edit

• Une collection “système”: Locally Edited

• Click sur le live edit ajoute à la collection

• Edition normale “locale” du document et sauvegarde automatique via mécanisme Drive.

• Retrait de la collection “Locally Edited” —> Retrait automatique du dossier et vice et versa

Edition de métadonnées

• Windows et Linux seulement

• Affichage depuis clic droit d’une page web

• “Onglet” au sens Nuxeo Studio du terme: possibilités de customisations

• Possibilité par défaut

• d’éditer les métadonnées

• récupérer un lien direct

• s’abonner aux modifications

Synchronisation sélective

• Black-list de certains chemins pour la synchronisation

• Cas d’utilisation: synchroniser toute une arborescence, sauf un element à un endroit précis

• Préférence propre à l’application cliente, pas de persistence côté serveur

Installation - options

• Choix du dossier Nuxeo Drive

• Détection automatique de l’emplacement “Mes Documents” sous Windows

• Configuration d’un proxy

• Modification du fichier Config.ini

Installation - options avancées

• timeout  timeout pour les requêtes http/s

• delay temps au bout duquel Drive va vérifier si des changements ont eu lieu côté server (défaut à 5s)

• update-check-delay: application update check

• max-errors Nombre d’essais sur un fichier avant d’abandonner

• update-site: URL de l’update site

Installation - options avancées

• Système de flag pour config.ini

• Config test/prod /pre-prod / debug facile à switcher

• Ex: [DEFAULT]

env=debug

[prod]

log-level-console=INFO

[debug]

log-level-console=TRACE

Distribution

• Auto-update

• Update site

• Url de l’update site configurable (nuxeo.conf) http://community.nuxeo.com/static/drive/

• Matrice de compatibilité client/server 1.3.0806.json: {“nuxeoPlatformMinVersion": “5.6"}!

5.9.5.json: {"nuxeoDriveMinVersion": "1.3.0414"}

Customisation Nuxeo Drive

• Filemanager

• Customisation de l’écran de clic droit

• Création de noeuds virtuels

• Ré-implémentation de l’API

• Surcharge du client Drive (ex: Sharp)

Roadmap

• Optimisation algorithme de synchronisation

• Décoration file system

• Notifications OS

• Récupération des informations côté serveur (paramètres)

• Proxy PAC, Synchronisation des documents publiés, Support des fichiers “dossiers” Mac (Keynote, …)

• Interface pour lister/résoudre les conflits