Comme tous les ans, INEAT Conseil s’est rendu au Nuxeo World, devenu le Nuxeo Tour pour l’année 2014. L’événement s’est déroulé en deux temps : une journée “ateliers” où nous nous sommes rendu à la partie Deep Dive, et une journée de conférences, commune à tous les participants : l’ensemble des slides du #NXT2014.
Journée 1 – Deep Dive
Atelier API/JS (Vladimir Pasquier @viodek)
Cette session a pour vocation de démontrer la simplicité d’utilisation du client javascript pour communiquer avec le backend Nuxeo. Vous pouvez trouver l’exercice sur Github : https://github.com/vpasquier/nuxeo-workshop-restapi. ‘Nuxeo n’est pas seulement un entrepôt de données, mais il fournit des outils pour construire son application. Nuxeo est accessible via plusieurs API (REST, SOAP, Webdav, CMIS…), mais il a surtout été question de l’API REST lors de cet atelier. “Attaquer” un repository Nuxeo est une chose très simple : elle respecte la structure suivante :
Methode (GET / POST / DELETE / PUT) + Nom de la ressource (Document / User / Group / Path) + Opération (create / update / getChildren)
Plus d’informations avec la documentation en ligne.
ElasticSearch (Michael Vachette)
Une des grande nouveauté de la version 6.0 est l’intégration native de la solution OpenSource ElasticSearch.
Les raisons :
- La recherche influe sur les performances de la base de données.
- Pas de possibilités de distribuer les requêtes sur plusieurs bases.
- Toutes les bases de données ne proposent pas les mêmes fonctionnalités.
- Pas de facettes, synonymes, comme Google et autres moteurs de recherche.
Avec son architecture distribuée, il est désormais possible de mieux supporter la charge en démarrant plusieurs instances d’ElasticSearch.
Les index et audit sont désormais stockés dans ElasticSearch.
La recherche prend en charge les requêtes avec des caractères spéciaux.
Il n’y a pas de schéma de données et la communication utilise le protocole standard JSON/HTTP. L’intégration est iso-fonctionnelle : les requêtes en langage NXQL sont toujours possibles et également transparente dans les contents views. Le PageProvider respecte toujours la même interface.
Importer des données dans Nuxeo : les différentes approches possible (Bertrand Chauvin)
Avant d’importer des données, il est important de faire une étude préalable et vérifier plusieurs points :
- La complexité des données
- Les volumes à traiter
- La fréquence d’importation
- Les contraintes éventuelles sur l’utilisation de l’instance en production
- Le choix ou non d’un format pivot
Import distant | Import local | |
---|---|---|
Avantages |
Choix du format et du langage Facile à customiser Pas besoin d’accès physique au serveur |
Transactionnel Traitement par lots Optimisé pour les gros volumes |
Inconvénients |
Non transactionnel Pas de traitement par lots Contraintes liées au réseau |
Nécessite que les éléments soient lisibles par le serveur Cadre/langage imposé (JAVA) |
Outils |
nuxeo-node-importer (NodeJS) nuxeo-custom-importer (Défini une nomenclature de fichier, pour un import intelligent) via un navigateur via muleESB ou autre soft de gestion de flux. |
nuxeo-platform-important (JAVA) |
Cas d’usage
Import distant | Import local | |
---|---|---|
Import ponctuel |
API REST |
Nuxeo CSV |
Import récurrent |
API REST |
Scan importer (besoin d’ajouter la librairie jackson et le bundle nuxeo-jaxrs) |
Reprise de données |
API REST |
Bulk importer |
Nuxeo Drive (Alain Escaffre @aescaffre)
Il y a beaucoup de nouveautés dans Nuxeo Drive, grâce à l’enthousiasme de SHARP pour ce produit.
Gestion des conflits
Renommage du document modifié en dernier en suffixant par la date du conflit et le nom de l’auteur entre parenthèse puis résolution manuelle.
Gestion des droits
Les droits sur les fichiers et dossiers sont désormais respectés sur le système de fichiers de l’OS. Sous Windows, la gestion est seulement sur les fichiers, car implémentation des dossiers est différente.
Les collections
Il est possible désormais de créer une collection de documents et de synchroniser cette collection via Drive. Une collection ne contient pas les documents physiques. Elle stocke l’ensemble des identifiants des documents et chaque document connaît l’identifiant de la collection.
Drive Edit
Le Drive Edit vient remplacer la fonctionnalité LiveEdit de l’ancienne version. Avant, avec le LiveEdit il fallait installer un plugin Microsoft Office, un plugin à son naviguateur et cela dépendait de l’OS. Désormais, il n’y a qu’une seule installation et cela fonctionne pour l’ensemble des systèmes d’exploitation. Lorsqu’on demande l’édition d’un document dans l’interface web de Nuxeo, la plateforme créé une nouvelle collection “drive-edit” synchronisée dans le drive. Après la synchronisation, le fichier s’ouvre avec l’éditeur associé. Le document est bloqué en lecture seule dans Nuxeo. A la sauvegarde, le document est répoussé.
Depuis l’existante de Drive (5.6), il n’y a pas eu de problème de compatibilité mais désormais, Nuxeo va fournir une matrice de compatibilité entre les clients Drive et les serveurs.
Autres fonctionnalités
- Configuration d’un proxy simplement
- Ajout d’un mode debug
- Mise à jour automatique et personnalisable avec un repository de mise à jour privé
- Interface drive customisable (clic droit est vue jsf!!)
- Logique extensible (Nom des dossiers synchronisé par défaut, API…?)
Roadmap Drive :
- Optimisation des algorithmes de synchronisation
- Décoration du système de fichier
- Notification au système d’exploitation
- Récupération des informations côté serveur (paramètres)
- Proxy PAC, Synchronisation des documents publiés
- Interface pour résoudre les conflits.
Journée 2 – Conférences
Un an d’innovation (Eric Barroca @ebarroca)
Quelques clients par use case :
- DAM : JCDecaux, Verizon (DAM avec de gros volumes fichier de 20 à 100go), GSD&M, CapitalOne
- Business oriented Document Repository : iSight, Datamail, GoBalto, ThompsonReuters, Bank of France
- Workflow & case management : SolutionStar, Prime, Minister Office, FICO
- Advanced Content Repository : Back-end Nuxeo + Consommation des API : Boeing
Les nouveautés fonctionnelles de la 6.0
- Simplification de la navigation. Un onglet “Espace de travail” plutôt que DAM, DM, SC…? et donc L’ensemble est customisable !
- Un onglet “Recherche” avec la puissance d’ElasticSearch, les facets…?
- Possibilité à l’utilisateur de choisir les colonnes à afficher dans le résultat. Configuration possible pour les colonnes via studio.
- Déplacement des packages DAM et SC dans des addons. Les packages n’évolueront plus pour les versions antérieures.
- Possibilité d’éditer un ensemble de documents. Sélection puis affichage en mode tableur des métadonnées.
- Collaboration externe possibilité d’envoyer des invitation en masse depuis un folder avec choix du mot de mot de passe.
- Easy share folder : partage public du contenu d’un dossier par email, avec date de validation.
- Retrait du module Social Collaboration. Suppresion des administrateurs locaux. etc.. Déprécion du module.
Mais possibilité d’implémenter des administrateurs locaux. Cas d’usage courant.
Roadmap & Improvements (Alain Escaffre @aescaffre)
- Intégration Google Drive puis Office 365. Il sera désormais possible d’intégrer ces fichiers dans Nuxeo et d’utiliser les workflows et autres fonctionnalitées ECM.
- Développement d’un module de conversations sur l’ensemble des documents (Notifications, ping user…?)
- Dévelopememnt d’un module “Activities” pour suivre l’animation d’un document.
- Amélioration des workflows avec le support de champs complexes et l’amélioration de l’API REST.
- Amélioration de la partie suggestion de la recherche
- Nouveautés sur la mobilité.
- Ajout de la gestion des branch dans Studio.
- Ajout d’une fonctionnalité d’installation simplifié en un click.
- Support d’un language de script dans Studio
- Mise à disposition d’un plugin Chrome pour déployer rapidement une customisation en mode développeur.
Nuxeo.io (Damien Metzler @damienmetzler)
Nuxeo.io est une offre permettant de gérer et d’exploiter des clusters Nuxeo Platform sur le cloud et constitue une nouvelle façon rapide et facile d’accéder à la demande à des instances Nuxeo Platform légères. La version beta de nuxeo.io est disponible pour la mise en place d’instances de développement et de test de Nuxeo Platform. Les partenaires, clients et développeurs qui souhaitent voir comme il est facile et rapide de démarrer un projet Nuxeo Platform peuvent demander l’accès à nuxeo.io.
Docker et CoreOs
nuxeo.io est développé avec Arken, une infrastructure logicielle open source pour instancier et alimenter des instances applicatives sur site ou sur le cloud. Arken est un orchestrateur Docker utilisant CoreOs. Moteur de virtualisation léger, ou conteneur, Docker élimine la gestion de la machine. Arken se charge d’organiser les conteneurs Docker.