Fonctionnalité #20579
closedTransaction de demande de versement
Description
En tant que SV, je veux transmettre une demande de versement afin de valider fonctionnellement le contenu de mon bordereau avant un transfert d'archives contenant les données numériques.
Détail
La transaction est décrite dans la norme MEDONA et le SEDA.
Elle utilise un message de type ArchiveTransferRequest et sa réponse ArchiveTransferRequestReply
Elle est utilisée en amont d'un versement afin de valider le message
- ses en-têtes,
- le respect des accords,
- la présence des données de référence,
- les métadonnées
sans transmettre les données d'archive.
Concrètement, la transaction est similaire aux trois première étapes du transfert :
- réception et contrôle de conformité du message
- validation fonctionnelle
- acceptation par le SA
Si ces étapes se déroulent sans incident, une réponse permet au SV de procéder au transfert en sachant qu'il n'y aura pas de rejet, sauf problème technique de transfert, détection de format, ou si la demande transmise différait ou passait sous silence certaines métadonnées (format de fichier...)
Le message de transfert pourra faire référence à la demande qui l'a précédé, sans pour autant que cela n'impacte le traitement car on ne pourra pas déterminer si les deux messages sont identiques.
Conditions d'acceptation
La fonctionnalité répond aux exigences suivantes :
- recevoir un message de demande dans un formalisme connu du système et pour lequel il implémente la transaction, la cible étant le SEDA 2
- valider les éléments présents dans le message à l'identique de ce qui sera validé pour le futur transfert
- le cas échéant, faire accepter par le service d'archives
- renvoyer une réponse positive ou négative motivée dans le même formalisme
Updated by Cyril VAZQUEZ over 2 years ago
Impact¶
Socle RM¶
Bundle medona¶
- ajout d'API archiveTransferRequestInterface
- ajout de contrôleurs archiveTransferRequest et archiveTransferRequestReply
- ajout de modèles archiveTransferRequest et archiveTransferRequestReply
- modifications au contrôleur message pour prendre en compte le circuit, les droits d'accès, etc
Presentation¶
- ajout de point de menu échanges avec étapes de circuit conforme au transfert sans l'étape de traitement
- ajout de groupe de userStory et interfaces nécessaires aux accès au circuit
- ajout d'écrans spécifiques au suivi de la transaction
- ajout du presenter pour les écrans
Extension archivesPubliques¶
Bundle seda2¶
- ajout de modèles ArchiveTransferRequest et ArchiveTransferRequestReply
- ajout de contrôleurs ArchiveTransferRequest et ArchiveTransferRequestReply pour la réception, validation, acceptation, envoi de réponse - Eviter les copies depuis ArchiveTransfer, sans doute en créant un contrôleur abstrait, voir impact sur les délais
Presentation¶
Aucun impact a priori
Updated by Cyril VAZQUEZ over 2 years ago
Création de la branche maarchRM/feat/20579_Medona_ArchiveTransferRequest
Ajout de l'API
- src/bundle/medona/ArchiveTransferRequestInterface.php
Ajout des contrôleurs
- src/bundle/medona/Controller/ArchiveTransferRequest.php
- src/bundle/medona/Controller/ArchiveTransferRequestReply.php
Modifications
- src/bundle/medona/Controller/message.php
Ajout des modèles ==> exitaient déjà non utilisés
- src/bundle/medona/Model/ArchiveTransferRequest.php
- src/bundle/medona/Model/ArchiveTransferRequestReply.php
Updated by Cyril VAZQUEZ over 2 years ago
Gestion du workflow détat-transition
- réception
- validation
- modification et relance
- acceptation ou rejet
Traductions menus et écrans
Ajout d'écran de versement en mode fichier seul, pas de pièces jointes, pas de connecteur, pas de zip possible.
Updated by Cyril VAZQUEZ over 2 years ago
Création de la branche archivesPubliques/feat/20579_SEDA2_ArchiveTransferRequest
Ajout des contrôleurs
- bundle/seda2/Controller/ArchiveTransferRequest.php
- bundle/seda2/Controller/ArchiveTransferRequestReply.php
Ajout des modèles
- bundle/seda2/Model/ArchiveTransferRequest.php
- bundle/seda2/Model/ArchiveTransferRequestReply.php
Modification de la conf par défaut de l'extension pour menu medona
Updated by Cyril VAZQUEZ over 2 years ago
Procédure de test¶
Conditions initiales¶
Récupérer les branches¶
maarchRM/feat/20579_Medona_ArchiveTransferRequest
archivesPubliques/feat/20579_SEDA2_ArchiveTransferRequest
Modifier la configuration¶
Copier le groupe de menu medona dédié à la transaction depuis configuration.ini.default (socle ou AP)
Données de test¶
Utiliser un bordereau de transfert SEDA2 et renommer la balise racine en ArchiveTransferRequest
Il faut 4 bordereaux :
- un bordereau valide
- un bordereau non conforme qui ne sera pas reçu (formalisme non respecté, acteur SV ou SA inconnu)
- un bordereau avec non conformités non bloquantes (service producteur inconnu, accord, profil non configurés)
- un bordereau avec non conformités bloquantes (profil non respecté, métadonnée non attendue par exemple)
Droits¶
Modifier les rôles des membres du service versant et service d'archive afin d'ajouter les droits d'accès aux messages et transactions :
- Importer un bordereau de demande : permet de verser un bordereau de demande via les écrans
- Demandes en attente de traitement : permet au SV de lister les demandes reçues, validées, à modifier, modifiées
- Traiter les demandes de versement : permet au SA de lister les demandes reçues, validées, à modifier, modifiées pour les accepter ou les rejeter
- Historique des demandes de versement
Tests¶
Conforme¶
- réception => envoi d'AR
- validation => statut valide, placement à traiter par SA
- Acceptation par le SA => réponse
Non reçu¶
- réception => erreurs affichées
Non conforme non bloquant¶
- réception => envoi d'AR
- validation => statut à modifier
- SA modifie (création d'un SP) et relance
- validation => statut valide, placement à traiter par SA, etc.
Non conforme bloquant¶
- réception => envoi d'AR
- validation => statut rejeté, réponse motivant le rejet
Updated by Cyril VAZQUEZ over 2 years ago
- Status changed from A traiter to R&D - En test
Updated by Cyril VAZQUEZ over 2 years ago
Updated by Cyril VAZQUEZ over 2 years ago
- Has duplicate Fonctionnalité #8054: [Transfert] Implémenter la transaction de demande de transfert added
Updated by Cyril VAZQUEZ over 2 years ago
- Status changed from R&D - En test to Clôturé