Templates Templates : modèles de document

Transcription

Templates Templates : modèles de document
Templates
Sommaire
• 1 Templates : modèles de document
♦ 1.1 Prés-requis
♦ 1.2 Principes
♦ 1.3 Administration
◊ 1.3.1 Création et administration des modèles
◊ 1.3.2 Nature du modèle
◊ 1.3.3 Édition du modèle
◊ 1.3.4 Sources de données
♦ 1.4 Instructions de fusion
◊ 1.4.1 Sources de données
◊ 1.4.2 Insertion de zones de données
⋅ 1.4.2.1 Zone simple
⋅ 1.4.2.2 Liste ou tableau
⋅ 1.4.2.3 Formatage
⋅ 1.4.2.4 Valeur de remplacement si vide
◊ 1.4.3 Insertion de fichier
Templates : modèles de document
Prés-requis
L'utilisation des modèles issus d'applications bureautique nécessite certains composants sur le poste client :
• JRE 6.031 ou superieur
• Pluggin JAVA(TM) Platform SE6 (navigateur)
de plus lors de la première utilisation il faut accepter l?exécution de l'application maarchcm
Principes
Le module permet l'utilisation de modèles de documents qui contiennent du texte, des graphismes et des instructions pour fusionner avec des sources
de données.
On distingue deux familles de modèles selon le format :
• le HTML édité directement dans l'interface utilisateur Maarch avec le plug-in TinyMCE
• les formats "Office" pour MS Office, Open Office, LibreOffice qui sont édités (grâce à un plug-in java) avec le logiciel adéquat installé sur le
poste client
L'administration permet de créer et d'éditer les modèles qui sont ensuite utilisables dans les modules et l'app :
• Assignation aux groupes pour utilisation dans l'apps pour générer un nouveau document ou une réponse à un courrier (module attachments)
• Pour les modèles HTML, utilisation dans le module de notifications pour le corps des messages
• Evolutions futures : fiches de liaisons, extraction de statistiques et états, modèles de page de liste, page de détail...
La fusion est faite par un outil intégré (TinyButStrong) qui gère tous les formats avec une syntaxe unifiée détaillée ci-dessous.
Administration
Création et administration des modèles
la gestion des modèles de document passe par la page d'Administration -> Administrer les modèles de document pour arriver sur la liste des modèles
disponibles.
Cliquer sur "Ajout d'un modèle"
La page d'administration requiert la saisie des informations suivantes :
• Nom du modèle
• Description
• Type de modèle : OFFICE ou HTML. Le type Office est utilisable pour les nouveaux document ou les réponses, les états et statistiques, les
listes de résultat. Le type HTML est utilisable en plus pour les notifications.
• Source de données: Identifiant de la source configurée dans le XML /xml/datasources.xml
• Contenu du modèle :
♦ HTML : intégration de l'éditeur TinyMCE,
♦ OFFICE : choix d'une nature (MSOffice, LibreOffice...) et lien pour lancement du plug-in d'édition
• Association aux services : pour les documents et réponses, allocation du modèle aux services pour autoriser l'utilisation
Nature du modèle
Pour OFFICE, l'administrateur met à disposition des styles de modèles sous la forme de fichiers dans le répertoire /templates/templates/styles. Ils
servent de base de travail pour la création de nouveaux modèles Maarch. Ces "modèles de modèles" peuvent être classés dans des sous-répertoires,
ils seront listés à plat et proposés dans la liste de choix pour la création d'un nouveau modèle.
Édition du modèle
Le Bouton "Edition du modèle" permet d?exécuter le fichier sélectionner dans la Nature du modèle avec l'application adéquate (MSWORD dans notre
cas) afin d'y apporter les modifications souhaitées. Une fois la mise en forme effectuée, le modèle sera enregistré et proposé aux utilisateurs autorisés
via l'association aux services. Une fois ajouté, le modèle est disponible dans la liste pour modification ou suppression.
Sources de données
La fusion du modèle de document avec des données variables nécessite de fournir ces informations au moteur de fusion.
L'application livre des sources de données de base (voir plus bas) mais la fusion requiert souvent d'autres données en lien avec l'action ou la procédure
qui utilise le modèle.
Par exemple, la génération d'une réponse à un courrier nécessite de récupérer les informations relatives au courrier initial, au contact (émetteur ou
destinataire du courrier), les notes de traitement, etc.
Cette fonction est remplie par un script spécifique appelé source de données. Il collecte les données complémentaires par des requêtes dans la base ou
des fonctions de l'application. Pour ce faire, il doit recevoir certaines variables qui sont fournies au moment de l'appel au moteur de fusion (page de
traitement, batch de notification...).
Par exemple, la source de données pour la fusion d'une réponse à un courrier doit recevoir le numéro GED de celui-ci (res_id) ainsi que la collection
(coll_id) et la vue pour la requête (res_view).
Les sources de données sont déclarés par l'administrateur dans le fichier de configuration modules/templates/xml/datasources.xml :
<datasource>
<id>letterbox_attachment</id>
<label>Pièce jointe ou réponse</label>
<script>modules/templates/datasources/letterbox_attachment.php</script>
</datasource>
Ceci système implique que :
• les variables utilisées par la source de données complémentaire sont bien renseignées avec les identifiants et clés nécessaires pour que le
script fonctionne (res_id, coll_id, res_view par exemple).
• les informations collectées par la source correspondent bien aux données fusionnées dans le modèle auquel il est rattaché
Instructions de fusion
Les instructions de fusion sont insérées en mode texte directement dans le corps du modèle de document avec la syntaxe suivante :
[instruction{;param1}{;param2}{...}{;param3}]
Le type et le contenu des instructions utilisables dépend en grande partie des sources de données mises à disposition.
Sources de données
Chaque source de données est identifiée par un nom (contenant des caractères 'a' à 'z', des chiffres et tiret bas '_'). Le plus souvent le nom de la source
correspond au nom de la table dont sont extraites les données.
La source de données est un tableau dont chaque colonne est aussi nommée. Le nom des colonnes est défini dans le script de source, mais dans la
plupart des cas il correspond au nom de la colonne de la table ou vue dont est extraite la donnée.
Par exemple, le script "Pièce jointe" fournit des valeurs pour le courrier maître, rassemblées dans une source nommée res_letterbox et dont les
colonnes sont 'res_id', 'subject', 'doc_date', etc.
Insertion de zones de données
L'instruction de base permet d'insérer une donnée provenant d'une source:
[nom_source.nom_colonne{;block=limite_bloc}{param1}]
Zone simple
Pour une zone simple, on fournit le nom de la source et le nom de la colonne à insérer.
Par exemple, pour insérer le sujet du courrier maître dans une réponse, l'instruction sera la suivante : [res_letterbox.subject]
Liste ou tableau
La source peut contenir plusieurs lignes, auquel cas il faut préciser sur au moins une des instructions du bloc la balises d'encadrement de la ligne par le
paramètre 'block'. Ceci permettra au moteur de fusion de boucler pour produire une liste.
Par exemple, pour insérer la date et le texte des notes ajoutées au courrier maître dans une réponse sous la forme d'une liste à puces, l'instruction sera
placée après une puce et précisera la balise :
• [notes.note_text;block=li] ([notes.date_note])
Formatage
On peut modifier le format d'une zone, par exemple la date, avec le paramètre 'frm'.
Par exemple, une date fournie dans une source sous la forme '31-01-2013 00:00:00.000' peut être affichée sous la forme '31/01/2013' par le formatage
suivant : [notes.date_note;frm=dd/mm/yyyy]
Valeur de remplacement si vide
Pour une colonne, on peut préciser la valeur de remplacement par : [res_letterbox.subject;ifempty=--Sans objet--]
Pour un bloc (liste ou ligne de table) il faut ajouter sur une ligne complémentaire :
• [notes.note_text;block=li] ([notes.user_id] le [notes.date_note;frm=dd/mm/yyyy])
• [notes;nodata]Aucune note
Insertion de fichier
Il est possible d'intégrer le contenu d'un fichier au début ou à la fin de la fusion, par exemple un bloc de texte externe, un style css ou même un autre
modèle qui sera aussi fusionné ! [onload;file=chemin_fichier]

Documents pareils