...
Dans "Admin" puis "Circuit", vous avez accès à l'outil permet de consulter et de modifier les circuits de signatures. Il est possible de filtrer les circuits présents dans esup-signature :
- Workflows globaux (définis pas les administrateurs)
- Classes workflow (définies par les développeurs)
- Workflows Utilisateurs (définis pas les utilisateurs)
Création d'un circuit classique
...
Dans cette vue il est possible d'activer la notion d'étape "infinie" en activant "L'utilisateur peut ajouter une étape avant la suivante". Si cette option est activée, vous donnerez la possibilité aux participants de cette étape, d'ajouter des étapes intermédiaires (non prévues à l'origine).
Chaque étape créée à la suite d'une étape "infinie" sera elle aussi une étape "infini". Cela se traduit, au niveau de l'interface utilisateur, par une question qui lui est posée lorsque qu'il s’apprête à signer : "Signer et passer à l'étape suivante" ou "signer et ajouter une étape"
Paramètres généraux d'un circuit
...
| Type | Chemin | Adresse à saisir | Remarques |
|---|---|---|---|
| SMB | Absolu | smb://<adresse du serveur>/<chemin du dossier> | smb-test-uri à configurer obligatoirement pour activer la fonctionnalité. L'utilisateur est configuré dans application.yml (smb-login, smb-password) |
| CMIS | Relatif | cmis://<chemin du dossier> ex: cmis://default-domain/workspaces/test | Il faut configurer l'adresse du server nuxeo dans application.yml au niveau de (cmis-test-uri ex: http://mon-nuxeo.univ-ville.fr:8081/nuxeo, cmis-login, cmis-password) Cette partie est amenée à changer prochainement pour permettre les chemins absolus |
| FILE | Absolu | /<chemin du dossier> | vfs-test-urià configurer obligatoirement pour activer la fonctionnalité. |
| FTP / SFTP | Absolu | ftp://<user>:<password>@<adresse du serveur>/<chemin du dossier> | vfs-test-uri à configurer obligatoirement pour activer la fonctionnalité. |
| Remarque |
|---|
Lorsqu'un document est intégré de cette façon, il est supprimé du dossier source. |
...
- smb, cmis, file, sftp / ftp, pour ces types, il faut suive les explications du tableau ci-dessus
- http:// https:// (fera une requete, type REST, vers l'url avec en paramètre l'ID de la demande de signature, son statut signé ou refusé et le numéro d'étape concerné
- mailto (envoi du document en pièce jointe au destinataire)
Verification du bon fonctionnement de la copie coté serveur avec smbclient :
| Bloc de code | ||
|---|---|---|
| ||
apt install smbclient
echo "Contenu de test" > /tmp/test_fichier.txt
smbclient //stockage.univ-ville.fr/nom_du_partage -W MON_WORKGROUP -U mon_uid -c "put /tmp/test_fichier.txt mon_du_dossier/test_fichier.txt" |
La copie doit fonctionner pour qu'esup-signature puisse en faire autant.
Transmission vers REST
(maj depuis pour la version 1.30.x)
...
Mettre en place un script qui va calculer le workflow, utiliser les web-services pour configurer les participants du circuit des bons de commandes et injecter le document. (pour plus de détails sur les web services voir : Web services REST)
Mettre en place un script qui calcule le workflow, inscrit ce workflow dans les métas-données du document (PDF) et le copie dans un dossier défini comme "source" au niveau d'Esup-signature.
Pour cette dernière solution il faut donc créer un circuit comme vu précédemment, cocher la case "Scanner les métadonnées des PDF" et définir une source pour la récupération des documents au niveau des paramètres générauxImplémenter une classe worflow (voir le chapitre suivant)
Les métas-données qui doivent être inscrite dans les document PDF sont les suivantes:
...
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
PDDocument document = PDDocument.load(in);
PDDocumentInformation info = document.getDocumentInformation();
info.setCustomMetadataValue("sign_type_default_val", "pdfImageStamp");
info.setCustomMetadataValue("sign_step#1", "[machin@univ-ville.fr, truc@univ-ville.fr]");
info.setCustomMetadataValue("sign_target_key","smb://serveur_de_fichiers/la_destination/signed");
|
...
Utiliser les classes workflow
Pour les cas les plus spécifiques, il est possible d'ajouter, au code source original d'esup-signature, une classe qui décrira précisément un circuit.
...