Fonctionnalité #20613
ouvertFonctionnalité #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
Mis à jour par Cyril VAZQUEZ il y a plus d'un an
- Version cible changé de 3.0 à Inscription Backlog
Mis à jour par Cyril VAZQUEZ il y a 6 mois
- 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 templates -
abstractMessage::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
Mis à jour par Cyril VAZQUEZ il y a 6 mois
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.
Mis à jour par Cyril VAZQUEZ il y a 6 mois
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()
.
Mis à jour par Cyril VAZQUEZ il y a 6 mois
- 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