DISIC / observatoire

🕵️‍♀️ Observatoire de la qualité des démarches en ligne
https://observatoire.numerique.gouv.fr/
GNU Lesser General Public License v3.0
10 stars 4 forks source link

La création d'un nouvel avis doit utiliser le stockage optimisé des avis #1192

Closed lucaa closed 1 year ago

lucaa commented 1 year ago

Lié à #1191, cette tâche est pour s'assurer que toute nouvelle création d'avis par le formulaire d'avis stocke correctement l'avis dans le nouveau stockage optimisé.

lucaa commented 1 year ago

À priori, par le design des APIs XWiki, l'ajout d'un nouvel avis devrait fonctionner après l'implémentation de #1191 sans modification de code.

j'ai fait quelques expérimentations et je n'ai eu aucun problème à l'ajout d'un nouvel avis, je considère cette tâche faite. Ce ticket reste ouvert car le travail n'a pas encore mergé sur master, reste sur une branche.

@raphj dis-moi si tu penses à d'autres risques ou autre test qu'on devrait faire.

lucaa commented 1 year ago

Reprise du travail sur cette tâche pour implémenter les 2 nouveaux propriétés de la classe d'avis décrites dans https://github.com/DISIC/observatoire/issues/1191#issuecomment-1348183643 .

Il faut les prendre en compte à la création et les mettre en place avec les bonnes valeurs.

raphj commented 1 year ago

Nous avons mis la propriété <customMapping> à internal dans la classe AvisClass, l'avis est bien automatiquement créé dans la nouvelle table avis sans plus de travail nécessaire.

lucaa commented 1 year ago

La prise en compte des 2 nouveaux propriétés a été ajouté, mais le résultat fonctionnel fait que la date de l'avis est mise à jour à chaque fois que l'avis est mis à jour (e.g. deuxième étape de l'avis). Je préfère stocker la date de création de l'avis (première étape).

Aussi, du point de vue de l'organisation du code il y a quelques améliorations, c'est pour cette raison que ce ticket reste ouvert, pour l'instant.

lucaa commented 1 year ago

mais le résultat fonctionnel fait que la date de l'avis est mise à jour à chaque fois que l'avis est mis à jour (e.g. deuxième étape de l'avis). Je préfère stocker la date de création de l'avis (première étape).

en fait, c'est pas le cas, la date et l'id à l'étape de validation sont mises en place uniquement si les valeurs ne sont pas déjà stockées, ce qui fait que la date n'est pas mise à jour.

Il reste à corriger l'endroit ou cette modification a lieu (organisation du code), pour garder le code un peu plus propre.

lucaa commented 1 year ago

J'ai mis à jour le code, AvisMacros revient à sa forme initiale, aucune modification n'est nécessaire.

AvisHandler met en place la date de création et le nom de la page dans les méta-données date et id à chaque fois à la première sauvegarde de l'avis (première étape du formulaire).

Si jamais la mise en place n'est pas correcte, les informations sont redondantes, donc peuvent être récupérés à tout moment et re-mises en place.