Projet

Général

Profil

Fonctionnalité #20613

Fonctionnalité #20611: Implémentation du SEDA 2.2

Intégrer le schéma SEDA 2.2

Ajouté par Cyril VAZQUEZ il y a environ 2 ans. Mis à jour il y a 10 jours.

Statut:
En cours
Priorité:
1-Majeur
Assigné à:
Version cible:
Début:
25/04/2022
Echéance:
Tags RM:
3.0.X

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() fonction preg_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

#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

Formats disponibles : Atom PDF