Skip to content

Releases: PnX-SI/GeoNature

2.9.2

15 Feb 17:06
d20ff21
Compare
Choose a tag to compare

🚀 Nouveautés

  • Optimisation du nombre d’informations renvoyées par l’API pour les utilisateurs et les organismes
  • Ajout d’une commande pour relancer le calcul de la sensibilité, utile en cas de modification du référentiel de sensibilité : geonature sensitivity update-synthese. Elle s'appuie sur la fonction gn_synthese.update_sensitivity().
  • Le niveau de diffusion dans la synthèse n’est plus calculé automatiquement à partir du niveau de sensibilité (#1711)
  • Le niveau de sensibilité tient compte du comportement de l’occurrence (OCC_COMPORTEMENT), en plus du statut biologique (STATUT_BIO)
  • Optimisation du recalcul de la sensibilité lors de la mise à jour de la synthèse (trigger BEFORE au lieu de AFTER)
  • Ajout de tests unitaires sur les fonctions de calcul de la sensibilité

🐛 Corrections

  • Correction d’une régression sur la récupération de la liste des taxons (#1672)
  • Correction de l’authentification au CAS de l’INPN
  • Correction du calcul de la sensibilité (#1284) :
    • Gestion correcte de la présence de plusieurs règles avec et sans critère statut biologique
    • Utilisation de la règle la plus sensible quand plusieurs règles s’appliquent

⚠️ Notes de version

  • La correction de la fonction de calcul de la sensibilité est suivie d’un recalcul automatique du niveau de sensibilité des données présentes dans la synthèse. Si vous ne souhaitez pas procéder à ce recalcul, ajoutez le paramètre -x recompute-sensitivity=false lors de la mise à jour de la base de données avec la commande geonature db autoupgrade (lancée automatiquement par le script migration.sh) :

    (venv)$ geonature db autoupgrade -x recompute-sensitivity=false
    
  • Le niveau de diffusion des données dans la synthèse est remis à NULL si celui-ci équivaut au niveau de sensibilité. Seuls les niveaux de diffusion qui différent sont laissés intacts. Si vous souhaitez rectifier vous-mêmes vos niveaux de diffusion et ne pas les remettre à NULL quand ils sont équivalents au niveau de sensibilité, vous pouvez ajouter le paramètre -x clear-diffusion-level=false lors de la mise à jour de la base de données :

    (venv)$ geonature db autoupgrade -x clear-diffusion-level=false
    

    Si vous redescendez à l’état antérieur de votre base de données, les niveaux de diffusion seront restaurés à partir du niveau de sensibilité ; vous pouvez éviter ceci avec -x restore-diffusion-level=false.

  • Attention, jusqu'à sa version 1.5.1, GeoNature-atlas s'appuie uniquement sur le champs id_nomenclature_diffusion_level de la table gn_synthese.synthese de GeoNature pour dégrader les données sensibles (https://github.com/PnX-SI/GeoNature-atlas/blob/1.5.1/data/gn2/atlas_synthese.sql#L22-L36). Il vous faut donc adapter les vues et/ou vues matérialisées de GeoNature-atlas pour prendre en compte désormais aussi le champs "Niveau de diffusion".

2.9.1

27 Jan 15:00
7af2c82
Compare
Choose a tag to compare

🚀 Nouveautés

  • Utilisation du paramètre page de Flask à la place du paramètre maison offset pour la pagination des routes (rétro-compatible)
  • Installation de TaxHub en version 1.9.4 (version corrective) par défaut
  • Ajout du paramètre de configuration CODE_APPLICATION (par défaut GN) (#1635)

🐛 Corrections

  • Correction de l'URL de réinitialisation de mot passe envoyée par email (#1620)
  • Correction d’un problème d’authentification avec le CAS
  • Occtax : Correction des listes déroulantes masquées dans le bloc dénombrement, en rajoutant un scroll
  • Correction de l'URL de l'API de TaxHub (slash final manquant) pour l'affichage des photos sur la fiche d'un profil de taxon
  • Correction de la synchronisation des métadonnées depuis MTD
  • Correction de la génération du token quand on utilise le CAS de l'INPN pour se connecter à GeoNature
  • Correction des permissions trop restrictives d’accès aux données de la synthèse
  • Correction de la pagination de la route /color_taxon en rajoutant un ordonnancement par cd_nom et id_area (utilisé par Occtax-mobile)
  • Contournement d'un problème de redirection incorrecte par l’API de TaxHub lorsque celui-ci est mal configuré (#1438, #1616)

2.9.0 - Actias luna 🦋

13 Jan 19:48
Compare
Choose a tag to compare

Profils de taxons

🚀 Nouveautés

  • Construction automatique d'une fiche d'identité (profil) par taxon grâce aux observations validées présentes dans la base de données (altitude min/max, distribution spatiale, date de première/dernière observation, nombre de données valides, phénologie) (#917 par @DonovanMaillard, @lepontois, @Adrien-Pajot, @TheoLechemia, @bouttier, @amandine-sahl, @jpm-cbna)
    • Création d'un schéma gn_profiles dans la BDD contenant les tables, les vues, les fonctions et les paramètres de calcul des profils de taxons (https://github.com/PnX-SI/GeoNature/blob/develop/data/core/profiles.sql) (#1103)
    • Mise en place de l'API des profils de taxons (#1104)
    • Affichage des scores de chaque observation par rapport au profil du taxon dans la liste des observations du module Validation, ainsi que dans les fiches détails des observations dans les modules Synthèse et Validation (#1105)
    • Ajout de filtres des observations par score ou critère des profils de taxon dans le module Validation (#1105)
    • Ajout d'une alerte de contextualisation d'une observation par rapport au profil de taxon, lors de sa saisie dans le module Occtax
    • Mise en place de paramètres pour activer ou non les profils de taxons, paramétrer leurs règles et définir les statut de validation pris en compte pour le calcul des profils ("Certain-très probable" et "Probable" par défaut)
    • Documentation des profils de taxons et de leur paramètrage (https://docs.geonature.fr/admin-manual.html#profils-de-taxons)
    • Suppression de la vue matérialisée gn_synthese.vm_min_max_for_taxons et de la fonction gn_synthese.fct_calculate_min_max_for_taxon() qui n'étaient pas utilisées
  • [OCCTAX] Ajout d'un bouton permettant d'annuler la modification d'un taxon (#1508 par @jbrieuclp)
  • [OCCTAX] Ajout de valeurs par défaut aux champs additionnels (gn_commons.t_additional_fields.default_value)
  • [OCCTAX] Ajout d'un filtre avancé par id_releve
  • [SYNTHESE] Ajout d'un filtre avancé par UUID d'observation (#973)
  • Amélioration des listes déroulantes en passant à la librairie ng-select2 pour les composants multiselects (#616 par @jbrieuclp)
  • Gestion du référentiel des régions par Alembic (#1475)
  • Ajout des anciennes régions (1970-2016), inactives par défaut, mais utiles pour les règles régionales de sensibilité
  • Gestion du référentiel de sensibilité (règles nationales et régionales) par Alembic (#1576)
  • Ajout d'une documentation sur le calcul de la sensibilité des observations (https://docs.geonature.fr/admin-manual.html#gestion-de-la-sensibilite, par @mvergez)
  • [SYNTHESE] Amélioration de la fenêtre de limite d'affichage atteinte (#1520 par @jpm-cbna)
  • [OCCHAB] Utilisation de tout Habref par défaut si aucune liste d'habitats n'est renseignée dans la configuration du module
  • [METADONNEES] Attribuer des droits à un utilisateur sur un JDD si il a des droits sur son cadre d'acquisition
  • Association automatique et paramétrable des jeux de données personnels auto-générés à des modules (Occtax par défaut) (#1555)
  • Utilisation du C du CRUVED de l'utilisateur pour lister les jeux de données dans lesquels il peut ajouter des données dans les différents modules (et non plus le R du CRUVED sur GeoNature) (#659)

🐛 Corrections

  • [OCCTAX] Correction de l'enregistrement des dénombrements lors de l'enchainement des relevés (#1479 par @jbrieuclp)
  • [OCCTAX] Correction du filtre du champs "Habitat" par typologie d'habitat
  • [ADMIN] Correction de l'affichage du module (#1427 par @jbrieuclp)
  • [ADMIN] Sécurisation du module (#839)
  • [VALIDATION] Corrections de la validation des observations (#1485 / #1529)
  • [METADONNEES] Amélioration des performances (#1559)
  • [METADONNEES] Correction de la suppression des JDD
  • [METADONNEES] Correction de l'export PDF des JDD (#1544)
  • [METADONNEES] Correction des permissions (#1528)
  • [METADONNEES] Correction de la recherche avancée
  • [SYNTHESE] Correction de la recherche sur les champs génériques de type nombre entier (#1519 par @jpm-cbna)
  • [SYNTHESE] Correction des permissions
  • [SYNTHESE] Correction du lien entre les filtres CA et JDD (#1530)
  • [OCCHAB] Correction du chargement de la configuration, des fiches info et de la modification d'une station
  • [METADONNEES] Améliorations des performances et des contrôles du formulaire des acteurs pour les JDD et les CA (par @joelclems)
  • Correction de la redirection vers le formulaire de login en cas de cookie corrompu (#1550 par @antoinececchimnhn)
  • Correction de la création de compte utilisateur (#1527)
  • Mise à jour du module Habref-api-module pour corrections de certaines données d'Habref

💻 Développement

  • Migration vers la librairie gn-select2 pour les listes déroulantes des formulaires (#616 / #1285 par @jbrieuclp)
  • Documentation de développement backend revue et complétée (#1559, https://docs.geonature.fr/development.html#developpement-backend)
  • Amélioration de nombreuses routes et fonctions du backend
  • Ajouts de tests automatisés du backend
  • Mise en place d'une intégration continue pour exécuter automatiquement les tests backend et leur couverture de code avec GitHub Actions, à chaque commit ou pull request dans les branches develop ou master (#1568, https://github.com/PnX-SI/GeoNature/actions)
  • [VALIDATION] Suppression des vues SQL et optimisation des routes
  • Génération automatique et aléatoire du paramètre SECRET_KEY
  • [SYNTHESE] Remplacement de as_literal par json.loads, plus performant (par @antoinececchimnhn)
  • Possibilité de filter la route synthese/taxa_distribution par id_source (#1446 par @mvergez)
  • Factorisation du composant pnx-municipalities avec le composant pnx-areas
  • Ajout du composant pnx-areas dans dynamic-form
  • Ajout d'un input valueFieldName aux composants pnx-areas et pnx-municipalities. Voir documentation (https://github.com/PnX-SI/GeoNature/blob/develop/docs/development.rst#pnx-municipalities)
  • Mise à jour de nombreuses dépendances

⚠️ Notes de version

  • La liste des JDD dans les modules de saisie (Occtax, Occhab, Monitoring et Import) se base désormais sur le C du CRUVED de l'utilisateur au niveau du module (ou du C du CRUVED de GeoNature si l'utilisateur n'a pas de CRUVED sur le module), au lieu du R de GeoNature jusqu'à présent. Vous devrez donc potentiellement adapter vos permissions à ce changement de comportement (#659)

  • Si vous avez surcouché le paramètre de configuration AREA_FILTERS de la section [SYNTHESE], veuillez remplacer id_type par type_code (voir ref_geo.bib_areas_types)

      AREA_FILTERS = [
          { label = "Communes", id_type = 25 }
      ]
    

    devient

      AREA_FILTERS = [
          { label = "Communes", type_code = "COM" }
      ]
    
  • Si vous aviez modifié les colonnes de la liste des observations du module Validation en adaptant la vue gn_validation.v_synthese_validation_forwebapp, celle-ci a été supprimée et il suffit désormais d'indiquer les colonnes souhaitées dans la configuration du module. Voir documentation (http://docs.geonature.fr/admin-manual.html#liste-des-champs-visibles)

  • Les nouvelles fonctionnalités liées aux profils de taxons nécessitent de rafraichir des vues materialisées à intervalles réguliers et donc de créer une tâche planfiée (cron). Voir documentation (https://docs.geonature.fr/installation.html#taches-planifiees)

  • Les régions sont maintenant disponibles via des migrations Alembic. Si vous possédez déjà les régions, vous pouvez l’indiquer à Alembic :

      geonature db upgrade ref_geo@head
      geonature db stamp d02f4563bebe
    
  • Le référentiel de sensibilité est désormais disponible via une migration Alembic. Celui-ci nécessite le référentiel des régions (branche Alembic ref_geo_fr_regions), ainsi que le référentiel des anciennes régions (branche Alembic ref_geo_fr_regions_1970) – l’installation de ces référentiels est automatique avec l'installation des règles de sensibilité.

    • Si vous possédez déjà le référentiel, vous pouvez l’indiquer à Alembic :
        geonature db stamp 7dfd0a813f86
      
    • Si vous avez installé GeoNature 2.8.X, le référentiel de sensibilité n’a pas été installé automatiquement. Vous pouvez l’installer manuellement :
        geonature db upgrade ref_sensitivity_inpn@head
      

    Par défaut, seule les règles nationales sont activées, vous laissant le soin d’activer vos règles locales en base vous-même. Vous pouvez également demander, lors de l’installation du référentiel, à activer (resp. désactiver) toutes les règles en ajout à la commande Alembic l’option -x active=true (resp. -x active=false).

  • Si vous souhaitez surcoucher les paramètres par défaut de Gunicorn (app_name, timeout...), depuis le passage à systemd dans la version 2.8.0, c'est désormais à faire dans un fichier environ à la racine du dossier de votre GeoNature (#1588, https://docs.geonature.fr/admin-manual.html#parametres-gunicorn)

  • Si vous les utilisez, mettez à jour les modules Import, Export et Monitoring dans leurs dernières versions compatibles avec le version 2.9.0 de GeoNature

2.8.1

19 Oct 17:58
Compare
Choose a tag to compare

🚀 Nouveautés

  • Ajout de l’indication du département au formulaire des communes (#1480)
  • Ajout des champs group2inpn et regne au formulaire des nomenclatures (#1481)

🐛 Corrections

2.8.0 - Vaccinium myrtillus 🌿

18 Oct 15:55
Compare
Choose a tag to compare

Gestion de la base de données avec Alembic

⚠️ Avant de mettre à jour GeoNature, vérifiez que les modules que vous utilisez disposent d'une version compatible avec la 2.8.0, suite au passage à la version 3 de Marshmallow.

🚀 Nouveautés

🐛 Corrections

  • Corrections et améliorations des formulaires dynamiques et des champs additionnels
  • Correction de l'envoi d'email lors de la récupération du mot de passe (#1471)
  • Occtax : Correction du focus sur le champs "taxon" quand on enchaine les taxons (#1462)
  • Occtax : Correction du formulaire de modification quand le relevé est une ligne ou un polygone (#1461)
  • Occtax : Correction de la conservation de la date quand on enchaine les relevés (#1442)
  • Occtax : Correction du paramètre d'export des champs additionnels (#1440)
  • Synthèse : correction de la recherche par jeu de données (#1494)
  • Correction de l'affichage des longues listes déroulantes dans les champs additionnels (#1442)
  • Mise à jour de la table cor_area_synthese lors de l’ajout de nouvelles zones via un trigger sur la table l_areas (#1433)
  • Correction de l'export PDF des fiches de métadonnées (#1449)
  • Jeux de données : correction de l’affichage des imports sources
  • Correction de la configuration Apache et de la gestion par flask d’un GeoNature accessible sur un préfix (e.g. /geonature) (#1463)
  • Correction de la commande install_packaged_gn_module
  • Correction des champs additionnels de type boutons radios (#1464 et #1472)
  • Occtax : Correction du contrôle des heures quand on est sur 2 mois distincts (#1468)
  • Suppression de nombreux identifiants en dur dans les scripts SQL de création de la BDD
  • Correction du trigger d'Occtax vers la Synthèse pour le champs Comportement (#1469)
  • Correction des fonctions get_default_nomenclature_value
  • Correction du composant multiselect (#1488)
  • Correction du script migrate.sh pour récupérer le fichier custom.scss depuis son nouvel emplacement (#1430)
  • Correction du paramètre EXPORT_OBSERVERS_COL
  • Métadonnées : Suppression en cascade sur les tables gn_meta.cor_dataset_territory et gn_meta.cor_dataset_protocol (#1452)
  • Correction de la commande install_packaged_gn_module : rechargement des entry points après installation avec pip d’un module packagé
  • Correction d’un bug lors de l’ajout d’un cadre d’acquisition

💻 Développement

  • Mise à jour de plusieurs dépendances
  • Packetage des modules fournis avec GeoNature
  • L’utilisateur connecté est maintenant accessible via g.current_user
  • Nettoyage et refactoring divers

⚠️ Notes de version

  • Mettre à jour UsersHub en version 2.2.1 et TaxHub en version 1.9.0 (si vous les utilisez) en sautant leur étape de passage à Alembic (car la mise à jour de GeoNature se charge désormais de mettre à jour aussi les schémas taxonomie et utilisateurs)
  • Suppression de supervisor :
    • Stopper GeoNature : sudo supervisorctl stop geonature2
    • Supprimer le fichier de configuration supervisor de GeoNature : sudo rm /etc/supervisor/conf.d/geonature-service.conf
    • Si supervisor n’est plus utilisé par aucun service (répertoire /etc/supervisor/conf.d/ vide), il peut être désinstallé (sudo apt remove supervisor)
  • Suivre la procédure classique de mise à jour de GeoNature
  • Passage à systemd :
    • Copier le fichier install/assets/geonature.service dans /etc/systemd/system/
    • Éditer /etc/systemd/system/geonature.service et remplacer les variables ${USER} (votre utilisateur linux courant) et ${BASE_DIR} (chemin absolu du répertoire de GeoNature) par les valeurs appropriées
    • Lancer la commande sudo systemctl daemon-reload
    • Pour démarrer GeoNature : sudo systemctl start geonature
    • Pour lancer GeoNature automatiquement au démarrage du serveur : sudo systemctl enable geonature
  • Correction de la configuration Apache : si vous servez GeoNature sur un préfixe (typiquement /geonature/api), assurez vous que ce préfixe figure bien également à la fin des directives ProxyPass et ProxyPassReverse comme dans l’exemple suivant :
    <Location /geonature/api>
        ProxyPass http://127.0.0.1:8000/geonature/api
        ProxyPassReverse  http://127.0.0.1:8000/geonature/api
    </Location>
    
    Si vous servez GeoNature sur un sous-domaine, vérifiez ou modifiez la configuration Apache :
    <Location /api>
        ProxyPass http://127.0.0.1:8000/api
        ProxyPassReverse  http://127.0.0.1:8000/api
    </Location>
    
    Pensez à recharger Apache si vous êtes amené à en modifier la configuration : sudo systemctl reload apache2
  • Passage à Alembic :
    • S’assurer d’avoir une base de données de GeoNature en version 2.7.5
    • Si vous avez UsersHub installé, ajoutez dans votre configuration GeoNature la section suivante (en adaptant le chemin) :
    [ALEMBIC]
    VERSION_LOCATIONS = '/path/to/usershub/app/migrations/versions'
    
    • Entrer dans le virtualenv afin d’avoir la commande geonature disponible : source backend/venv/bin/activate
    • Exécuter les commandes suivantes afin d’indiquer à Alembic l’état de votre base de données :
    geonature db stamp f06cc80cc8ba  # GeoNature 2.7.5
    geonature db stamp 0dfdbfbccd63  # référentiel géographique des communes
    geonature db stamp 3fdaa1805575  # référentiel géographique des départements
    geonature db stamp 586613e2faeb  # référentiel géographique des mailles 1×1
    geonature db stamp 7d6e98441e4c  # référentiel géographique des mailles 5×5
    geonature db stamp ede150d9afd9  # référentiel géographique des mailles 10×10
    geonature db stamp 1715cf31a75d  # MNT de l’IGN
    
    • Si vous aviez déjà installé certains modules, vous devez l’indiquer à Alembic :
      • Module Occtax : geonature db stamp f57107d2d0ad
      • Module Occhab : geonature db stamp 2984569d5df6
    • Mettre sa base de données à jour avec Alembic : geonature db autoupgrade

Pour plus d’information sur l’utilisation d’Alembic, voir la documentation administrateur de GeoNature.

2.7.5

28 Jul 08:48
Compare
Choose a tag to compare

🐛 Corrections

  • Compatibilité avec Occtax-mobile 1.3. Possibilité d'ajouter la query string fields sur la route meta/datasets pour choisir les champs renvoyés par l'API

⚠️ Notes de version

Si vous mettez à jour GeoNature :

  • Vous pouvez passer directement à cette version mais en suivant les notes des versions intermédiaires

2.7.4

23 Jul 08:14
Compare
Choose a tag to compare

🐛 Corrections

  • Correction d'un import manquant entraînant un problème de compilation du frontend (#1424)

⚠️ Notes de version

Si vous mettez à jour GeoNature :

  • Vous pouvez passer directement à cette version mais en suivant les notes des versions intermédiaires

2.7.3

22 Jul 14:05
Compare
Choose a tag to compare

🚀 Nouveautés

  • Métadonnées : ajout des paramètres CD_NOMENCLATURE_ROLE_TYPE_DS et CD_NOMENCLATURE_ROLE_TYPE_AF pour limiter les rôles utilisables au niveau des jeux de données et des cadres d'acquisition (#1417)
  • Ajout de la commande mtd_sync qui permet de synchroniser les métadonnées de toute une instance depuis le flux MTD du SINP

🐛 Corrections

  • Correction de l'affichage des jeux de données sur les fiches des cadres d'acquisition (#1410)
  • Doc : Précision des OS supportés (Debian 10 uniquement en production)

💻 Développement

  • Support des commandes Flask au niveau de la commande geonature (run, db, routes, shell...)
  • Ajout des sous-modules en tant que dépendances
  • Ajout d'une commande install_packaged_gn_module

⚠️ Notes de version

Si vous mettez à jour GeoNature :

  • Vous pouvez passer directement à cette version mais en suivant les notes des versions intermédiaires

2.7.2

05 Jul 14:03
Compare
Choose a tag to compare

🐛 Corrections

  • OCCTAX : Correction de la vérification du CRUVED (#1413)
  • OCCTAX : Correction du dégrisement du formulaire au chargement de la fonctionnalité "mes lieux" (#1414)
  • OCCTAX : Déplacement des champs additionnels pour les dénombrements avant les médias (#1409)
  • Suppression des champs additionnels de type "taxonomy" qui n'étaient pas supportés

⚠️ Notes de version

Si vous mettez à jour GeoNature :

2.7.1

02 Jul 10:31
9b65570
Compare
Choose a tag to compare

🐛 Corrections

  • Installation des dépendances javascript des modules lors de la migration de version de GeoNature (#1252)
  • Installation de la version 1.8.1 de TaxHub par défaut à la place de la 1.8.0
  • Intégration de la documentation permettant de mettre en place l'accès public à GeoNature

⚠️ Notes de version

Si vous mettez à jour GeoNature :

  • Vous pouvez passer directement à cette version mais en suivant les notes des versions intermédiaires