-
Notifications
You must be signed in to change notification settings - Fork 102
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
Refonte formulaire Occtax #758
Comments
Il y a probablement des choses à retenir mais il faut avoir conscience que ce principe va générer des relevés sans occurrence dont il faut au préalable évaluer les conséquences (fonctionnement de l'interface, de la recherche par filtre, triggers, synthèse, validation, historisation) |
Oui je trouve aussi qu'il y a là de bonnes idées mais aussi des choses moins claires et ergonomiques, notamment la modale. |
Salut, En effet j'avais ouvert un autre ticket, ou je proposais une révision du même type : #635 Quand j'ai saisi mes infos de relevé et qe j'attaque la saisie des occurrences, on diminue la carte qui prend la moitié de l'écran et ne sert plus à rien. Et ca offre une meilleure visibilité sur ce qui a été saisi dans le relevé. Dans ma tête (mais je peux pas aller plus loin que dans ma tête en termes de développement, mea culpa) j'allais même encore plus loin, puisque je détailais pour chaque espèce le nombre / sexe / stade :
|
En revanche je suis pas très emballé par la pop-up non plus. Pas très cohérent je trouve d'avoir une partie de la saisie sur la page, et une partie en pop up. |
Salut, L'approche "enregistrement des relevés et occurrence au fur et à mesure" est très intéressante pour l'utilisateur, quoique effectivement potentiellement lourde de conséquence coté backend. C'est une approche que nous avons en fonctionnement sur Clicnat, et qui est très appréciée des utilisateurs : en plus du côté sécuritaire en cas de plantage/déconnexion, elle permet aussi d’arrêter et reprendre une saisie en cours n'importe quand. Inversement, j'ai déjà eu des retours d'utilisateurs qui rageaient contre la base de nos voisins à cause d'une session expirée en cours d'une grosse saisie.. Peut-être pourrait-on simplement stocker les saisies en cours au sein du module occtax, et ne faire remonter les infos dans la synthèse que quand le relevé est validé ? On limiterai ainsi les conséquences sur le reste de la base. |
Pourquoi ne pas laisser toute la saisie à droite et simplement un dataframe pour consulter ce qui est saisi, à gauche, sous la carte qui du coup peut passer un à tiers de la hauteur ? Ca permet d'avoir à droite la saisie, et à gauche la localisation + les occurences, c'est à dire une vision globale de ce qui a été saisi. Ca me semble plus simple et avec une lecture intuitive. |
Ce qu'on avait prévu était de garder le formulaire de saisie linéaire à droite mais que la liste des taxons soient intégrées en bas à gauche, dans un bloc prenant sur la carte. |
Ok |
Ouai, c'est bien plus cohérent d'avoir une partie visu, une partie formulaire. |
Oui du coup, on converge sur cette proposition ?
Concernant le fait d'enregistrer le relevé et de faire des envois en BDD réguliers, ça semble une bonne chose aussi pour les raisons évoquées. |
Si je comprend bien, tu veux que les occurrences sortent du module occtax alors même que l'utilisateur n'a pas fait "l'enregistrement final" ? Il faut être vigilant sur le fait que, tant que l'utilisateur n'a pas l'impression d'avoir valider l'ensemble de son relevé, il peut avoir l'impression d'être en "brouillon" (a nuancer selon comment est présenter l'interface). Même si tu n'es pas trop pour l'idée d'avoir plusieurs niveaux d'enregistrements, je trouve ça plutôt clair (du pt de vue de l'utilisateur) d'avoir un (plusieurs ?) relevé "En cours de saisie" qu'il peut compléter, annuler ou envoyer. Inversement je ne trouve pas plutôt confusant (coté admin et utilisateur) de commencer à faire remonter les infos dans la synthèse (et validation, etc..) alors que l'ensemble des taxons du relevé n'a pas encore été saisie. Sinon OK pour l'idée de réduire la taille de la carte une fois la localisation effectuée. |
L'idée principale était surtout d'apporter une sécurité quant à l'enregistrement d'un relevé complet et des données de manière globale. Donovan à fait remonter un bug #751 dont l'origine serait des chargements multiples de données taxref (?), j'ai moi même eu des retours d'utilisateurs ayant eu des enregistrements de relevés qui plantent après un moulinage du serveur.. (j'en connais pas la cause malgré l'exploitation des logs) De fait découper les éléments évitent de tout charger/tout écraser (cad les infos de relevé, d'observateur, d'occurrences et de counting) à la moindre modification d'un élément. Pour l'utilisateur c'est plutôt transparent, il suffirait de lui fournir au départ la carte et le formulaire relevé avec un bouton "enregistrer le relevé avant d'ajouter un taxon". Pour la synthèse ce n'est qu'une question de minutes (de temps de saisie) pour que toutes les données du relevé soient visibles. La question de la modification des données du relevé après l'enregistrement initial est la plus délicate pour l'utilisateur. Mais il peut être possible de garder le formulaire de relevé et la carto en mode édition, tout en surveillant les données qui y sont : tant que rien n'est modifié rien ne se passe -simple. Par contre que faire si une modif intervient, il peut être possible de faire apparaître un bouton "enregistrer les modification apportées au relevé" tout en avertissant l'utilisateur qui changerait de page si ses modifications n'ont pas été sauvegardées.
Ce serait contre productif et on retomberait dans les problèmes initiaux. Plus il y a de données modifiées d'un coup, plus la BD va exécuter des triggers de mise à jour de la synthèse de manière simultanée (ou quasi) et niveau perf c'est pas ce qui est le mieux et on multiplie les sources de problèmes. Pour info, par rapport au problème de stabilité, j'ai des utilisateurs qui créent un relevés avec quelques taxons qui enregistrent la donnée, qui reviennent dessus pour la compléter, réenregistrent, etc. Car ils ont déjà eu l'expérience de la grosse saisie perdue à cause un enregistrement mort. Un peu comme avec QGis dans sa grande époque "Pensez à enregistrer votre projet régulièrement. On sait jamais..." |
@jbdesbas, si on poste uniquement quand la personne clique sur VALIDER LE TAXON puis qu'on reposte tout à la fin, alors ça me semble coller. |
En effet, découper les enregistrements peut éviter certains problèmes et en régler d'autres. |
Pareil ici, j'ai eu bcp de retours négatifs de mes collègues qui ne pouvaient pas enregistrer leur relevé en cours car "déloggé" sans le savoir. J'avais pourtant réglé le timer du token à plusieurs heures. |
Pour info, nous on a un token a 1 semaine... |
Merci théo pour cette proposition. Tu crois qu'il faut forcément une largeur fixe? Ou on peut imaginer des fenetres de taille flottante ? A l'usage, Yann dit que la carte ne sert à rien une fois le relevé localisé. |
A minima, on a prévu de reporter les évolutions ergonomiques d'Occhab dans Occtax, notamment la liste des taxons dans la partie de gauche (aperçu plus haut). Si on veut vraiment séparer la partie RELEVE et la partie TAXONS, alors je ferai un système en 2 étapes, donc 2 onglets. Qu'en penses-tu @jbrieuclp ou as-tu des précisions sur ce que tu as prévu ? |
Je trouve aussi le système à onglets ergonomique pour la saisie. Il permettrait de spécialiser l'interface (partie relevé et partie taxon) et d'alléger l'interface : plus de place pour moins de chose à l'écran. Actuellement il y a un unique service angular qui gère le formulaire occtax, j'ai prévu de scinder ce service et de créer un service par composant du formulaire (releve.service, occurrence.service...) ceci pour permettre de clarifier le code (!) et de rendre les différents components indépendants. Un form.service va gérer les paramètres commun au formulaire (digitiser, editionMode, valeur GET id_releve_occtax...) |
OK super. Avec un système d'onglets comme ça en 2 étapes, la saisie est plus claire, on gagne beaucoup de place et donc de lisibilité et ça permet de fluidifier les enregistrements au fur et à mesure de la saisie. |
Et on peut enchaîner les saisies à coup de TAB sans toucher à la souris |
Au top!! Pour pousser un peu plus loin encore, il serait utile que sous chaque espèce saisie on ait la possibilité de voir en 2 secondes les différents dénombrmeents inclus (x femelles adultes, y males juveniles" etc). Je vois des petits chevrons sur les onglets respectifs, c'est peut être déjà le cas? Merci en tous cas pour cette proposition! |
Yes ça permet de dérouler les infos du taxon. |
Merci @jbrieuclp pour ce travail! S'il ne reste qu'à remplacer les id par les valeurs, c'est déjà top! |
Hello, Est-ce que ce serait envisageable de rajouter un champ de recherche pour le déroulant JDD, chez nous la liste devient très très longue :) ? |
au délà d'occtax, il y a des tickets pour améliorer le composant datasets de facon générale, sur tous les modules ;) #1049 notamment |
merci Donovan, chouette tout ça ! |
Refonte intégrée dans la version 2.5.0. |
J'ouvre ce ticket pour proposer deux modifications au niveau du formulaire occtax :
Pour l'ergonomie voici quelques screen d'une maquette :
Première étape saisie des info localisation et relevé uniquement. Le bouton enregistrer fait une transaction avec l'API pour enregistrer cette première info. l'ID du relevé est récupéré.
2eme étape la saisie des occurrences/dénombrements s'affiche, ici 2 taxons ont déjà été saisies :
Pour saisir une occurrence, le bouton "ajouter une taxon sur ce relevé" ne déroule pas le form, mais l'ouvre en modal pour ne pas surcharger la page principale :
Pour revenir sur l'édition des infos relevé localisation plusieurs possibilités :
comme pour le compte utilisateur, les éléments (localisation/relevé) ne sont pas éditable un bouton "editer" permet de passer en mode édition, ce bouton switch alors en bouton annuler enregistrer
La localisation et le relevé sont toujours éditable, le formulaire est analysé, s'il est modifié ces boutons s'affiche pour permettre l'enregistrement. Le texte du bouton devrait être plutôt "Enregistrer les modifications du relevé"
même fonctionnement en les plaçant ici
Perso cette 3eme solution est pour moi la plus logique : placer les boutons dans une zone neutre en lien avec le relevé et la localisation. Leur usage/compréhension est, je pense, plus logique.
Ces réarrangements permettent au passage d'optimiser l'interaction avec l'API en fractionnant l'enregistrement. Plus proche d'une API Rest, il y aurait alors une requête pour chacune de ces actions :
Les données sont alors enregistrées au fur et à mesure, ajoutant du coup plus de sécurité.
The text was updated successfully, but these errors were encountered: