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

Champs additionnels - Saisie observations gypaète #181

Closed
samuelpriou opened this issue Nov 15, 2019 · 6 comments
Closed

Champs additionnels - Saisie observations gypaète #181

samuelpriou opened this issue Nov 15, 2019 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@samuelpriou
Copy link
Contributor

Le parc national du Mercantour dispose d'un réseau de bénévoles pour le suivi du gypaète barbu. Nous pensons utiliser GeoNature-citizen pour collecter les observations aléatoires de gypaète.

Pour autant dans la version actuelle de GeoNature-citizen il manque des champs complémentaires (heure d'observation, comportement de l'oiseau, critères de reconnaissance) qui permettaient de faire cette saisie via GeoNature-citizen.

A voir donc comment il serait possible d'ajouter ces informations lors de la saisie et ce que cela impliquerait au niveau de la bdd.

@camillemonchicourt
Copy link
Member

Oui, pour nous aussi, pouvoir ajouter quelques champs additionnels définis selon les programmes, est un besoin fort.
Ces champs pouvant être variables d'une instance de GN-citizen à une autre, voire même d'un programme à un autre sur une même instance, il ne faut pas ajouter de champs en dur.

2 possibilités :

  • Une table générique permettant de lister et ajouter les champs par programme (clé, valeur dans une table comme les attributs de TaxHub)
  • Champs jsonb générique comme on fait sur le module Inscription de GeoNature, ainsi que le module gn_monitoring en cours d'évolution.

Selon le programme, ces champs additionnels sont auto-générés au niveau de l'interface, avec un widget dépendant de son type (booléen, radio, liste, multiselect...)

@lpofredc
Copy link
Collaborator

Idem de notre côté, besoin fort pour des enquêtes participatives (mortalité hérisson/écureuil par exemple).

Dans le module "sites", pour le moment ces champs sont définis à l'instance (dans un fichier json) mais il est prévu de pouvoir définir ces champs complémentaires a minima au programme, idéalement même au type de site (lors d'un programme avec différents types de sites).

Pour l'approche taxon, l'attribution des champs supplémentaires au niveau du programme me parait suffisante pour répondre aux attentes.

Si des solutions sont déjà écrites pour GeoNature, ça vaut le coup de regarder ce qui peut-être récupéré.

@samuelpriou
Copy link
Contributor Author

samuelpriou commented Nov 27, 2019

@camillemonchicourt camillemonchicourt added the enhancement New feature or request label Apr 3, 2020
@camillemonchicourt camillemonchicourt changed the title Saisie observations gypaète Champs additionnels - Saisie observations gypaète Apr 27, 2020
@camillemonchicourt
Copy link
Member

Le CCTP a été publié et est disponible sur https://geonature.fr/documents/cctp/2020-06-CCTP-GN-citizen-PNM-Gypaete.pdf

Le principe proposé est de pouvoir décrire des champs additionnels (dans une table ou dans la configuration ?), par programme, de différents types (liste simple ou multiple, booléen, radio, texte...), dont le contenu renseigné serait stocké dans un champs additional_data générique au format jsonb.

Si un programme a des champs additionnels définis, alors ces champs sont auto-générés selon leur type dans le formulaire (voir module Création de compte de GeoNature - http://docs.geonature.fr/admin-manual.html#customisation-du-formulaire et module générique de suivi de GeoNature basé sur un fonctionnement similaire - https://github.com/PnX-SI/gn_module_monitoring).

Quand on affiche le détail d'une observation, les éventuels champs additionnels sont affichés.

Quand on exporte des observations, si elles concernent plusieurs programmes, le contenu du champs json est exporté tel quel dans un seul champs, car les champs additionnels peuvent être différents selon les programmes.
Par contre si les données exportés ne concernent qu'un seul programme avec des champs additionnels, alors on peut faire un pivot dynamique pour les remettre sous forme de colonne.
Voir exemple de requête pivot à partir d'un champs json : https://github.com/PnX-SI/Ressources-techniques/blob/master/PostgreSQL/pivot_query.sql

@camillemonchicourt
Copy link
Member

Pour les évolutions prévues dans le cadre de cette prestation, une maquette a été réalisée par Ascanio :

image

Aperçu vidéo sur https://geonature.fr/documents/2020-06-maquette-GN-citizen.mp4

Commentaires :

  • Pour ne pas avoir de scroll sur le bloc carto, celui-ci a actuellement une hauteur variable prenant toute la place dans l'écran, grâce à la propriété : height: calc(100vh - 137px); sur la classe CSS observations. Il faudra donc conserver ce fonctionnement.
  • Garder le zoom et le bouton "Se localiser"
  • En mode mono-espèce, ça a pas trop de sens et c'est un peu perturbant de voir le message "Sélectionner une espèce". Il faudrait enlever ce message pour ne pas perturber l'utilisateur.
  • Sur la liste des observations, garder les filtres. Sur un programme mono-espèce il n'y a pas d'intérêt à maintenir le filtre par espèce.
  • Il faut bien garder les modes "Authentifié" / "Non authentifié" et mixte. Actuellement, l'utilisateur peut se connecter dès qu'il arrive sur le site via le bouton dans le header ou lors de la saisie s'il ne s'est pas authentifié. Nous souhaitons que ce fonctionnement reste identique. Les structures peuvent choisir le mode authentification obligatoire ou le mode non authentifié ou mixte (authentifié/non authentifié).
  • Dans la maquette la sélection d'une espèce se fait via une liste déroulante. Cependant dans le fonctionnement de GeoNature-citizen, lorsque l'utilisateur est dans un programme mono-espèce, il ne doit pas sélectionner l'espèce. Dans un programme mono-espèce, la vignette est sélectionnée par défaut. Dans les programmes avec moins de 10 espèce la sélection se fait également avec les vignettes. Pour les programmes > à 10 espèces il s'agit là d'une liste déroulante.

@camillemonchicourt
Copy link
Member

Fait dans la version 0.99 si j'ai bien suivi.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants