Fonctionnalité #20613
Fonctionnalité #20611: Implémentation du SEDA 2.2
Intégrer le schéma SEDA 2.2
Description
Ajout au code source
Déclaration dans la configuration
Prise en compte dans les contrôleurs
Historique
#1 Mis à jour par Cyril VAZQUEZ il y a environ 2 ans
- Version cible changé de 2.9 à 3.0
#2 Mis à jour par Cyril VAZQUEZ il y a environ un an
- Version cible changé de 3.0 à Inscription Backlog
#3 Mis à jour par Cyril VAZQUEZ il y a 10 jours
- Statut changé de A traiter à En cours
- Priorité changé de 2-Sérieux à 1-Majeur
- Version cible changé de Inscription Backlog à 3.X
- Tags RM 3.0.X ajouté
Branche archivesPubliques/feat/20611_SEDA2.2
Schéma XSD ajouté dans bundle/seda2/ressources/2.2/schema
Analyse d'impact :
Nombreuses références à la version 2.1 dans le code source :
- Configuration :
packageSchemas
faut-il ajouter 2.2 ou remplacer 2.1 ? Il y a une référence au namespace XML dans la config associée. - Controller :
abstractMessage::sendXml()
fonctionpreg_replace
pour enlever le namespace default après fusion des templatesabstractMessage::validateSchema()
Va chercher le schéma dans le répertoire 2.1 + 2 messages de non-conformité : switch ajoutéArchiveTranferReceptionTrait::receive()
il y a bien un switch sur le schéma, 2.2 ajoutéArchiveTranferRequest::receive()
idem, 2.2 ajouté
- Model :
- Tous les modèles PHP SEDA 2 déclarent le namespace 2.1 en en-tête
#4 Mis à jour par Cyril VAZQUEZ il y a 10 jours
- Tracker changé de Action à Fonctionnalité
#5 Mis à jour par Cyril VAZQUEZ il y a 10 jours
Après modifications, la réception et validation d'un bordereau SEDA 2.1 fonctionne.
Faire en sorte que l'ACK et la réponse soient au même format que la demande va être complexe, car on repasse par medona qui appelle le contrôleur du bundle identifié d'après packageSchemas
sans préciser de version du SEDA 2.
#6 Mis à jour par Cyril VAZQUEZ il y a 10 jours
Après modifications, la réception et validation d'un bordereau SEDA 2.1 fonctionne.
Il faut ensuite faire en sorte que l'ACK et la réponse soient au même format que la demande va être complexe, car on repasse par medona qui appelle le contrôleur du bundle identifié d'après packageSchemas
sans préciser de version du SEDA 2.
La méthode medona/archiveTranfer::receive
utilise le packageSchema pour trouver le phpNamespace (nom du bundle).
Ensuite la méthode {{bundle}}::receive()
est utilisée sans préciser le schéma.
Idem pour la réponse la méthode medona/archiveTranferReply::send
.
Il faut donc soit
- ajouter un paramètre à toutes les méthodes send() et receive() appelées dans les contrôleurs d'empaquetage depuis medona pour passer la version du standard. (27 appels)
- déterminer le namespace XML au moment de générer le XML, car il est en dur dans les templates XML SEDA 2.
Impact seconde solution : enlever le NS des templates et le mettre dynamiquement dans abstractMessage::sendXML()
.
#7 Mis à jour par Cyril VAZQUEZ il y a 10 jours
- Sujet changé de Intégrer le schéma à Intégrer le schéma SEDA 2.2
- Assigné à changé de Cyril VAZQUEZ à Jérôme BOUCHER
A tester avec paquets SEDA 2.1 et 2.2 sur branche