Statuts d'une demande
On distingue plusieurs types de statuts au niveau d'une demande de signature :
- le statut du circuit de signature
- le statut d'archivage
- le statut de suppression
Voici la liste des statuts liés au circuit d'une demande :
| code | Intitulé | Description |
|---|---|---|
| uploading | En cours d'upload | C'est le premier statut qui est valable pendant la création d'une demande, tous les documents ne sont pas encore forcements uploadés |
| draft | Brouillon | La demande a été correctement crée, mais l'utilisateur a choisi de ne pas démarrer le circuit tout de suite |
| pending | En cours | Le circuit est démarré et la demande est en attente de signature. La demande se trouve dans cet état entre chaque étape du circuit |
| checked | Visé | État transitoire précisant que la demande a été visée. Repasse aussitôt à pending ou completed en fonction du circuit. |
| signed | Signé | État transitoire précisant que la demande a été signée. Repasse aussitôt à pending ou completed en fonction du circuit. |
| refused | Refusé | La demande est refusée, c'est le dernier état possible pour ce cas de figure. |
| completed | Terminé | La demande est arrivée au bout, toutes les étapes ont été passées avec sucés |
| exported | Exporté | La demande est complète et exportée vers les différentes destinations configurées dans le circuit (le cas échéant). |
Et la liste de statuts d'archivage :
| code | Intitulé | Description |
|---|---|---|
| none | Statut présent jusqu | |
| archived | Archivé | |
| cleaned | Archivé et purgé |
Taches planifiées
Esup-Signature fait tourner plusieurs taches planifiées que nous allons décrire (elles n'ont pas forcément toutes un rapport avec le cycle de vie des demandes)
Elles sont mises en place vis la classeScheduledTaskService consultable ici : https://github.com/EsupPortail/esup-signature/blob/master/src/main/java/org/esupportail/esupsignature/service/scheduler/ScheduledTaskService.java
Les annotations @Scheduled(initialDelay = 12000, fixedRate = 300000) permettent de modifier la fréquence de lancement.
Certaines taches peuvent être lancées manuellement directement dans le menu "Admin → Tâches planifiées". Attention, le lancement manuel surcharge l'activation de tache planifiée au niveau de la configuration.
Pour configurer les paramètres cités ici, se référer à la configuration globale : Configuration#global
Scan des emplacements sources
Il est possible de configurer des sources de données voir : Gestion des circuits#D%C3%A9finirunesourcepourlesdocuments
Pour récupérer les documents, une tache est exécutée toutes les 5 minutes pour récupérer les documents. Ceux-ci sont supprimés de l'emplacement source, après récupération
Scan des destinations
De même que pour les sources, il est possible de définir des destinations. Une tâche planifiée passe toutes les 5 minutes sur les demandes au statut "completed" qui ont une destination.
Lorsque les documents composants la demande ont été copiés dans toutes les destinations, la demande passe au statut "exported".
Scan des demandes à archiver
Si l'option enable-scheduled-cleanup est configurée à "true" et si une archive-uri est présente, cette tâche va s'exécuter toutes les 5. Elle va archiver sur l'espace défini dans archive-uri toutes les demandes au statut "completed", "refused" ou "exported".
Suite à l'archivage, le statut d'export passe de "none" à "archived".
Scan des demandes à purger
Si l'option enable-scheduled-cleanup est configurée à true, la tâche va effectuer 2 types de purge :
- les éléments mis en corbeille depuis un délai supérieur à trash-keep-delay (en nombre de jours)
- les éléments au statut d'archivage "achived" depuis un délai supérieur à delay-before-cleaning (en nombre de jours)
Envoi des mails planifiés
Toutes les 5 minutes, cette tâche envoie les mails d'alertes aux utilisateurs qui ont configuré une fréquence autre que "Envoi immédiat".
Nettoyage des demandes en cours d'upload
Les demandes qui seraient restées au statut "uploading" sont supprimées toutes les nuits à 2:02
Actualisation des Trustlist DSS
Toutes les heures une synchro de DSS est lancée
Nettoyage des demandes restées au statut "pending"
Si nb-days-before-deleting est configuré à une valeur supérieure à -1, les demandes qui sont restées en attente depuis le nombre de jours configurés seront mis à la corbeille.
Ensuite, une suppression définitive aura lieu en fonction de la tâche des demandes à purger.
