8. Gestion des rapports XDoc
La plateforme Ontomantics permet de générer plusieurs types de rapports : les rapports Jasper, les rapports XDoc, les rapports JETT et les rapports PDF (avec l'API Ontomantics). Les rapports Jasper peuvent générer des fichiers sous différents formats (PDF, Excel, etc.) ; les rapports XDoc utilisent des fichiers au format Word Docx qu’ils remplissent avec des variables ; les rapports JETT utilisent des fichiers au format Excel qu’ils remplissent avec des variables. La génération via l'API Ontomantics n’utilise pas de fichier modèle, mais le Glisser - Déposer d’Ontomantics.
7.8.1. Génération de rapports XDoc
La plateforme permet de générer des fichiers au format Docx (Microsoft Word) ou ODT (Open Office / Libre Office). L’utilisateur créé un fichier Word de référence au format Docx contenant des variables, que la plateforme remplit avec les données correspondantes.
Pour créer un rapport XDoc, il faut cliquer sur l’onglet Conception, puis sur (Gérer les rapports). Cliquer sur le bouton pour créer un rapport. Dans le champ Type, choisir XDocReport. Il est également possible de faire un clic droit sur la ligne Liste des rapports XDocReport puis sur Nouveau rapport pour créer directement un rapport XDoc.
Il faut alors choisir le type de fichier template qui servira à générer les variables utilisées dans le document. Le template peut être :
-
un fichier chargé de façon statique : dans ce cas, il suffit d’insérer le fichier Docx de référence ; la plateforme Ontomantics détecte automatiquement les variables et les créé automatiquement.
-
un fichier chargé de façon dynamique : dans ce cas, il faut sélectionner la variable préalablement créée pour générer le template.
Après avoir cliqué sur Sauvegarder, il faut sélectionner le fichier à importer.
Le template du rapport peut être au format Docx (Microsoft Word 2007 ou supérieur) ou ODT (LibreOffice ou OpenOffice).
L’import du fichier template se fait en sélectionnant le fichier depuis la machine de l’utilisateur. Cliquer sur le bouton Sélectionner un fichier afin d’ouvrir une fenêtre popup permettant de sélectionner le fichier. Une fois le fichier sélectionné, l’envoi se fait automatiquement. Si aucune erreur n’est détectée, l’onglet Contenu affiche la liste des variables détectée par la plateforme. À tout moment, il est possible de recharger un nouveau fichier template, en appuyant sur le bouton Charger le fichier template dans l’longlet Propriétés. Les nouvelles variables trouvées s’ajoutent alors aux anciennes. Il est également possible de télécharger le fichier template en cliquant sur le bouton Télécharger.
Il faut ensuite « câbler » les variables trouvées dans le document, avec les données de la plateforme. Sélectionner un champ dans la liste centrale, puis choisir le type de données parmi la liste suivante :
-
Texte
-
Entier
-
Décimal
-
Booléen
-
Date
-
Image
-
Html
-
GWiki
-
MediaWiki
-
MarkDown
-
Document
-
Élément complexe
Cocher la case Est une liste d’éléments s’il s’agit d’un élément multiple. Choisir ensuite le type de champ à rattacher à la variable. Les types sont les suivants :
-
Contrôle
-
Champ d’un jeu de données
-
Variable
-
Constante
-
Expression
Pour une variable, le fait de créer une nouvelle variable depuis cet écran aura pour effet de proposer par défaut comme nom de variable, le nom du champ XDoc (modifiable en saisissant un nom différent).
7.8.2. Création d’un Document Word de référence
Un document Word « modèle » ou « template » se présente de la façon suivante :
Il s’agit d’un document au format Word portant l’extension .docx qui contient du texte fixe et du texte variable. Le texte variable est présenté sous la forme d’une variable commençant par le symbole $. Ce sont ces variables qui sont détectées par la plateforme lors de l’import du fichier précédemment évoqué. Elles utilisent le moteur de template Velocity, dont la documentation en ligne est accessible à l’adresse suivante : http://velocity.apache.org/engine/devel/user-guide.html
La création d’une variable dans Word se fait en cliquant sur l’onglet Insertion du logiciel, puis en cliquant sur le bouton Quickpart. Dans la fenêtre apparue, sélectionner dans la colonne de gauche la ligne ChampFusion, puis entrer le nom du champ désiré.
Ce moteur de template basé sur Java permet de créer différentes opérations telles que des conditions If, des boucles For, Foreach, etc. Ainsi, la formule suivante permet par exemple d’afficher une phrase dans le document, demandant de préciser son numéro d’arrondissement si la ville de l’utilisateur est **Paris* :
«#if ($Ville != "Paris")»
Veuillez préciser votre arrondissement de résidence : «#end»
Elle est composée d’un premier champ qui exprime la condition : #if ($Ville != "Paris")
; la phrase qui suit est du simple texte ; la condition se clôt avec le champ #end
.
La création d’une boucle For ou d’une boucle Foreach se fait de la même façon :
« Pour permettre d’instruire votre dossier, je vous invite à nous faire parvenir, en 3 exemplaires, les éléments manquants suivants :
«#foreach ($Piece_Compl in $Elements)»
-
«$Piece_Compl»«#end»
La formule ci-dessus permet d’afficher l’ensemble des pièces complémentaires du tableau Élément (qui est alors un élément de type Élément complexe multiple sous Ontomantics). Les boucles et les conditions finissent systématiquement par un champ #end.
Pour insérer une image dynamique, commencer par cliquer sur Insertion Images, puis choisir une image modèle qui sera remplacée à la génération.
Sélectionner ensuite l’image, puis cliquer sur Insertion Signet. Dans le nom du signet, taper le nom de la variable sans le caractère $, puis cliquer sur Ajouter.
7.8.3. Création d’un Document ODT de référence
La création d’un rapport au format ODT (Open Office / Libre Office) est similaire à celle d’un rapport Microsoft Word.
Dans Libre Office (ou Open Office), cliquer sur Insertion Champs Autres.
Cliquer ensuite sur l’onglet Fonctions, puis sur le type de champ Champ de saisie.
Cliquer sur le bouton Insérer, puis entrer le nom de la variable, en commençant par le caractère $. Cliquer ensuite sur OK ; le champ est inséré dans le document.
La syntaxe des champs de saisie est identique à celle utilisée pour les documents Word.
Pour insérer une image dynamique, commencer par cliquer sur Insertion Images, puis choisir une image modèle qui sera remplacée à la génération.
Sélectionner ensuite l’image, puis cliquer sur Propriétés (sous Open Office, faire un clic droit et cliquer sur Image), puis sur l’onglet Options. Mettre le nom de la variable sans le caractère $ dans le champ Nom, puis cliquer sur OK.
Ces exemples succints ne présentent pas l’intégralité des possibilités offertes par le moteur Velocity. Se reporter à la documentation de Velocity disponible en ligne à l’adresse suivante pour plus d’informations sur son utilisation :