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

La version de taxref n'apparaît pas dans les nouvelles observations occtax #3027

Open
vprunet opened this issue May 7, 2024 · 2 comments
Open
Labels

Comments

@vprunet
Copy link
Contributor

vprunet commented May 7, 2024

Version
2.14.1
Description du bug
Après un clean install de geonature 2.14.1, une nouvelle observation saisie dans occtax apparait dans occtax et dans la synthèse sans mention de la version de taxref.
La version de taxref n'apparaît pas dans les nouvelles observations occtax (tables pr_occtax.t_occurrences_occtax et gn_synthese.synthese )
Comportement attendu
Prise en compte automatique de la version de taxref du schema taxonomie.

taxonomie.t_meta_taxref

La table taxonomie.t_meta_taxref est à jour (taxref 17)

referencial_name|version|update_date            |
----------------+-------+-----------------------+
Taxref          |     17|2024-05-01 19:32:29.421|

gn_commons.t_parameters

La table gn_commons.t_parameters n'est pas à jour

id_parameter|id_organism|parameter_name        |parameter_desc                                                                  |parameter_value|parameter_extra_value|
------------+-----------+----------------------+--------------------------------------------------------------------------------+---------------+---------------------+
           1|          2|taxref_version        |Version du référentiel taxonomique                                              |Taxref V16.0   |                     |
           3|          2|annee_ref_commune     |Année du référentiel géographique des communes utilisé                          |2017           |                     |
           4|          2|occtaxmobile_area_type|Type de zonage pour lequel la couleur des taxons est calculée pour Occtax-mobile|M5             |                     |

pr_occtax.t_occurrences_occtax

L'attribut meta_v_taxref vaut NULL pour les nouvelles observations.
La valeur par défaut de cet attribut est bizarre (regardez bien, c'est une chaîne de caractères constante, alors que ce devrait être du code sql qui retourne une string).

'SELECT gn_commons.get_default_parameter(''taxref_version'')'::character varying

gn_synthese.synthese

L'attribut meta_v_taxref vaut NULL pour les nouvelles observations.

La valeur par défaut de cet attribut est

gn_commons.get_default_parameter('taxref_version'::text, NULL::integer);

La valeur retournée par cet appel est Taxref V16.0. Ce serait ok si la table était à jour.

Analyse

Je pense qu'il y a plusieurs erreurs imbriquées

  • il manque un bout de code pour mettre à jour la table gn_commons.t_parameters avec la version courante de taxref lue dans le schema taxonomie.
  • l'insertion d'une observation dans la table pr_occtax.t_occurrences_occtax se passe mal. La valeur par défaut n'est pas prise en compte (une valeur explicite a du être fournie, voir le rappel ci-dessous sur le fonctionnement des valeurs par défaut). De plus, cette valeur par défaut est spécifiée sous une forme qui me paraît incorrecte.

A noter que l'insertion dans la synthèse reporte simplement la valeur de l'attribut meta_v_taxref de occtax. La valeur de l'attribut dans la synthèse est la même que celle dans occtax, le fait que cette valeur soit nulle ne change rien. La valeur par défaut n'est pas prise en compte dès lors qu'une valeur, même nulle, est fournie à l'insertion

@vprunet vprunet added the bug label May 7, 2024
@camillemonchicourt
Copy link
Member

OK, alors il y avait eu des premières discussions sur le sujet ici : #2339
Dans la 1.12.0 de TaxHub d'aout 2023, on a basculé la gestion de la version de Taxref au niveau du schéma taxonomie où cela a bien plus de sens et est mis à jour automatiquement quand on met à jour Taxref : PnX-SI/TaxHub#394

Suite à cela il était souhaité de supprimer le paramètre gn_commons.t_parameters.taxref_version, qui n'est plus utile, redondante et était rarement à jour.

Faut-il aussi supprimer les champs meta_v_taxref dans la foulée ? A priori oui, en suivant les indications de la dernière version du référentiel SINP Occurrences de taxons.

@vprunet
Copy link
Contributor Author

vprunet commented May 7, 2024

En attendant qu'une décision soit prise sur ce champ meta_v_taxref, j'ai temporairement corrigé mon instance ainsi

-- correction version taxref dans gn_commons.t_parameters
UPDATE gn_commons.t_parameters
        SET parameter_value='Taxref V17.0'
        WHERE parameter_name= 'taxref_version';

-- correction de la valeur par défaut pour un taxon saisi dans occtax
ALTER TABLE pr_occtax.t_occurrences_occtax ALTER COLUMN meta_v_taxref 
SET DEFAULT gn_commons.get_default_parameter('taxref_version', NULL);

-- mise à jour des saisies occtax (à exécuter de temps à autres, ou alors écrire un trigger sur insertion).
update pr_occtax.t_occurrences_occtax
        set meta_v_taxref = DEFAULT
        where meta_v_taxref is null;

-- la synthèse est mise à jour automatiquement.

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

No branches or pull requests

2 participants