OPALE - 10.0 - Usage
Dynamic Part (Map)
Définition:
La partie « MAP » d’un projet correspond à la partie dynamique des éditions dépendant de chaque flux de données traité par ce modèle. Les éléments principaux pouvant être placés dans cette partie sont, en premier, les informations imprimables des fichiers de données.
L’élaboration de cette partie se fera en sélectionnant l’onglet « Map R » (et « Map V » pour le verso du document). Dans cette vue de conception, les éléments de la partie « Draw » apparaissent en filigrane pour faciliter les positionnements des données à imprimer.
Notion de "Fichier Spool":
Pour repérer et identifier les données à imprimer, la conception d’un projet M-Designer s’appuie sur un fichier exemple. Ce fichier exemple est l’image du spool de production à mettre en forme.
Deux types de fichiers de données sont pris en charge nativement dans Designer : des fichiers textes paginés et des fichiers XML au format Mapping. Le paramétrage du type de fichier en entrée est fait dans les propriétés du projet.
Historiquement, les fichiers textes ont pour extension « .PAG » car ils doivent être paginés : l’application DESIGNER ne gère pas la pagination en mode SPLF.
Ils s’obtiennent en exécutant la commande « MAPPAGIFS » depuis OPALE Server où un argument précisant le nombre de lignes par page ("Overflow") sera notamment précisé.
Les fichiers XML doivent respecter une syntaxe prédéfinie pour être correctement exploitables dans l’application.
Pour ouvrir et afficher un fichier d’exemple dans DESIGNER , la vue spool doit être activée dans le menu « Affichage ».
Dans l’onglet « Accueil », cliquer sur « Charge spool» et sélectionner le fichier à charger dans l’application.
La vue Spool affiche alors les données du spool à mettre en forme .
Remarque :
Pour aider l’utilisateur dans la conception de son projet, il est possible de pré-visualiser le résultat sans avoir à imprimer le document.
Pour cela, cliquer simplement sur le bouton correspondant dans le menu « Accueil ».
Mode XML : syntaxe et spécifications
En mode XML, les principes de conceptions sont les mêmes et s’appuient sur un fichier d’exemple chargé dans l’application.
[
[File:ModeXML.PNG|300px|center|sans_cadre]]
Une fois le document chargé, ne pas oublier d’aller vérifier dans les Propriétés du projet que le Mode = XML est bien défini .
La vue spool s’appelle alors Vue XML et présente le contenu du fichier sous forme d’arborescence
Structure de données:
Les fichiers XML nativement pris en charge par Designer doivent respecter un schéma et une syntaxe prédéfinis dont voici une illustration :
- Les balises <page name="..."> … </page> permettent de délimiter les pages du document. Dans l’exemple précédent, il n’y a qu’une page.
- Les balises <field name="...">value1</field> représentent une information unitaire (l’équivalent des ‘zones’ dans Designer).
- Les balises <group name="..."> … </group> désignent un certain nombre de lignes contenant des zones, comme un ‘groupe’ dans Designer.
- Les balises <line name="…"> … <line> représentent les lignes à l’intérieur de ces groupes.
En procédant par analogie avec une facture papier :
<page name="..."> … </page> représente les pages de la facture.
<group name="..."> … </group> représente la délimitation du corps de la facture (de sa première ligne à sa dernière ligne).
<line name="…"> … <line> décrit le contenu de chaque ligne du corps de la facture.
<field name="...">value1</field> peut représenter deux possibilités :
- Si cette balise est en dehors d’un groupe, il s’agit d’une information unitaire dans la facture. Dans ce cas, value1 représente le n° de facture dans l’entête par exemple ou le n° de client, le type de facture, etc.
- Si elle se trouve à l’intérieur de la définition d’un groupe, value1 désigne la valeur de la zone dans la ligne. Par exemple, le code produit, désignation, prix, etc.
Spécifications du schéma XML:
Les spécifications attendues par Designer sont les suivantes :
- L’entête XML doit préciser l’encodage du fichier.
Exemple : <?xml version="1.0" encoding="UTF-16" standalone="yes" ?>
- La balise racine des données XML doit s’appeler « doc ».
- Toutes les balises mentionnées ci-après doivent avoir au moins un attribut nommé « name ». C’est par cet attribut que les informations seront identifiées, récupérées et mises en forme par l’application.
- Les noms des balises et des attributs sont sensibles à la casse et doivent être écrits en lettres minuscules.
- Pour être accessibles par l’application, les données doivent être localisées dans des pages entre les balises <page name="…"> et </page>. Un même document peut contenir plusieurs pages.
- A l’intérieur d’une page, les données sont ensuite organisées par champs unitaires (balise <field name="…">), ou par groupes d’informations (balise <group name="…">)
- Les groupes d’informations sont composés de lignes (balise <line name="…">)
- Les lignes contiennent des informations unitaires (balise <field name="…">)
Remarque :
Des données XML peuvent se situer en dehors d’une page comme des informations liées au document dans son ensemble et non à une page en particulier. Elles ne seront cependant pas visibles par l’application Designer et donc non utilisables pour la conception du document. Elles pourront en revanche être utilisées dans le moteur Opale Server.
Vue XML dans Designer:
Le chargement d’un fichier d’exemple XML dans DESIGNER se fait de la même manière qu’un fichier texte. Dans la vue XML, la présentation des données apparait sous forme d'une liste d'éléments .
Premiers Éléments Dynamiques :
1.Zone :
Élément principal par excellence, une zone permet de récupérer de l’information dans les données en entrée, afin de les positionner et de les mettre en forme dans le document graphique final.
En mode texte, l’information est identifiée par 3 données : un numéro de ligne, un numéro de colonne et une longueur. En mode XML, elle est identifiée par le nom du champ XML (balise field).
Une Zone ne peut lire qu’une seule ligne à la fois. Dans l’espace de conception, elle est représentée par son nom entouré d’un rectangle bleu :
Pour créer une zone :
Sélectionner la zone à récupérer directement dans le spool puis utiliser le « glisser-déposer » pour la placer sur l’espace de conception :
Une fois placée, la vue Propriétés s’affiche, pour renseigner les informations de la zone :
Nom :
- Nom de la zone : information interne à Designer, permettant d’identifier les différents objets dans le projet
- Champ XML : nom du champ XML identifiant l’information (en mode XML uniquement)
- Labels avant/après : possibilités d’ajouter du texte avant et/ou après l’information récupérée
Position dans le document :
- Permet de modifier le positionnement de la zone dans la page
Position :
- Identification de la position de l’information dans le spool de données : ligne, colonne, longueur.
- Permet également d’extraire une certaine quantité d’information en mode XML
Type de donnée :
Permet de définir comment l’application Designer doit traiter l’information récupérée (voir ci-après)
Police :
- Permet de paramétrer toutes les options de mise en forme de l’information : police, taille, couleur, cadrage, orientation, etc.
Remarque :
Le « glisser-déposer » depuis la vue Spool complète automatiquement la position des données en fonction de la sélection effectuée. Elle peut être ajustée si besoin.
La création d’une zone peut également se faire par l’icône présent dans la barre d’outils « Mapping ». La position des données devra alors être renseignée manuellement.
Types de zones : Designer propose diverses options de traitement de l’information .
- Texte : permet d’imprimer du texte simple
- Code barre : permet d’encoder et d’imprimer des codes-barres
- Outils : permet d’insérer un numéro de page, des images, …
- Archive : permet d’indexer le document pour l’archivage (zones non imprimées)
- Mémoire : permet de mémoriser des informations (non imprimées) pour les réutiliser plus tard
- Graphique : permet de concevoir des graphiques
- Conversion : permet de convertir des nombres (Euro à Dollar par exemple)
Remarque :
Pour insérer un retour chariot dans une zone, il faut entrer \x0A dans le champ "Label après" des Propriétés de la zone.
2.Groupe :
Un groupe permet de récupérer plusieurs lignes d’un spool. Il est caractérisé par une ligne de début et une ligne de fin. Sur l’espace de conception, il est représenté en rouge :
Un groupe peut être fixe (lignes de début et de fin fixes) ou variable (lignes de début et de fin variables).
Pour créer un groupe fixe :
Sélectionner le bloc de lignes à récupérer directement dans le spool, puis à l’aide d’un « glisser-déposer », placer le groupe sur l’espace de conception
La vue Propriétés s’affiche, pour renseigner les informations du groupe :
Zone :
- Nom : information interne à Designer
- En mode XML, il s’agira du nom de la balise « group »
Position dans le document :
- Identification des lignes de début et fin du bloc d’information à récupérer
- Décalage : position d’impression de la première ligne par rapport au groupe
Option :
- Conditions exclusives : pour une ligne du groupe, une condition vraie s’exécutera de manière exclusive, sans tester les suivantes.
Variable :
- Permet de changer le type de groupe : de fixe (les lignes de début et de fin sont statiques) à variable (les lignes de début et de fin sont variables, définies par des conditions)
Remarque :
Le « glisser-déposer » depuis la vue Spool complète automatiquement les informations ligne de début et ligne de fin. Elles peuvent être ajustées si besoin.
La création d’un groupe fixe peut également se faire par l’icône présent dans la barre d’outils « Mapping ». Les lignes de début et de fin devront alors être renseignées manuellement.
Si l’utilisateur demande un aperçu, aucune information ne sera imprimée. En effet, un groupe ne définit que des bornes entre lesquelles de l’information doit être récupérée dans le spool.
Entre ces 2 bornes (ligne de début et ligne de fin), il convient maintenant de déterminer la position des informations à récupérer et imprimer, en ajoutant des zones dans le groupe :
Pour créer un groupe variable :
Le principe du groupe variable est identique au groupe fixe : récupérer plusieurs lignes d’information dans le spool. Le groupe fixe sera utilisé lorsque les informations à récupérer sont positionnées de manière fixe dans les spools (toujours au même endroit), alors que le groupe variable permettra de récupérer des informations dont le positionnement n’est pas fixé à l’avance.
Un groupe peut être variable :
- en taille : les lignes de début et de fin sont déterminées dynamiquement par conditions
- et/ou en position d’impression : les groupes variables peuvent être chainés les uns à la suite des autres, le groupe n+1 commençant à s’imprimer dès que le groupe n est terminé.
Pour créer un groupe variable, cliquer sur l’icône , puis dessiner le groupe sur l’espace de conception. La vue Propriétés s’affiche, pour renseigner les informations du groupe