PnX-SI / GeoNature

Application de saisie et de synthèse des observations faune et flore
GNU General Public License v3.0
104 stars 102 forks source link

[SYNTHESE] Ajout de colonnes supplémentaires dans v_synthese_for_web_app #2798

Closed andriacap closed 11 months ago

andriacap commented 12 months ago

Bonjour,

Certains de nos clients nous ont demandé s'il était possible d'ajouter des colonnes dans le tableau de synthese concernant les groupes inpn.

Est ce qu'un développement proposant la maj de la vue v_synthese_for_web_app en ajoutant les colonnes liées aux groupes inpn pourrait intéresser la communauté ?

exemple de la modif de la vue :

CREATE OR REPLACE VIEW gn_synthese.v_synthese_for_web_app
AS SELECT s.id_synthese,
    s.unique_id_sinp,
    s.unique_id_sinp_grp,
    s.id_source,
    s.entity_source_pk_value,
    s.count_min,
    s.count_max,
    s.nom_cite,
    s.meta_v_taxref,
    s.sample_number_proof,
    s.digital_proof,
    s.non_digital_proof,
    s.altitude_min,
    s.altitude_max,
    s.depth_min,
    s.depth_max,
    s.place_name,
    s."precision",
    s.the_geom_4326,
    st_asgeojson(s.the_geom_4326) AS st_asgeojson,
    s.date_min,
    s.date_max,
    s.validator,
    s.validation_comment,
    s.observers,
    s.id_digitiser,
    s.determiner,
    s.comment_context,
    s.comment_description,
    s.meta_validation_date,
    s.meta_create_date,
    s.meta_update_date,
    s.last_action,
    d.id_dataset,
    d.dataset_name,
    d.id_acquisition_framework,
    s.id_nomenclature_geo_object_nature,
    s.id_nomenclature_info_geo_type,
    s.id_nomenclature_grp_typ,
    s.grp_method,
    s.id_nomenclature_obs_technique,
    s.id_nomenclature_bio_status,
    s.id_nomenclature_bio_condition,
    s.id_nomenclature_naturalness,
    s.id_nomenclature_exist_proof,
    s.id_nomenclature_valid_status,
    s.id_nomenclature_diffusion_level,
    s.id_nomenclature_life_stage,
    s.id_nomenclature_sex,
    s.id_nomenclature_obj_count,
    s.id_nomenclature_type_count,
    s.id_nomenclature_sensitivity,
    s.id_nomenclature_observation_status,
    s.id_nomenclature_blurring,
    s.id_nomenclature_source_status,
    s.id_nomenclature_determination_method,
    s.id_nomenclature_behaviour,
    s.reference_biblio,
    sources.name_source,
    sources.url_source,
    t.cd_nom,
    t.cd_ref,
    t.nom_valide,
    t.lb_nom,
    t.nom_vern,
    s.id_module,
   -- ajout ici -->  t.group2_inpn 
   FROM gn_synthese.synthese s
     JOIN taxonomie.taxref t ON t.cd_nom = s.cd_nom
     JOIN gn_meta.t_datasets d ON d.id_dataset = s.id_dataset
     JOIN gn_synthese.t_sources sources ON sources.id_source = s.id_source;

Plus les modifications dans le backend ici

https://github.com/PnX-SI/GeoNature/blob/22b577a5809a177d6ff75d0bb838dc8060d7a304/backend/geonature/core/gn_synthese/models.py#L514C1-L529C51

Merci d'avance !

camillemonchicourt commented 12 months ago

Pas de soucis si cela n'alourdit pas les performances de la recherche dans la Synthèse que l'on souhaiterait alléger et non pas alourdir. A terme, nous aimerions supprimer cette vue pour se baser sur un mécanisme Python directement avec la possibilité de choisir les champs à remonter et afficher dans la liste, sans se baser sur une vue.

andriacap commented 12 months ago

Merci pour la réponse . Selon moi ça n'alourdit pas les performances . Très bonne idée pour la suppression de la vue à terme et l'option du mécanisme Python ! Je plussoie ^^

camillemonchicourt commented 12 months ago

OK, ça vaudrait le coup de tester les performances d'une même requête avant et après l'ajout de ces colonnes pour vérifier les performances.

mvergez commented 12 months ago

Je pense que ça ne nuira en aucun cas les performances avec cet ajout : https://github.com/PnX-SI/GeoNature/pull/2758 qui permet de renvoyer seulement les colonnes demandées. Donc par défaut cela ne changera rien.

camillemonchicourt commented 12 months ago

Oui surtout qu'on récupère déjà des champs dans la table TAXREF.

mvergez commented 12 months ago

Yes exactement, c'est ce que je voulais rajouter : le JOIN est déjà fait :)

camillemonchicourt commented 11 months ago

Intégré dans la 2.13.4.