Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Profil taxon] Frontend #1105

Closed
3 tasks done
TheoLechemia opened this issue Oct 26, 2020 · 11 comments
Closed
3 tasks done

[Profil taxon] Frontend #1105

TheoLechemia opened this issue Oct 26, 2020 · 11 comments

Comments

@TheoLechemia
Copy link
Member

TheoLechemia commented Oct 26, 2020

  • Occtax: afficher une alerte/retour utilisateur sur la cohérence de son observation

  • Synthese/Validation: pouvoir afficher le profil d'une espèce sur la modale d'une observation

  • Ajout d'une colonne "score" sur la liste du module validation. La colonne affiche un icone warning si la score n'est pas max, une icone "croix" si le score est de 0 et une icone "check" si le score est de 3

@lepontois
Copy link

lepontois commented Oct 29, 2020

Reste à faire sur le module Occtax :

  • Mettre en forme le message d'erreur après sélection du taxon (Toaster)
  • Mettre en place l’événement sur le champ "stade de vie" qui doit contrôler si la valeur sélectionnée est présente dans le résultat retourné après sélection du taxon (+ gérer l'intégration de l'erreur)

@DonovanMaillard
Copy link
Contributor

Suite aux remarques de Camille, j'ai enlevé les icones "Check" de "Croix" qui pouvaient ête ambigus (donnaient l'impression qu'on avait qu'à clique l'icone pour valider/invalider la donnée)

J'ai mis des thumb_up, thumb_down et pan_tool pour le moment, je trouve ça clair et cohérent.

En revanche les tooltips actuellement utilisés ne permettent que d'afficher un message texte en dur. Je trouverais pas mal qu'on bascule par la suite sur un "tooltip" ou popover plus riche, qui renvoie le score et liste les 3 checks altitude, phénologie, et distribution pour rendre l'info plus rapidement accessible :)

@TheoLechemia
Copy link
Member Author

TheoLechemia commented Nov 10, 2020

Cool, c'est un bon compromis.
Les tooltip sont assez limitées au niveau de l'affichage. Mais c'est contournable en faisant du html/CSS simple qui s'affiche quand la souris passe dessus: https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_display_element_hover

@jpm-cbna
Copy link
Contributor

Les tooltip sont assez limitées au niveau de l'affichage. Mais c'est contournable en faisant du html/CSS simple qui s'affiche quand la souris passe dessus: https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_display_element_hover

Peut être que les Popover de Bootstrap seraient adaptés à votre besoin ?
J'ai pas trouvé d'équivalant avec Angular Material. Par contre, je ne suis pas certain qu'ils fonctionnent directement avec Angular car ils demandent une bibliothèque supplémentaire. Ceci dit, ils peuvent servir d'exemple.

@camillemonchicourt
Copy link
Member

Pour moi les thumb_up et thumb_down appellent une action de l'utilisateur, de LIKER, ou aimer la cohérence d'une observation.
Je trouver mieux d'afficher une note sur 3, éventuellement avec une couleur en arrière-plan de la case. Plus précis et moins sujet à incompréhension. Mais c'est anecdotique.

@DonovanMaillard
Copy link
Contributor

DonovanMaillard commented Nov 10, 2020

Les popover fonctionnent bien . Me reste a voir pourquoi je renvoie des false avec ngif quand les valeurs sont true.

@DonovanMaillard
Copy link
Contributor

20201110_164836

@TheoLechemia
Copy link
Member Author

TheoLechemia commented Sep 17, 2021

Je relance ce sujet pour finir la PR sur les profiles.
En testant sur une grosse BDD il s'avère que les fonctionnalités d'affichage et de filtrages des scores ne monte pas du tout en charge.
La faute à la vue v_consistancy_data et notament la fonction check_profile_phenology qui sont extrêmement lourdes. https://github.com/PnX-SI/GeoNature/blob/feat/profil-taxon/data/core/profiles.sql#L309
Plusieurs solutions:

  • ajouter des triggers sur la synthèse pour calculer le score (pas pour)
  • paginer la validation côté serveur (on perd la vue d'ensemble sur les données recherché, mais est-ce que c'est important pour la validation ?)
  • on simplifie largement le calcul des profiles (à voir si à l'usage on à vraiment besoin des seuils - spatial précision et temporal precision pour chaque taxon ?)

@TheoLechemia
Copy link
Member Author

J'en rajoute une petite couche:
le calcul de la phénologie inclue l'exclusion des données imprécise spatialement (polygone trop grand) et temporellement (plage de date trop large), c'est ce qui la rend si lente. Imprécisions qui sont en plus paramétrable par taxon par taxon (via gn_profile.t_parameters)
Je serais plus partant pour que la fonction de vérification de la phénologie ne vérifie QUE la validité de la phénologie, et qu'on traite la question des données imprécise par ailleurs. On pourrait avoir des filtres qui font remonter toutes les données qui font plut de X mètre de superficie ou toutes les données qui ont une plage de date trop grande.

@TheoLechemia
Copy link
Member Author

TheoLechemia commented Sep 20, 2021

Petit point d'avancement:
Pour éviter de calculer les paramètres de chaque taxon (pas de temps de la phénologie, imprécision géo), on a modifié la vue gn_profile.v_consitancy_data. Plutôt qu'une colonne période, elle a maintenant deux colonne doy_min et doy_max qui corresponde à la date du jour min et max de la période phénologique (toujours calculé à partir des paramètre, mais dans la VM).
On peut donc directement interroger cette vue pour savoir si un taxon a été vue tant telle période phénologique, et connaître l'altitude associé à cette période.
L'affichage des scores sur le front tient bien la monté en charge (2s pour 50 000 données - par défaut le paramètre est à 5000)
Dernier problème quand on veut filtrer par score, là PG perd les pédales. Plus de 60s quand on interroge la vue gn_commons.v_synthese_validation_forwebapp en jointant sur gn_profile.v_consitancy_data avec un limit 100. La même jointure directement sur la synthese est instantanée ...
Une solution testé et qui fonctionne bien sera d'ajouter la jointure vers gn_profile.v_consitancy_data directement dans la vue gn_commons.v_synthese_validation_forwebapp. Je comprend pas trop le pourquoi du comment.
Si personne ne s'y oppose je vais vers cette solution.
0e59f9c

@camillemonchicourt
Copy link
Member

Profils de taxons intégrés dans la 2.9.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants