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

GN2.9.2 : Configuration valeur diffusion spécifique et par défaut #1773

Open
Chrispnv opened this issue Mar 14, 2022 · 4 comments
Open

GN2.9.2 : Configuration valeur diffusion spécifique et par défaut #1773

Chrispnv opened this issue Mar 14, 2022 · 4 comments
Assignees

Comments

@Chrispnv
Copy link

Bonjour,

On a installé la dernière version de Geonature 2.9.2 depuis la 2.8.1.
On a un soucis avec le remplissage du champ de diffusion (id_nomenclature_diffusion_level) dans la table synthese.

1 - Quand on ajoute une observation dans Geonature, le champ id_nomenclature_diffusion_level reste avec une valeur null, alors que si on comprend bien, une valeur par défaut devrait remplir le champ depuis la table defaults_nomenclatures_value si à priori si l'espèce observée n'a pas une valeur de diffusion spécifique.
Est ce qu'on a déjà le bon raisonnement ? Si oui, comment rétablir le remplissage de la valeur par défaut ?

2 - Comment peut on le paramétrer dans la base de données les valeurs spécifiques de diffusion des données qui vont apparaitre dans le champ id_nomenclature_diffusion_level ?

Merci.

@bouttier
Copy link
Contributor

Bonjour,

  1. Historiquement (<2.9.2) le champs niveau de diffusion était définie égale au niveau de sensibilité calculé. Ce comportement a été retiré en 2.9.2 et le niveau de diffusion est laissé à NULL (cf ). On pourrait effectivement définir le niveau de diffusion à la nomenclature par défaut, ça me semble judicieux et simple à faire : il faut rajouter une valeur par défaut sur la colonne à gn_synthese.get_default_nomenclature_value('NIV_PRECIS'::character varying).

  2. Je ne suis pas sûr d’avoir compris la question : est-ce qu’il s’agit de définir la valeur par défaut, ou est-ce qu’il s’agit de définir une valeur particulière pour certaines observations uniquement ? Dans le premier cas, il faudra en premier lieu que le point 1 soit traité, et la nomenclature sera à placer dans la table gn_synthese.default_nomenclature_values. Dans le deuxième cas, c’est à faire en base directement, et GeoNature n’est pas (plus depuis la 2.9.2) censé toucher aux valeurs définies manuellement.

@Chrispnv
Copy link
Author

Chrispnv commented Mar 17, 2022

Bonjour,

  1. Nous avons dans la table gn_synthese.defaults_nomenclature_value une ligne correspondant aux niveau de diffusion avec une valeur par défaut. Cependant sur la fonction gn_synthese.get_default_nomenclature_value, nous ne possédons pas la dépendance ('NIV_PRECIS'::character varying), comment est-ce qu'il est possible de l'ajouter ?
    Sachant que le contenu de la ligne niveau de diffusion sur la table gn_synthese.defaults_nomenclature_value est identique aux autres nomenclatures par défaut, pourquoi lors d'un relevé la valeur par défaut du niveau de diffusion n'est pas pris en compte (returne null) ?

  2. Merci pour ces informations.

Merci d'avance pour votre retour,

Bonne journée

@bouttier bouttier self-assigned this Mar 17, 2022
@bouttier
Copy link
Contributor

Nous avons dans la table gn_synthese.defaults_nomenclature_value une ligne correspondant aux niveau de diffusion avec une valeur par défaut.

Quel vaut la colonne mnemonique_type pour cette ligne ? La mnémonique pour le niveau de diffusion est censé être NIV_PRECIS. Mais aucune valeur n’est fournie avec une installation par défaut de GeoNature.

Cependant sur la fonction gn_synthese.get_default_nomenclature_value, nous ne possédons pas la dépendance ('NIV_PRECIS'::character varying), comment est-ce qu'il est possible de l'ajouter ?

Je n’ai pas compris la question. Qu’est-ce qu’une dépendance ?

Sachant que le contenu de la ligne niveau de diffusion sur la table gn_synthese.defaults_nomenclature_value est identique aux autres nomenclatures par défaut, pourquoi lors d'un relevé la valeur par défaut du niveau de diffusion n'est pas pris en compte (returne null) ?

La colonne gn_synthese.synthese.id_nomenclature_diffusion_level ne possède pas de valeur par défaut, d’où la valeur NULL. C’est cette colonne que je propose de modifier pour rajouter la valeur par défaut gn_synthese.get_default_nomenclature_value('NIV_PRECIS'::character varying), et cela sera fait dans une prochaine version de GeoNature.

Il nous faut encore décider est-ce que nous mettons une valeur par défaut pour la nomenclature NIV_PRECIS dans la table gn_synthese.defaults_nomenclatures_value. Personnellement, je ne pense pas que cela soit judicieux, avoir une valeur NULL a l’intérêt de pouvoir être distingué d’une valeur explicitement renseigné par l’utilisateur.

@camillemonchicourt
Copy link
Member

Oui depuis la version 2.9.2, le niveau de diffusion n'est plus basé sur le niveau de sensibilité, car c'était une erreur d'interprétation de notre part du standard du SINP : #1711.

Pour bien comprendre cette histoire des valeurs par défaut du niveau de diffusion par défaut, quelques éléments de contexte et d'historique :

  • Dans la version 2.0.0, on avait mis en place un premier mécanisme de calcul de la sensibilité dans la BDD. Et on avait alors échangé sur les valeurs par défaut (Synthèse - Calcul de la sensibilité #413 (comment)) et les avait mises en place sans pré-définir de valeur (83491b9)
  • On avait initialement un niveau de diffusion renseignable dans Occtax, ainsi qu'une version par défaut du niveau de diffusion dans Occtax qui a été retiré dans la version 2.5.0 (b1e5ebd), lors du passage à la V2 du standard Occurrence de taxons, expliqué ici : [2.5.0 - OccTax] Le champ "technique de collecte campanule" ne s'affiche pas #1059 (comment). Mais on a gardé le champs id_nomenclature_diffusion_level de la table pr_occtax.t_occurrences_occtax pour ceux qui l'auraient renseigné auparavant et ne pas perdre la donnée
  • Dans la version 2.6.0, on a mis en place le calcul automatique des niveaux de sensibilité et de diffusion avec des fonctions et triggers sur la Synthèse. C'est à ce moment-là qu'on a fait l'erreur d'interprétation du standard du SINP en renseignant le niveau de diffusion à partir du niveau de sensibilité quand le niveau de diffusion était nul (1320e72).
  • C'est donc dans la 2.6.0 que l'on a supprimé les valeurs par défaut du niveau de sensibilité (car calculé automatiquement par des règles de sensibilité et des triggers) et du niveau de diffusion dans la Synthèse (car calculé à partir du niveau de sensibilité) :
  • Dans la 2.9.2, on est revenu en arrière sur cette erreur en décorrélant le niveau de sensibilité et le niveau de diffusion, conformément au standard SINP (Décorréler les niveaux de sensibilité et de diffusion #1711)

Un peu complexe cette histoire mais le sujet est complexe et ... sensible (en plus d'être pénible).
Maintenant que le niveau de diffusion n'est plus calculé par rapport au niveau de sensibilité, on pourrait lui remettre une valeur par défaut.

Si on fait cela, comme indique @bouttier ça peut être bien de laisser la valeur null par défaut, comme on faisait initialement dans la version 2.0.0.

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

No branches or pull requests

3 participants