MTES-MCT / metadata-postgresql

Plume : gestion des métadonnées du patrimoine PostgreSQL
https://mtes-mct.github.io/metadata-postgresql/
GNU Affero General Public License v3.0
0 stars 1 forks source link

Prise en charge des calculs sans résultat #176

Closed alhyss closed 7 months ago

alhyss commented 8 months ago

Lorsque la fonctionnalité de calcul de métadonnées côté serveur ne renvoie pas de résultat, la retranscription dans les fiches de métadonnées présente des anomalies.

Tests réalisés avec un modèle pour lequel le calcul était activé sur les métadonnées Libellé / dct:title, Thèmes / dcat:theme et Conforme à / dct:conformsTo.

INSERT INTO z_plume.meta_template (tpl_id, tpl_label) VALUES 
    (100, 'Test modèle 2') ;
INSERT INTO z_plume.meta_template_categories (tpl_id, shrcat_path, compute, template_order) VALUES
    (100, 'dct:conformsTo', ARRAY['auto'], 3),
    (100, 'dcat:theme', ARRAY['auto', 'manual'], 2),
    (100, 'dct:title', ARRAY['auto'], 1) ;

En mode lecture, l'utilisateur voit des champs et groupes vides.

image

Ce n'est pas satisfaisant, mais ça ne prête pas vraiment à conséquence.

En mode écriture, il voit des groupes vides avec des boutons plus.

image

Comme il n'y a pas de champ, ça empêche la saisie manuelle. Et cliquer sur le bouton plus fait planter QGIS, car il n'y a pas de clé à recopier dans le groupe...

Traceback (most recent call last):
  File "C:\Users/alhyss/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\plume\bibli_gene_objets.py", line 513, in 
    _mObjetQToolButton.clicked.connect(lambda : action_mObjetQToolButton_Plus_translation(self, _keyObjet, _valueObjet, _language, _langList))
  File "C:\Users/alhyss/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\plume\bibli_gene_objets.py", line 1070, in action_mObjetQToolButton_Plus_translation
    ret = self.mDicObjetsInstancies.add(__keyObjet)
  File "C:\Users/alhyss/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\plume\rdf\widgetsdict.py", line 952, in add
    a = buttonkey.add()
  File "C:\Users/alhyss/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\plume\rdf\widgetkey.py", line 5165, in add
    raise IntegrityBreach(
plume.rdf.exceptions.IntegrityBreach: Le groupe ne contient aucune clé duplicable. PlusButtonKey "dcat:theme" 9a83f6b5-a7ce-45fc-8af4-a30c340158b8.
alhyss commented 8 months ago

Après correction.

En mode lecture, Plume ne montre plus ni de champ vide, ni de groupe vide, ni d'onglet vide, ce qui - dans ce exemple, provoque donc la disparition complète de l'onglet Général.

image

Le résultat est équivalent à ce voit l'utilisateur dans le cas d'une table sans métadonnées.

À titre de comparaison, toujours en mode lecture, mais sur une fiche pour laquelle le calcul des métadonnées Thèmes et Conforme à renvoie un résultat :

image

Les mêmes fiches en mode écriture + traduction :

image

image