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
1 stars 1 forks source link

Infobulle devenue genante dans le panneau explorateur de QGIS #67

Closed StormKlaus closed 2 years ago

StormKlaus commented 2 years ago

Bonjour,

Une fois les MD Plume de saisies, quand on navigue dans le panneau explorateur de QGIS, l'info-bulle au survol des couches devient gênante si beaucoup de MD y sont retranscrites.

Avez-vous prévu quelque chose à ce propos ?

alhyss commented 2 years ago

@StormKlaus C'est un problème que nous avions en tête depuis le début, mais nous l'avions laissé de côté pour plus tard... Sans doute à tort, car c'est effectivement un des plus gros points faibles de Plume en matière d'ergonomie. C'est bien que tu aies remis le doigt dessus.

Toujours est-il que @WREATCHED s'est penché sur la question ces derniers jours, et il a trouvé une méthode robuste pour supprimer les métadonnées des infobulles (bravo à lui !). Nous n'avons pas eu le temps de l'implémenter pour la version 0.4 bêta, mais ce sera sans faute dans la prochaine.

WREATCHED commented 2 years ago

Bjr @StormKlaus Pour illustrer ce que @alhyss vient d'écrire et pour te mettre en appétit, une capture de ce que cela pourrait donner. Avec bien sûr un autre texte que celui dans la capture qui ne me sert que de test :

AVANT image

APRES image

alhyss commented 2 years ago

@WREATCHED En principe, tu n'auras jamais rien dans l'infobulle. Il restera au moins les informations ajoutées par QGIS à la suite du descriptif PostgreSQL (table ou vue, champ de géométrie...).

Proposition :

StormKlaus commented 2 years ago

Bonjour à tous les deux,

@WREATCHED Cela me semble parfait, avec en plus une couleur qui permet de distinguer les MD Plume des autres c'est vraiment bien !

@alhyss , @WREATCHED Pour le texte par défaut quand il y a MD de Plume, je mettrais bien uniquement le libellé (nom détaillé) de la donnée s'il existe, si c'est possible évidemment.

Peut-être que dans ce cas il faudrait implémenter une limite de caractères et rogner les textes s'ils sont trop long....

Aussi, je sais pas quel libellé privilégié entre celui qui serait retranscrit dans fiche MD de Plume de celui potentiellement retranscrit avec l'expression rationnelle de Asgard menu...

Dans tous les cas un grand merci car cela résoudra ce problème d'ergonomie !

alhyss commented 2 years ago

Nous nous sommes fait la même réflexion que toi et en avions conclu que nous allions faire simple dans un premier temps (pas d'extraction d'information des métadonnées), puis voir en fonction des retours à l'usage.

Mais c'est vrai que nous pourrions aussi juste rendre ça paramétrable par l'utilisateur. S'il le souhaite, Plume récupère le libellé et le colle au début du texte, sinon il se contente de ce que je décrivais précédemment.

Le vrai point déterminant risque d'être la performance. C'est une action qui s'effectue à chaque fois que l'utilisateur passe sa souris sur une couche PostgreSQL dans l'explorateur, il faut que l'exécution reste instantanée...

@WREATCHED est-ce que tu es d'accord pour tester ? Comme ça on sera fixés sur la faisabilité.

WREATCHED commented 2 years ago

@alhyss On en parle, car je ne vois pas le pb, je récupère l'infobulle avec le JSON-LD et donc, ce ne sera que de la transformation, pour moi immédiate, mais tu as raison, il vaut mieux faire un test. On fera une conf Call et ou on en parle mercredi en live si on a qq minutes en réunion DRC

alhyss commented 2 years ago

@WREATCHED Désolée, j'aurais dû préciser. C'est surtout de mon côté qu'il pourrait y avoir un peu de temps de calcul à considérer, avec l'extraction des métadonnées (à faire dans tous les cas), la désérialisation du JSON-LD puis la récupération du libellé. Ce ne sera pas aussi long que générer une fiche de métadonnées dans l'interface de Plume, évidemment, mais je ne suis pas sûre que ce soit immédiat.

Bref, je vais écrire la fonction et on verra !

alhyss commented 2 years ago

@WREATCHED La fonction à utiliser est plume.pg.description.truncate_metadata.

Elle prend en argument :

Comme prévu, la fonction renvoie un tuple dont le premier élément est le nouveau texte prêt à l'emploi, le second un booléen qui vaut True si des métadonnées ont été trouvées.

alhyss commented 2 years ago

@WREATCHED Comme évoqué, j'ai modifié le retour de la fonction plume.pg.description.truncate_metadata. Il s'agit toujours d'un tuple de longueur 2, mais le deuxième élément n'est plus un booléen : c'est None en l'absence de métadonnées ou, sinon, le texte qui indique que des métadonnées sont disponibles (Des métadonnées sont disponibles pour cette couche. Activez Plume pour les consulter.). Évidemment, ces phrases ne sont plus incluses dans le premier élément du tuple.

WREATCHED commented 2 years ago

image

WREATCHED commented 2 years ago

https://user-images.githubusercontent.com/66324136/174445940-48f210d8-6918-4da1-a880-96568bb721a2.mp4

GilGuillouet commented 2 years ago

Eh bien bravo, ça devient vraiment complet, faut que je l'installe ;-)

alhyss commented 2 years ago

@GilGuillouet Oui, il faut :)

@WREATCHED C'est super !!! On est d'accord sur le fait que la transformation des infobulles est active par défaut ? Sinon je t'avais promis une couleur par défaut pour l'infobulle. #fff4f2 / RVB 255, 244, 242 me semble pas mal.

alhyss commented 2 years ago

@WREATCHED Je viens seulement de réaliser qu'il n'y avait pas dans Personnalisation de l'interface de paramètre correspondant à l'argument with_title de plume.pg.description.truncate_metadata. Un oubli ou tu l'as géré autrement ?

Le cas échéant, il pourrait s'appeler Extraire le libellé des métadonnées. En infobulle (si tu mets des infobulles là-dessus ?) : Si activé, Plume tentera d'extraire des métadonnées le libellé de la table/vue et - s'il existe - fera en sorte qu'il apparaisse dans l'infobulle en lieu et place des balises METADATA et leur contenu.

WREATCHED commented 2 years ago

Réponse image

WREATCHED commented 2 years ago

Réponse sur STROMAE - L'enfer

https://user-images.githubusercontent.com/66324136/175036453-4ab1a7e1-2dd3-42ed-ae1d-3b1c63e2d33e.mp4

WREATCHED commented 2 years ago

@alhyss Il reste un tout petit truc, c'est le redémarrage pour les cgts d'options des tooltip, mais après réflexion, c'est tout à fait normal car je ne retrouve plus les balises ad-hoc. Donc pour résoudre le pb, surtout ne pas refaire un accès aux objets dans PostgreSQL, mais je pourrais créer un dictionnaire avec l'id de l'item et le tooltip d'origine et après si la clé existe, allez refaire le traitement non pas du tooltip existant, mais la valeur de la clé du dictionnaire. Qu'en penses-tu ?

WREATCHED commented 2 years ago

Réponse finale au pb https://user-images.githubusercontent.com/66324136/175276579-4dec5f46-de2a-45c1-8062-c27d780b6ffe.mp4