Esup-signature propose de mettre rapidement en ligne des formulaires PDF simples. Cette fonction s'appuie sur les PDF Forms (formulaires présents dans les fichiers PDF).
D'une manière générale, esup-signature est capable d'analyser les formulaires PDF, d'en effectuer le rendu (via PDF.js) et de "fusionner" les données saisies lors de la signature. Pour aller un peu plus loin vous avez la possibilité d'utiliser un PDF Form comme modèle au moment de démarrer un circuit. Dans ce cas on utilise le module d'administration pour déclarer un formulaire. Les formulaires sont accompagnés de plusieurs fonctions additionnelles :
- stockage des données saisies dans la base de données d'esup-signature
- export des données aux formats csv et json
- pré-remplissage des champs en fonction de l'utilisateur courant et des sources de données
- verrouillage/libération des champs en fonction de l'étape courante
La mise en place du formulaire basé sur un PDF se fait en 3 étapes :
- création du circuit des signatures (voir Gestion des circuits)
- création du PDF avec formulaire
- import du PDF avec formulaire dans esup-signature
Création d'un PDF Form
Pour créer un formulaire et générer le fichier PDF, il est possible d'utiliser Libre Office. Il gère correctement la création de champs de formulaires (texte, cases à cocher,...) ainsi que la conversion au format PDF. La seule restriction concerne les champs signature. Pour palier au problème, l'université de Rouen utilise Master PDF Editor (payant), disponible pour Windows, Linux et Mac.
L'opération consiste donc à placer les champs de formulaire puis à les configurer de la bonne façon.
Les champs doivent être configurés comme suit:
- Le nom (esup-signature utilisera ce nom comme identifiant du champ)
- Cocher ou non "Obligatoire"
- Esup-signature gère les champs texte, texte multi-lignes, cases à cocher, radio boutons et liste déroulantes
- Dans la partie "Format" des champs texte, esup-signature reconnait les formats : Nombre et Date/Heure
- Toutes autres options n'auront aucun effet sur le comportement d' esup-signature
Import du formulaire
Lorsque le formulaire PDF est terminé, il faut l'importer dans esup-signature. Pour cela il faut aller sur "Admin" puis "Formulaire" puis cliquer sur le bouton bleu "+" et enfin sur l’icône PDF.
Vous devez saisir les informations suivantes :
- un nom (technique)
- un titre (affiché sur le bouton de création d'un nouveau document)
- sélectionner votre modèle PDF Form
- choisir la visibilité pour tous ou saisir les rôles pour définir qui peut accéder à ce formulaire
- choisir le type de pré-remplissage
- choisir un circuit qui aura été créé au préalable
Lorsque vous validez le formulaire, esup-signature analyse le PDF Form et constitue la structure du formulaire. Vous aurez ensuite accès à la configuration des champs.
Voici un exemple de l'édition des champs d'un formulaire dans l'interface administrateur d'esup-signature ("Admin" → "Formulaire" → "Modifier les champs" :
On voit ici les propriétés modifiables des champs, elle sont les suivantes :
Propriété | Fonction |
---|---|
Nom du champ | (non modifiable) |
Description | apparaît au survol et lors du contrôle des champs requis |
Type | text, checkbox, radio, date, time, number, select |
Favorisable | si cette case est cochée, les données saisies dans ce champ seront proposées à l'utilisateur lors de la prochaine saisis |
Requis | aux étapes concernées, les champs seront obligatoires |
Lecture seule | verrouille le champ |
Pré-remplissage | active la fonction de pré-remplissage du champ en fonction de l'utilisateur courant |
Auto-complétion | active la fonction d'auto-complétion du champ en fonction de la saisie courante dans le champ concerné |
Nom du service | choix du service utilisé lors du pré-remplissage ou de l'auto-complétion (esup-signature propose default et ldap nativement voir ci-après) |
Type de donnée | sélection du "sous-service" utilisé lors du pré-remplissage ou de l'auto-complétion |
Attribut retourné | nom de l'attribut retourné lors du pré-remplissage ou de l'auto-complétion |
Étapes autorisées | numéro des étapes pour lesquelles les champs sont à remplir (le champ sera verrouillé à toutes les autres étapes) |
Exemple de rendu d'un formulaire :
Pré-remplissage et auto-complétion
Comme vu précédemment, esup-signature permet le pré-remplissage des champs. Les services disponibles sont définis à l'aide de classes de type "ExtValue" (valeur externes)
Esup-signature est fourni avec les classes DefaulExtValue et LdapExtValue. La classe DefaultExtValue est utilisable en mettant "default" dans le nom du service et "system" au niveau du type. Elle propose les attributs (calculés) suivant :
nom de l'attribut | description |
---|---|
day | numéro du jour |
month | numéro du mois |
year | numéro du l'année |
date | date du jour |
time | heure |
dateTime | date et heure |
currentUser | nom prénom de l'utilisateur courant |
stepUsers | liste des mails des participants à l'étape courante |
currentStepNumber | numéro de l'étape courante |
id | id de la demande de signature |
Vous pouvez créer vos propres classes de données externes en implémentant le type "ExtValue" en reprenant DefaultExtValue.java par exemple.
Classe de pré-remplissage
Pour pré-remplir ou auto-compléter un formulaire, esup-signature se base une une classe de "pré-remplissage" du type "PreFill". D'origine esup-signature est fourni avec la classe DefaultPreFill qui prend en charge les données externes de type DefaultExtValue et LdapExtValue. Ceci répond à une grande partie des besoins. Cependant, tout comme cela peut être le cas pour les workflows, il se peut qu'il soit nécessaire de calculer certaines données à pré-remplir spécifiquement pour un formulaire (donnée calculée en fonction de l'utilisateur courant par exemple).
Dans ce cas il y a la possibilité d'implémenter votre propre classe de type PreFill (voir DefaultPreFill.java pour l'exemple).
Gestionnaire du formulaire
Il est possible de définir un ou plusieurs gestionnaires au niveau des paramètres du formulaire.
Les personnes désignées auront accès en lecture à tous les documents correspondant a ce formulaire. De plus il leur sera possible de télécharger toutes les données saisies au format CSV.
L'accès à ces données se fait par le menu "Outils" → "Espace gestionnaire"