Formation Galilée



Formation Galilée

0 0


formation-dialog-engine


On Github Galilee / formation-dialog-engine

Formation Galilée

The Dialog Engine - DALIM SOFTWARE

4 février 2016

Objectifs de la formation

Présentation du serveur Dialog Enregistrer un nouveau document Création d'annotations Générer des previews et des thumbnails Récupérer l'historique et les notes
  • Fournir un fichier au format PDF au client
  • Récupérer les données brutes (au format XML)
Ouvrir l'applet de Dialog Engine en mode détaillé
  • Activer / Désactiver la validation
  • Activer / Désactiver la pose de notes
Approve & Reject

1 - Présentation du serveur Dialog

  • Connexion au serveur (en SSH)
    • ssh root@[ip_dialog_server]
  • Lister les fichiers uploadés
    • cd /home/MipDatas
    • ls -alt
  • Fichier de setup du serveur Dialog
    • cat /symlnks/setup/DialogOEMProperties.xml
    • Possibilité d'ajouter des volumes [alias]:/[folder_path]
    • Paramétrage de size, format, quality des previews / thumbnails
  • Chaque modification nécessite un restart de Tomcat
    • /symlnks/common/services/tomcat7.0 restart
  • S'il y a un soucis, analyser les logs de Tomcat
    • less /symlnks/var/6.0/log/tomcat7.0/catalina.out

2 - Enregistrer un nouveau document

  • Les fichiers doivent être stockés dans un répertoire bien particulier
    • /home/MipDatas
  • Copier un fichier sur le serveur Dialog (via SFTP par exemple)
    • scp 1234.pdf root@[ip_dialog_server]:/home/MipDatas
    • Vérifier la présence du fichier uploadé
  • Enregistrer le fichier via l'API Dialog
    • http://[ip_dialog_server]/DialogOEMServer/admin/RegisterDocument?Document=[volume]:[docName]&ClearOldData=[true|false]
    • volume : alias du volume (la lettre)
  • Résultats sur le serveur : création de différents fichiers
    • ls /symlnks/data/6.0/DialogOEMDB/Documents/[volume]/[docName]*
    • *_info.xml
    • *_thumb.jpg
    • *_lowRes.jpg
  • Fichier d'informations
    • cat /symlnks/data/6.0/DialogOEMDB/Documents/[volume]/[docName]_info.xml
    • mime-type
    • page-count
    • pixel-width
    • pixel-height
    • etc.

3 - Création d'annotations

  • Ouverture de l'interface Dialog par défaut (via l'API)
    • http://[ip_dialog_server]/DialogOEMServer/openDocument?Document=[volume]:[docName]&Viewer=html5&User=[userName]
    • On peut ajouter une notion d'utilisateur avec le paramètre &User=[userName] (la majuscule est primordiale)
  • Utilisation du bouton "Annotate"
  • Gestion des annotations sur la frame de droite
    • Tri / Filtrage / Recherche
    • Réponses à une annotation
    • Suppression
  • Implication du côté serveur (nouveaux fichiers)
    • cd /symlnks/data/6.0/DialogOEMDB/Documents/[volume]
    • *_historic.xml
      • Balise "event"
      • Liste de toutes les actions faites sur la page courante du document
    • *_notes.xml
      • Notes (ID, Content, Author, Coord, Position etc.)
      • Comment (ParentID, Content, Author, etc.)

4 - Générer les previews / thumbnails

  • Récupérer la preview (via l'API)
    • http://[ip_dialog_server]/DialogOEMServer/admin/GetLowRes?Document=[volume]:[docName]&WaitUntilCompletion=[true|false]
    • Uniquement la preview de la première page
    • Content-Type : image/jpeg (par défaut)
    • Test pour récupération du fichier
      • wget http://[ip_dialog_server]/DialogOEMServer/admin/GetLowRes?Document=[volume]:[docName]&WaitUntilCompletion=[true|false] -O test.jpeg
  • Récupérer la thumbnail (via l'API)
    • http://[ip_dialog_server]/DialogOEMServer/admin/GetThumbnail?Document=[volume]:[docName]&WaitUntilCompletion=[true|false]
    • Uniquement la thumbnail de la première page
    • Content-Type : image/jpeg (par défaut)
    • Test pour récupération du fichier
      • wget http://[ip_dialog_server]/DialogOEMServer/admin/GetThumbnail?Document=[volume]:[docName]&WaitUntilCompletion=[true|false] -O test.jpeg

5 - Récupérer l'historique du document et les notes

  • Génération d'un fichier PDF (trois méthodes)
    • Fichier de rapport de notes
      • http://[ip_dialog_server]/DialogOEMServer/servlet/document?action=getPDFNotesReport&doc=[volume]:[docName]&content=Notes&hideEmptyPages=[false]
      • &content=Notes : permet d'afficher sur le rapport uniquement les éléments relatifs aux annotations (plus lisible)
      • &hideEmtptyPages=true : génère un rapport avec uniquement les pages soumises aux annotations
    • Fichier de rapport de notes (déjà renommé)
      • http://[ip_dialog_server]/DialogOEMServer/servlet/Download/[newName]?doc=[volume]:[docName]&action=getPDFNotesReport&content=Notes&hideEmptyPages=[false]
      • newName : permet de renommer le fichier à la volée
      • Même paramètres qu'avant
    • Fichier de rapport de notes en haute résolution (paramétrable)
      • http://[ip_dialog_server]/DialogOEMServer/servlet/HighResolution/[newName]?doc=[volume]:[docName]&Resolution=[72]&Original=[false]
      • &Resolution : permet de définir une résolution spécifique (par défaut 72dpi)
      • &Original=false : permet d'avoir un élément rastérisé (conversion d'un élément vectoriel en élément matriciel)
  • Récupération des données brutes (au format XML)
    • http://[ip_dialog_server]/DialogOEMServer/admin/GetDocumentXMLReport?Document=[volume]:[docName]
    • Balises [Notes] / [Note] pour la liste de toute les notes
    • Attributs [id] / [parentID] pour établir une parenté entre les notes
    • Balises [History] / [Event] pour retrouver l'historique
    • Balises [Page] correspondent au register d'un document
    • Balises [Users] / [User] pour les différents utilisateurs ayant manipulé l'application

6 - Ouvrir l'applet de Dialog Engine en mode détaillé

  • Nécessite de créer une page web HTML/Javascript
  • Exemple ici
  • Explications détaillées
    • Initialisation et ouverture de document
      • Nom de l'utilisateur à utiliser
      • Nom du document à ouvrir
      • Désactivation annotation et approbation
    • Modification potentielle du DOM pour personnalisation

7 - Approve & Reject

  • Par défaut, stockés dans le cache de Tomcat
    • Persisté jusqu'au restart de Tomcat
  • Possibilité d'utiliser la Persistence API
  • Possibilité d'utiliser des endpoints basiques pour persister
    • Modification du DialogOEMProperties.xml
    • Création d'une API (par exemple) pour gérer la persistence
    • Ajout du endpoint 'SetApprovalStatus' dans la configuration
      • 
                                            
      • [end_point] : API qui persiste en bdd les données
    • Ajout du endpoint 'GetApprovalStatus' dans la configuration
      • [end_point] : API qui vient faire un GET pour récupérer les données
    • Retours de l'API avec les différents status
      • Liste des status : NotSet, ToBeApproved, Approved, Partially, Rejected

Questions ?

Formation Galilée The Dialog Engine - DALIM SOFTWARE 4 février 2016