Releases: PnX-SI/GeoNature
2.9.2
🚀 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 fonctiongn_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 deAFTER
) - 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
-
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 commandegeonature db autoupgrade
(lancée automatiquement par le scriptmigration.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 tablegn_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
🚀 Nouveautés
- Utilisation du paramètre
page
de Flask à la place du paramètre maisonoffset
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éfautGN
) (#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 parcd_nom
etid_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 🦋
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 fonctiongn_synthese.fct_calculate_min_max_for_taxon()
qui n'étaient pas utilisées
- Création d'un schéma
- [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
oumaster
(#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
parjson.loads
, plus performant (par @antoinececchimnhn) - Possibilité de filter la route
synthese/taxa_distribution
parid_source
(#1446 par @mvergez) - Factorisation du composant
pnx-municipalities
avec le composantpnx-areas
- Ajout du composant
pnx-areas
dans dynamic-form - Ajout d'un input
valueFieldName
aux composantspnx-areas
etpnx-municipalities
. Voir documentation (https://github.com/PnX-SI/GeoNature/blob/develop/docs/development.rst#pnx-municipalities) - Mise à jour de nombreuses dépendances
-
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 remplacerid_type
partype_code
(voirref_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 Alembicref_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 possédez déjà le référentiel, vous pouvez l’indiquer à Alembic :
-
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 fichierenviron
à 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
🚀 Nouveautés
- Ajout de l’indication du département au formulaire des communes (#1480)
- Ajout des champs
group2inpn
etregne
au formulaire des nomenclatures (#1481)
🐛 Corrections
- Correction de la commande
geonature db autoupgrade
- Mise-à-jour corrective de UsersHub-authentification-module 1.5.7
2.8.0 - Vaccinium myrtillus 🌿
Gestion de la base de données avec Alembic
🚀 Nouveautés
- Support de Debian 11 / Python 3.9
- Passage de
supervisor
àsystemd
- Gestion de la base de données et de ses évolutions avec Alembic (#880)
- Mise à jour de la procédure d’installation afin d’utiliser Alembic (#880)
- Révision et réorganisation des scripts et de la documentation d'installation
- Passage à la version 3 de Marshmallow (#1451)
- Suppression du paramètre
ID_APP
, celui-ci est automatiquement déterminé à partir de la base de données et du code de l’application - Ajout d’un index sur le champs
ref_geo.l_areas.id_area
- Mise à jour des dépendances :
🐛 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 tablel_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 fichiercustom.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
etgn_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
- 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
etutilisateurs
) - 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
)
- Stopper GeoNature :
- 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
- Copier le fichier
- 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 directivesProxyPass
etProxyPassReverse
comme dans l’exemple suivant :Si vous servez GeoNature sur un sous-domaine, vérifiez ou modifiez la configuration Apache :<Location /geonature/api> ProxyPass http://127.0.0.1:8000/geonature/api ProxyPassReverse http://127.0.0.1:8000/geonature/api </Location>
Pensez à recharger Apache si vous êtes amené à en modifier la configuration :<Location /api> ProxyPass http://127.0.0.1:8000/api ProxyPassReverse http://127.0.0.1:8000/api </Location>
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
- Module Occtax :
- 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
🐛 Corrections
- Compatibilité avec Occtax-mobile 1.3. Possibilité d'ajouter la query string
fields
sur la routemeta/datasets
pour choisir les champs renvoyés par l'API
Si vous mettez à jour GeoNature :
- Vous pouvez passer directement à cette version mais en suivant les notes des versions intermédiaires
2.7.4
2.7.3
🚀 Nouveautés
- Métadonnées : ajout des paramètres
CD_NOMENCLATURE_ROLE_TYPE_DS
etCD_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
Si vous mettez à jour GeoNature :
- Vous pouvez passer directement à cette version mais en suivant les notes des versions intermédiaires
2.7.2
🐛 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
Si vous mettez à jour GeoNature :
- Vous pouvez passer directement à cette version mais en suivant les notes des versions intermédiaires
- Exécuter le script SQL de mise à jour de la BDD de GeoNature (https://github.com/PnX-SI/GeoNature/blob/master/data/migrations/2.7.1to2.7.2.sql)
2.7.1
🐛 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
Si vous mettez à jour GeoNature :
- Vous pouvez passer directement à cette version mais en suivant les notes des versions intermédiaires