-
Notifications
You must be signed in to change notification settings - Fork 29
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
[Observations] Amélioration de la fonctionnalité autocomplete de taxon #327
Comments
l'id liste à été copié dans le code liste dans une des dernières MAJ de Taxhub. Il suffirait de faire ça non ? |
Salut Théo,
Je ne suis pas sûr de comprendre cette copie de l'id_liste vers code_liste ? Que veux-tu entendre par là ? |
la valeur de l'id liste a été copié dans la colonne code_liste pour assurer une retrocompatibilité. |
Ok, je comprends. Le problème, c'est que dans citizen, on stocke un id_liste (int) et pas un code_liste(varchar). Cela amène donc cette modification mineure dans la base de données de citizen et une clarification dans la doc. |
@TheoLechemia, est-il prévu d'étendre l'utilisation de ce Si l'id_liste reste privilégié pour ces routes, ne faudrait-il pas plutôt continuer à stocker cet id_liste mais demander au backend de récupére ce code_liste pour l'envoyer au front avec les autres infos générales du programme. |
Je dirait qu'il faudrait utiliser le code_liste partout. |
Oui c'est embêtant en effet. |
Bonjour tout le monde, je ne sais pas à quel point il y a une volonté forte de ne plus utiliser le Surtout que la première chose que fait Sinon une autre solution serait de proposer une vue dans TaxHub pour retourner le |
On utilise en général plutôt les codes que les listes quand on a besoin d'identifiants communs qui sont partagés et communs entre différentes bases de données. Selon moi il ne devrait pas y avoir une autre route pour filtrer par |
Bonjour, Je reviens sur ce sujet qui commence à dater. Est ce que les idées, positions , remarques ont évoluées ? |
Tout cela a été repris récemment au niveau de TaxHub en revenant aux id_listes et en faisant évoluer la route /taxref pour ne plus utiliser que cette dernière dans Occtax-mobile. |
OK trouvé, c'est expliqué ici - PnX-SI/TaxHub#346 |
Merci Camille pour ton retour. |
Oui c'est ça. |
Mais à analyser, car il vaut mieux privilégier l'utilisation de la route principale /taxref, plutôt que /allnamebylist qui est plus spécifique. |
Bonjour, Après réflexion et discussion avec @lpofredc il est ressorti que le plus simple serait d'ajouter la gestion de params pour l route d'autcompletion liée à TaxHub `allnamebylist`` https://github.com/PnX-SI/TaxHub/blob/ca38000d89c074cfba9c80965ab11d9ef679c3ce/apptax/taxonomie/routestaxref.py#L378-L396 L'idée étant de rajouter la possibilité de récupérer les médias (photo_principale) et le "nom_français" . Cette modification permettrait d'éviter de complexifier les appels en chaine de différentes routes pour récupérer d'une part les taxons (cd_nom etc) et d'autre part les médias associés Si c'est ok , on partirait sur une modif coté TaxHub (sur la route |
Je ne comprends pas le rapport avec les médias, etc. |
Il y a un peu plus d'implications que ça. Tout d'abord, l'objectif final serait de remplacer purement et simplement toutes les routines du backend qui génèrent actuellement les listes d'espèces par le cette route de taxhub qui serait donc ainsi directement consultée par le frontend plutôt que de conserver un système hybride délégué au backend pour les listes courtes et au frontend pour les listes longues. De fait, on a a minima besoin des médias pour les vignettes pour les petites listes d'espèces (filtrés par type de média). Ensuite, on a également besoin des médias pour les vignettes des espèces dans utilisées dans la liste des obs et dans les popup de la carte. Là, je ne sais pas encore comment gérer convenablement ce cas de figure d'énormes listes. C'est de mon point de vue un non sens des listes de plusieurs milliers de taxons dans citizen... Et on a toujours besoin du nom français qui disparaitra de bib_noms > vers un attribut ? |
Oui le fait de ne plus dupliquer des routes de taxonomie dans GN-citizen et directement interroger les routes existantes de TaxHub est un sujet identifié et déjà initié, qu'il est intéressant de poursuivre. Par contre, si on veut des infos brutes et plus complètes, il faut peut-être plutôt utilisée la route La route Selon moi, |
Salut, merci, en effet, cette route /taxref avec filtrage des champs retournés est vraiment pas mal pour générer nos listes d'espèces. Il manque toutefois toujours la capacité à récupérer facilement les médias et attributs associés aux taxons, par id_liste. |
Oui, à discuter côté TaxHub, mais on peut peut-être envisager d'ajouter à la route |
Oui! 👍 , c'est bien l'idée. En effet, à discuter sur taxhub. |
Bonjour, Je fais suite aux échanges sur le sujet qu'll y a eu sur Element avec notamment @camillemonchicourt et @hypsug0 . La dernière version de taxhub sortie il y a deux semaines permet de récupérer les medias depuis la route `/taxref'. Voici les propositions d'évolutions de citizen pour pouvoir avoir des listes de plus de 100 taxons ( des centaines de milliers de taxons). L'ensemble des taxons des listes de chaque programme ne sont plus mis en cache dans citizen. L'option priviélgié ici est le lazy loading pour appeler les listes uniquement aux endroits où il est nécessaire d'avoir les informations. L'appel à la route
count présent (voir coté taxhub : https://github.com/PnX-SI/TaxHub/blob/ea9434de5a1f227131e0e8640ad17f8a25e8a39d/apptax/taxonomie/routesbiblistes.py#L27)
|
Contexte
Suite à #323, lorsqu'une liste taxonomique comporte plus de 100 taxons, la recherche est peu efficace voire ne fonctionne pas.
Ceci implique de reprendre la fonctionnalité d'autocomplete.
Dans l'état actuel, l'autocomplete suit les étapes suivantes :
Proposition
Suite à #324, @TheoLechemia a proposé d'utiliser au maximum cette route (
api/taxref/allnamebylist/
) : https://github.com/PnX-SI/TaxHub/blob/master/apptax/taxonomie/routestaxref.py#L341 qui supporte la recherche de taxon (par le nom et par le cd_nom par exemple).Nous souhaitons donc l'utiliser pour remplacer l'autocomplete.
Implémentation
Nous pensons principalement agir sur ces lignes dans le cadre d'une potentielle prestation avec @jonath35
GeoNature-citizen/frontend/src/app/programs/observations/form/form.component.ts
Lines 164 to 178 in 2f937ff
En appelant directement la route
api/taxref/allnamebylist/
de taxhub avec un paramètre?search_name=<taxon_ou_cd_nom>
Problèmes
Cette route fonctionne par
code_liste
et non parid_liste
, il faudrait donc, sous les conseils de @TheoLechemia, fonctionner parcode_liste
, cela implique donc un changement dans la base de données de citizen. En effet, actuellement seul l'id_liste
est stocké par programme.Conséquences
Ceci impliquera une absence de média dans les propositions de l'autocomplete qui n'aide, selon @Adrien-Pajot, pas l'utilisateur à l'identification de l'espèce.
Nous proposons dans un nouveau ticket (#328) d'ajouter le média après la sélection par select ou autocomplete sur la droite de ces derniers
The text was updated successfully, but these errors were encountered: