Releases: PnX-SI/GeoNature
2.15.0 - Pavo cristatus 🦚
⏩ En bref
- Nouvelle version de TaxHub (2.0.0) intégrée à GeoNature
- Fiche de taxon enrichie intégrant l'actuel profil mais aussi une synthèse géographique, les informations taxonomiques ainsi qu'une liste des statuts de protection
- Module Import intégré à GeoNature
- Import de données vers le module Occhab
- Dernières discussions listées sur la page d'accueil
🚀 Nouveautés
- [TaxHub] Intégration de TaxHub (2.0.0 Release Note) à GeoNature (#3280)
- La gestion des taxons est maintenant intégrée dans le module Admin de GeoNature.
- [Import] Refonte et intégration du module Import dans GeoNature (#3269)
- Ajout d'une nouvelle destination d'import de données : Occhab
- Ajout de la possibilité d'étendre les destinations disponibles pour l'import de données vers d'autres modules. Documentation de développement dédiée à ce sujet
- Ajout d'un bouton pour importer des données directement depuis le module de destination (Synthèse et Occhab actuellement)
- Evolution des permissions : la création d'un import dépend de l'action C sur le module Import et de l'action C dans le module de destination (Synthèse et/ou Occhab)
- Plusieurs améliorations : de nouveaux contrôles des données, un rapport d'import revu et intégration de nouveaux tests frontends
- Intégration et complément de la documentation utilisateur et administrateur du module dans la documentation de GeoNature
- [Authentification] Possibilité de se connecter à GeoNature avec d'autres fournisseurs d'identité (#3111)
- Plusieurs protocoles de connexion intégrés activables et paramétrables : OAuth, CAS INPN, UserHub
- Possibilité de se connecter sur d'autres instances GeoNature
- [Synthèse] Enrichissement de la fiche taxon (#2981, #3131, #3187, #3175)
- Affichage de la synthèse géographique d'un taxon
- Affichage du statut de protection du taxon
- Affichage des informations taxonomiques présentes dans Taxref
- Ajout d'un lien vers la fiche du taxon depuis la liste des observations de la Synthèse (#2718)
- [Synthèse] Possibilité de partager une URL de redirection vers un onglet (détails, taxonomie, discussion, validation, etc.) de la fiche d'une observation (#3169)
- [Accueil] Ajout d'un bloc
Discussions
sur la page d'accueil, désactivable avec le paramètreDISPLAY_LATEST_DISCUSSIONS
(#3138)- Filtrable sur les discussions dans lesquelles l'utilisateur authentifié a participé, ou associé à une des observations dont il est : soit l'observateur ou l'opérateur de la saisie (#3194)
- [Occhab] Remplacement du champ
is_habitat_complex
par le nouveau champid_nomenclature_type_habitat
et intégration de la nomenclature SINP associée (voir MosaiqueValue dans la version 2 du standard Occurrences d'habitats du SINP) (#3125) - [Occhab] Affichage de l'UUID de la station dans sa fiche détail (#3247)
- [Occhab] Amélioration de l'export des données en revoyant la vue
pr_occhab.v_export_sinp
(#3122) - [Métadonnées] Possibilité de supprimer un cadre d'acquisition vide (#1673)
- [Occtax] Ajout du nom de lieu dans le détail d'un relevé (#3145)
- [RefGeo] De nouvelles mailles INPN sur la France métropolitaine (2km, 20km, 50km) sont disponibles (https://github.com/PnX-SI/RefGeo/releases/tag/1.5.4)
- [Monitoring] Ajout de la gestion de la table
gn_monitoring.t_observations
directement dans GeoNature (#2824) - La synchronisation avec le service MTD de l'INPN n'est plus intégrée dans le code de GeoNature, elle a été déplacée dans un module externe (https://github.com/PnX-SI/mtd_sync)
🐛 Corrections
- Correction de l'URL des modules externes dans le menu latéral (#3093)
- Correction des erreurs d'exécution de la commande
geonature sensitivity info
(#3216) - Correction du placement des tooltips pour le composant
ng-select
(#3142) - Correction de l'interrogation des profils dans Occtax (#3156)
- Correction de l'affichage du lieu dans les fiches des relevés Occtax (#3145)
- Correction de l'export Occhab avec des champs additionnels vides (#2837)
- Correction d'un soucis de duplication des géométries quand on modifie un polygone (#3195)
- Correction de la recherche avancée par zonage dans le module Métadonnées (#3250)
- Correction d'un scroll non souhaité dans l'interface du module Synthèse (#3233)
- Correction de l'affichage des acteurs dans les fiches des observations de la Synthèse (#3086)
- Correction du chargement des champs additionnels de type Nomenclature (#3082)
- Correction des filtres taxonomiques avancés dans le mdoule Synthèse (#3087)
- Correction de l'affichage des boutons radio quand ceux-ci sont obligatoires (#3210)
- Correction de la commande
geonature sensitivity info
(#3208) - Correction de la redirection vers la page d'authentification quand on accède au module Admin sans être authentifié (#3171)
- Correction du scroll du menu latéral dans le module Admin (#3145)
- Correction de l'aperçu des médias de type PDF (#3260)
- Corrections diverses de la documentation
- Ajout d'un action Github permettant de lancer les tests depuis des modules externes (#3232)
- Lancement de
pytest
sans benchmark ne nécessite plus l'ajout de--benchmark-skip
(#3183)
- Si vous utilisez GeoNature-citizen, attendez qu'une version de celui-ci compatible avec TaxHub 2.x soit disponible.
- Si vous mettez à jour GeoNature :
Avant la mise à jour de GeoNature :
- Ajouter l'extension
ltree
à votre base de données :sudo -n -u postgres -s psql -d <nom_basededonnee_de_votregeonature> -c "CREATE EXTENSION IF NOT EXISTS ltree;"
- Si vous utilisez le module Monitoring, mettez-le à jour en version 1.0.0 minimum
- Si vous utilisez le module Monitoring, les champs
id_digitizer
des tablesgn_monitoring.t_base_sites
,gn_monitoring.t_base_visits
est désormais obligatoire. Assurez-vous qu'ils soient peuplés avant de lancer la mise à jour de GeoNature (SELECT * FROM gn_monitoring.t_base_visits tbv WHERE id_digitiser IS NULL; SELECT * FROM gn_monitoring.t_base_sites tbs WHERE id_digitiser IS NULL;
). - Suivez la procédure de mise à jour classique de GeoNature (https://docs.geonature.fr/installation.html#mise-a-jour-de-l-application)
Après la mise à jour de GeoNature :
- L'application TaxHub a été integrée dans le module "Admin" de GeoNature (#3280) :
- Les permissions basées sur les profils 1-6 ont été rapatriées et adaptées au modèle de permissions de GeoNature.
TaxHub est désormais un "module" GeoNature et dispose des objets de permissionsTAXONS
,THEMES
,LISTES
etATTRIBUTS
. Les utilisateurs ayant anciennement des droits 6 dans TaxHub ont toutes les permissions sur les objets pré-cités. Les personnes ayant des droits inférieurs à 6 et ayant un compte sur TaxHub ont maintenant des permissions sur l'objetTAXON
(voir et éditer des taxons = ajouter des médias et des attributs) - L'API de TaxHub est désormais disponible à l'URL
<URL_GEONATURE>/api/taxhub/api/
(le suffixe/api
est une rétrocompatibilité et sera enlevé de manière transparente dans les prochaines versions) - Le paramètre
API_TAXHUB
de GeoNature est désormais obsolète (déduit deAPI_ENDPOINT
) et peut être retiré du fichier de configuration de GeoNature - Si vous utilisez Occtax-mobile, veillez à modifier son paramètre
taxhub_url
du fichier/geonature/backend/media/mobile/occtax/settings.json
, pour mettre la valeur<URL_GEONATURE>/api/taxhub
. Idem dans le paramètreTAXHUB_URL
de GeoNature-atlas si vous utilisez celui-ci. - Les médias ont été déplacés automatiquement du dossier
/static/medias/
de TaxHub vers le dossier/backend/media/taxhub/
de GeoNature. En conséquence, les URL des médias des taxons ont changé. Vous devez donc le répercuter les paramètres de vos éventuelles applications qui les utilisent (REMOTE_MEDIAS_URL
etREMOTE_MEDIAS_PATH
de la configuration de GeoNature-atlas par exemple). - L'intégration de TaxHub dans GeoNature entraine la suppression de son service
systemd
dédié et la configuration Apache spécifique de TaxHub. Les logs de TaxHub sont également désormais centralisés dans le fichier de log de GeoNature. - L'application TaxHub indépendante n'est plus utilisée, effectuez donc les actions suivantes :
- Supprimez la branche Alembic spécifique de TaxHub :
geonature db downgrade taxhub-standalone@base
- Supprimez le dossier spécifique de l'ancien TaxHub (à priori dans
/home/monuser/taxhub/
) après avoir vérifié que vos éventuels médias TaxHub ont été rapatriés dans le dossier des médias de GeoNature
- Supprimez la branche Alembic spécifique de TaxHub :
- Les commandes de TaxHub sont maintenant accessibles depuis la commande
geonature
, par exemple :geonature taxref migrate-to-v17 # flask taxref migrate-to-v17
- Les permissions basées sur les profils 1-6 ont été rapatriées et adaptées au modèle de permissions de GeoNature.
- Le module Import a été intégré dans le coeur de GeoNature (#3269)
- Si vous aviez installé le module externe Import, l'ancienne version a été désinstallée lors de la mise à jour de GeoNature.
- Si vous n'aviez pas installé le module externe Import, il sera disponible après la mise à jour de GeoNature. Vous pouvez configurer les permissions de vos utilisateurs si vous souhaitez qu'ils accédent au module Import.
- La gestion des permissions du module Import et des JDD qui lui sont associés a évolué. La migration de ces données est gérée automatiquement lors de la mise à jour de GeoNature pour garantir un fonctionnement identique du module Import.
- Reporter l'éventuelle configuration de votre module Import dans le fichier de configuration de GeoNature (dans le bloc
[IMPORT]
du fichiergeonature_config.toml
, voir le fichier d'exempledefault_config.toml.example
)
- Si vous souhaitez intégrer les nouvelles mailles INPN, vous pouvez éxécuter ces commandes :
geonature db upgrade ref_g...
2.14.2
🚀 Nouveautés
🐛 Corrections
- Correction d'erreurs dans les fichiers de traductions du frontend (#3026)
- Correction de la fermeture des sessions SQLAlchemy lancées par Celery (#3050, #3062 )
- [CAS-INPN] Fix du système d'authentification via le CAS de l'INPN (#2866)
- [Monitoring] Correction de la requête SQLAlchemy de récupération des aires de sites (#2984)
- [Occtax] Correction de la transformation de la valeur par défaut dans les champs additionnels d'Occtax (#2978, #3011, #3017)
- [RefGeo] Correction du filtre
type_code
de la route/geo/areas
(#3057, PnX-SI/RefGeo#26)
📝 Merci aux contributeurs
@TheoLechemia @jacquesfize @VincentCauchois @ch-cbna @Pierre-Narcisi @camillemonchicourt
2.14.1
🚀 Nouveautés
- [Synthèse] Possibilité d'ajouter des colonnes supplémentaires à la liste de résultats via le paramètre
ADDITIONAL_COLUMNS_FRONTEND
. Ces champs sont masqués par défaut et controlables depuis l'interface (#2946) - [Synthèse] Possiblité d'ajouter des exports personnalisés basés sur des vues SQL via le paramètre
EXPORT_OBSERVATIONS_CUSTOM_VIEWS
(#2955) - [DynamicForm] Possibilité de définir une valeur par défaut sur le composant
bool_checkbox
(#2819) - [Documentation] Simplification, automatisation et documentation du changement de l'URL de l'API de GeoNature au niveau du frontend (#2936)
- [Configuration] Enrichissement des URI autorisés de connexion à la BDD PostgreSQL (#2947)
- [TaxHub] Mise à jour de TaxHub en version 1.14.0, incluant par défaut Taxref v17, BDC statuts v17 et référentiel de sensibilité v17
🐛 Corrections
- [Occtax] Correction de l'inversion des valeurs par défaut de 2 nomenclatures (#2822)
- [Synthèse] Correction du lien de renvoi vers le module de saisie d'une observation (#2907)
- [Validation] Correction de l'enregistrement d'une validation quand l'utilisateur a des permissions avec une portée limitée (#2958)
- [Occhab] Prise en compte des permissions utilisateurs dans l'affichage des boutons d'actions (info, édition, suppression) dans la liste de stations du module Occhab (#2942)
- [MTD] Amélioration des performances et de la robustesse de la synchronisation avec le service MTD - récupération de métadonnées depuis l'INPN (#2922)
- Correction du double chargement des fond de carte (#2902)
- [Synthèse] Amélioration des performances de la liste des zonages dans les filtres de la synthèse (#2977 & PnX-SI/RefGeo#22)
- Correction de la redirection du bouton "Accueil" quand GeoNature est déployé sur une URL avec un suffixe (#2934)
- Correction de la connexion avec le CAS de l'INPN (#2866)
- Correction d'une mauvaise synchronisation du cookie et du JWT via une MAJ de pypnusershub (PnX-SI/UsersHub-authentification-module#94)
💻 Développement
- Suppression de l'utilisation du composant
ngx-mat-select-search
(#2826 & #2827) - [Occtax] Il n'est plus obligatoire de poster le champs
additionnal_fields
au niveau de l'API des relevés, taxons et dénombrements (#2937) - Suppression des branches et ajout d'adresses relatives dans
.gitmodules
(#2959) - Lint et doc HTML/CSS (#2890 & #2960)
- Correction de l'héritage des composants
GenericFormComponent
(#2961) - Utilisation de
pytest-benchmark
pour l'évaluation automatique de performances des routes (#2896) - Utilisation de
marshmallow
pour la validation des données renvoyées par la routeget_observations_for_web
et ajout du contrôle de la présence des champs obligatoires (#2950)
Si vous mettez à jour GeoNature :
- Les paramètres de la synthèse permettant de spécifier le nom de certaines colonnes de la vue d'export sont dépréciés (
EXPORT_ID_SYNTHESE_COL
,EXPORT_ID_DIGITISER_COL
,EXPORT_OBSERVERS_COL
,EXPORT_GEOJSON_4326_COL
,EXPORT_GEOJSON_LOCAL_COL
). - Si vous aviez surcouché la vue par défaut
gn_synthese.v_synthese_for_export
, il est recommandé de ne plus le faire et de plutôt utiliser le nouveau paramètreEXPORT_OBSERVATIONS_CUSTOM_VIEWS
permettant de se créer ses propres vues d'export personnalisées. Voir "Export des observations" dans la documentation du module Synthèse (https://docs.geonature.fr/admin-manual.html#module-synthese) - Vous pouvez mettre à jour TaxHub en version 1.14.0 (ou plus si compatible) et mettre à jour Taxref en version 17, ainsi que la BDC statuts et le référentiel de sensibilité
- Vous pouvez mettre à jour UsersHub en version 2.4.2 (ou plus si compatible)
📝 Merci aux contributeurs
@TheoLechemia @jacquesfize @VincentCauchois @jbrieuclp @camillemonchicourt @Pierre-Narcisi
2.14.0 - Talpa europaea 👓
Cette nouvelle version de GeoNature propose de nouvelles fonctionnalités comme le floutage de données sensibles dans le module Synthèse ainsi qu'un système de validation automatique des données basé sur les profils de taxons.
Elle intègre aussi plusieurs mises à jour des versions des librairies python utilisées comme Flask (3.0) et SQLAlchemy (1.4).
Si vous mettez à jour GeoNature :
- Le support de Debian 10 a été arrêté, votre serveur doit être en Debian 11 ou 12
- Mettre à jour TaxHub en version 1.13.3 (ou plus) et optionnellement UsersHub (2.4.0 ou plus)
- Si vous les utilisez, mettez à jour les modules Import (version 2.3.0), Export (version 1.7.0), Monitoring (version 0.7.2) et Dashboard (version 1.5.0), avec la nouvelle procédure consistant uniquement à télécharger, dézipper et renommer les dossiers des modules
- Si vous utilisez d'autres modules externes, vérifiez qu'ils disposent d'une version compatible avec GeoNature 2.14 (SQLAlchemy 1.4, Python 3.9 minimum, suppression du fichier
app.config.ts
) - Suivez la procédure de mise à jour classique de GeoNature (https://docs.geonature.fr/installation.html#mise-a-jour-de-l-application)
- Si vous utilisez les fonds IGN, mettez à jour les URL des flux dans votre fichier de configuration
geonature_config.toml
(#2789)
🚀 Nouveautés
- [Synthèse] Floutage des données sensibles (#2558)
- Il est désormais possible de définir un filtre "Flouter les données sensibles" sur les actions Lire et Exporter du module Synthèse
- Pour les utilisateurs qui ont ce filtre de permission appliqué, les données sensibles seront floutées lors de leur affichage ou de leur export dans le module Synthèse, en fonction des mailles ou zonages définis dans les règles de sensibilité du SINP
- En mode Mailles, les données sensibles dont la géométrie floutée est plus grande que la maille affichée sont exclues
- Dans l'onglet "Zonage" des fiches des observations de la Synthèse, on affiche uniquement les zonages plus grands que la géométrie floutée des données sensibles
- Si un utilisateur dispose de permissions filtrées sur les données sensibles, alors les filtres par zonage s'appuie sur une intersection spatiale avec les géométries floutées pour ne pas renvoyer d'informations plus précises sur les données floutées
- La documentation sur le sensibilité des données a été complétée : https://docs.geonature.fr/admin-manual.html#gestion-de-la-sensibilite)
- Le paramètre
BLUR_SENSITIVE_OBSERVATIONS
permet de basculer sur l'exclusion des données sensibles plutôt que leur floutage, comme implémenté dans la version 2.13
- [Validation] Fonction de validation automatique basée sur les profils de taxons (non activée par défaut et surcouchable avec une fonction spécifique) (#2600)
- [Synthèse] Ajout des groupes 3 INPN dans les filtres et les exports de la Synthèse (#2621, #2637)
- [Occtax] Ajout de la possibilité d'associer des nomenclatures à des groupes 3 INPN (#2684)
- [Authentification] Possibilité d'ajouter des liens externes (#2917)
- [Carte] Mise à jour des exemples d'URL de fonds de carte IGN (#2789)
- [RefGeo] Répercussion du remplacement du champs
geojson_4326
pargeom_4326
dans la tablel_areas
(#2809) - [Documentation] Ajout de diagrammes d'architecture dans la documentation (#2760)
🐛 Corrections
- Correction de l'affichage du nom du module quand on revient à la page d'accueil (#2795)
- [Synthèse] Correction de l'affichage du nom du taxon observé quand les profils de taxons sont désactivés (#2820)
- [Carte] Conservation de la géométrie existante lorsqu'on annule la modification d'une géométrie (#2778)
- [Métadonnées] Correction de l'affichage du type de financement sur les fiches détail des CA et JDD (#2840)
- [Occhab] Correction des permissions avec portée limitée (#2909)
- [Occtax] Correction de la suppression d'un champ additionnel (#2923)
💻 Développement
- Mise à jour vers SQLAlchemy 1.4 (#1812)
- Mise à jour vers Flask 3 (#2751)
- Mise à jour de Black en version 24 (#2879)
- Suppression des modules dépréciés :
utilsgeometry.py
,utilssqlalchemy.py
,config_manager.py
(#2751) - Intégration de la documentation automatique des composants Frontend (avec
compodoc
) et des fonctions et classes du backend (avecsphinx-autoapi
) (#2765) - Abandon du système d'authentification par cookie, sauf pour le module Admin. Le token d'authentification (JWT) est maintenant passé dans chaque appel à l'API dans le header HTTP "Authorization Bearer". Il est aussi fourni par la route de login du sous-module d'authentification et stocké dans le localStorage (#2586, #2161, #490, #2574)
- Suppression du fichier
app.config.ts
(#2747) - Passage du paramètre
--line-length
de Black de 99 à 100 caractères (#2847) - Modification de
TModules
pour éviter de lever l'erreur de polymorphisme de SQLAlchemy (#2792) - Fin du support de Debian 10 et de Python 3.7 (#1787)
- Changement de l'ensemble des requêtes SQLAlchemy au style 2.0 (#2751)
- Augmentation du nombre de tests unitaires dans :
gn_meta
,occtax
,occhab
,synthese
(#2751) - Modification des
fixtures
:datasets
,stations
+user
(#2751). Possibilité de créer des utilisateurs de tests avec des permissions plus fines (#2915)
📝 Merci aux contributeurs
@amandine-sahl, @Pierre-Narcisi, @jacquesfize, @TheoLechemia, @bouttier, @mvergez, @andriacap, @edelclaux, @VincentCauchois, @MoulinZ, @pierre56, @camillemonchicourt
2.13.4
🚀 Nouveautés
- [Synthèse] Ajout des colonnes
group[1,2,3]_inpn
à la vuegn_synthese.v_synthese_for_web_app
(#2798, par @andriacap)
🐛 Corrections
- [Métadonnées] Masquage des références bibliographiques dans le formulaire des cadres d'acquisition en attendant la finalisation du développement du backend (#2562, par @DonovanMaillard)
- [Occtax] Correction du problème de chargement de la liste de JDD lors de la création d'un relevé (#2815, par @andriacap)
- [Synthèse et validation] Ajout de la méthode de détermination dans la fiche détail d'une observation (#2785, par @DonovanMaillard)
- [Frontend] Correction de la prise en compte des filtres dans le composant
datalist
(#2777, par @joelclems) - [Synthèse] Optimisation du chargement de l'affichage des observations groupées par maille (#2766, par @mvergez)
- [Accueil] Optimisation du chargement des statistiques générales (#2771, par @mvergez)
- [Synthèse] Correction et enrichissement de la configuration des colonnes affichées dans la liste des observations (#2749, par @mvergez)
- [Synthèse] Correction de la recherche par attribut TaxHub de type "multiselect" (#2767, par @mvergez)
- [Occtax] Tri alphabétique de la liste des "Mes lieux" (#2805, par @DonovanMaillard)
- [Documentation] Corrections et compléments de la documentation d'administrateur (#2812, par @marie-laure-cen)
2.13.3
🐛 Corrections
- [Métadonnées] Correction de l'affichage des descriptions dans les fiches des cadres d'acquisition (#2716, par @mvergez)
- [Admin] Correction de la modification des permissions sensibles (#2697, par @Pierre-Narcisi)
- [Synthèse] Correction de la documentation du paramètre
AREA_FILTERS
(#1892, par @camillemonchicourt) - [Médias] Conservation de la rotation des images des vignettes (#2742, par @MathRdt)
💻 Développement
- Utilisation du fichier
requirements.txt
pour les tests automatiques des contributions dans la branchemaster
(#2739, par @Pierre-Narcisi) - Déplacement des dépendances de développement des types Leaflet vers les dépendances de production (#2744, par @TheoLechemia)
- Prise en compte du paramètre
creatableInModule
du composantdataset
dans les dynamic forms (#2736, par @amandine-sahl)
2.13.2
🚀 Nouveautés
- [Synthèse] Ajout d'un filtre par module de provenance (#2670, par @andriacap)
🐛 Corrections
- Correction des déconnexions non effectives dans les versions 2.13.0 et 2.13.1 (#2682, par @TheoLechemia)
- Correction des permissions vérifiées pour pouvoir supprimer un signalement en prenant en compte le C du module Validation, et non pas le R qui n'existe pas sur ce module (#2710, par @Pierre-Narcisi)
- Correction de l'API des applications mobiles quand le chemin de l'APK est absolu (#2708, par @joelclems)
- Correction des permissions des listes de JDD dans les modules de saisie (Occtax, Occhab, Import) en prenant en compte la portée du C du module, et pas seulement du R du module Métadonnées (#2712, par @Pierre-Narcisi)
- Utilisation de l'heure locale du serveur pour lancer les taches Celery (#2725, par @bouttier)
- Fermeture des connexions à la BDD à la fin des taches Celery (#2724, par @bouttier)
- Correction de l'affichage du bouton permettant d'importer directement depuis la fiche d'un JDD, nécessitant la version 2.2.3 du module Import (#2713, par @bouttier)
💻 Développement
- Ajout du thème Bootstrap au composant
datalist
(#2727, par @TheoLechemia) - Docker : utilisation de python 3.11 (#2728, par @bouttier)
- Déplacement du
DispatcherMiddleware
après les fichiers statiques customisés (#2720, par @bouttier) - Suppression du script
03b_populate_db_for_test.sh
(#2726, par @bouttier)
📝 Documentation
- Mise à jour de la documentation suite aux évolutions des permissions dans la 2.13.0 (par @camillemonchicourt)
2.13.1
L'installation de GeoNature (ainsi que ses 4 modules externes principaux, TaxHub et UsersHub) avec Docker est désormais complète et fonctionnelle. Voir la documentation sur https://docs.geonature.fr/installation.html#docker.
C'est la manière la plus simple de déployer GeoNature avec ses 4 modules externes principaux (Import, Export, Dashboard, Monitoring) mais aussi de les mettre à jour, avec seulement quelques lignes de commandes, à partir des images construites automatiquement et du fichier docker-compose
global, fourni dans le dépôt GeoNature-Docker-services.
🚀 Nouveautés
- Amélioration de l'affichage des taxons en passant à la ligne quand ils sont trop longs (#2690, par @JulienCorny)
- Amélioration du
Dockerfile
de GeoNature (#2623, par @joelclems et @bouttier) - Ne pas renvoyer les modules désactivés dans la route
/modules
(#2693, par @bouttier) - Mise à jour de TaxHub en version 1.12.1 (#2623, par @joelclems)
- Mise à jour de Utils-Flask-SQLAlchemy en version 0.3.6 et UsersHub-authentification-module en version 1.6.10 (#2704, par @TheoLechemia)
- Mise à jour de différentes dépendances Python (#2704, par @TheoLechemia)
🐛 Corrections
- Correction des déconnexions non effectives sur la 2.13.0 (#2682, par @TheoLechemia)
- Correction de la configuration NGINX des préfixes quand GeoNature est déployé avec Docker (#2698, par @bouttier)
- Correction des permissions vérifiées pour pouvoir supprimer un signalement en prenant en compte le R du module Validation, et non pas le V du module Synthèse (#2705, par @Pierre-Narcisi)
- Correction de l'épinglage des observations qui était encore partagé entre utilisateurs, et non pas individuels (#2702, par @Pierre-Narcisi)
- [Synthèse] Correction de la recherche de taxons avec des accents (#2676, par @Pierre-Narcisi)
- [Synthèse] Correction des couleurs des mailles quand on clique sur différentes mailles successivement en mode maille (#2677, par @Pierre-Narcisi)
📝 Documentation
- Documentation de la nouvelle interface d'administration des permissions (#2605, par @camillemonchicourt), disponible sur https://docs.geonature.fr/user-manual.html#admin
- Mise à jour de la documentation d'installation Docker suite à la sortie d'un Docker Compose complet et fonctionnel sur GeoNature-Docker-services (#2703)
- Correction de petites fautes d'orthographe (#2674, par @omahs)
- Correction du template d'issue (#2700, par @mvergez)
2.13.0 - Carpodacus erythrinus 🐤
- Révision globale des permissions pour pouvoir leur associer d'autres types de filtres (sensibilité notamment), les simplifier et clarifier en supprimant l'héritage et en définissant les permissions disponibles pour chaque module.
- Possibilité de filtrer les données dans la Synthèse selon leur sensibilité, mais sans floutage pour le moment (à venir), en affichant ou non les données sensibles selon les permissions de l'utilisateur.
- Vérifiez que vos modules soient compatibles avec le nouveau mécanisme de déclaration des permissions disponibles. C'est le cas pour les modules Import, Export, Dashboard et Monitorings.
- Cette nouvelle version est compatible avec Debian 12. Le support de Debian 10 sera arrêté prochainement.
🚀 Nouveautés
- Refonte complète des permissions (#2487)
- Suppression de l'héritage des permissions du module "GeoNature" vers les autres modules, et de l'objet "All" vers les éventuels autres objets des modules. Chaque permission dans un module doit désormais être définie explicitement. Cela entraine de devoir définir plus de permissions (à l'installation d'un nouveau module notamment) mais aussi de les rendre plus lisibles, additives et explicites (#2474)
- Evolution du modèle de données des permissions pour élargir les possibilités de filtrage des permissions au-delà de l'appartenance (anciennement nommée portée ou scope) (#2472)
- Suppression des permissions ayant une appartenance de niveau 0 (Aucune donnée). En effet, en supprimant l'héritage des permissions et en les définissant par module de manière explicite, si un groupe ou utilisateur n'a aucune permission sur un module, alors il n'y accède pas et ne le voit pas dans le menu latéral. Si il a n'importe quelle permission sur un module, alors il y accède.
- Suppression du filtre d'appartenance de niveau 3 (Toutes les données). En effet, celui-ci est désormais redondant avec l'ajout d'une permission sans filtre.
- Définition des permissions disponibles dans chaque module dans la nouvelle table
gn_permissions.t_permissions_available
, pour ne proposer que des permissions qui ont un usage quand on ajoute ou modifie les permissions d'un utilisateur (#2489) - Refonte de l'interface d'administration des permissions (Flask-admin) ne proposant que les permissions disponibles, affichant les permissions explicites d'un utilisateur et calculant celles effectives provenant d'un groupe auquel il appartient (#2605)
- Optimisation et agrégation des permissions
- [Synthèse] Ajout d'un filtre sur la sensibilité des données, permettant de les afficher et de les exporter ou non à un groupe ou utilisateurs (pas de floutage pour le moment) (#2504 / #2584)
- Ajout de la commande
geonature permissions supergrant
permettant d'ajouter toutes les permissions disponibles à un utilisateur ou groupe super-administrateur (#2557) - Ajout de la vérification des permissions manquantes sur différentes routes (#2542 / #1863)
- Ajout de notifications quand un commentaire est ajouté sur une observation (#2460)
- Amélioration des performances de la recherche de taxons dans Occtax et dans la Synthèse (#2592 / PnX-SI/TaxHub#384)
- Support de Debian 12 (avec Python 3.11, PostgreSQL 15 et PostGIS 3.3) (#1787)
- [Admin] Fixer la barre de navigation du menu latéral et possibilité de la rabbatre (#2556)
- [Synthèse] Ajout d'un filtre par source (#2513)
- [Synthèse] Ajout d'un filtre par
id_synthese
(#2516) - [Synthèse] Recherche des observateurs multiples et insensible aux accents (#2568)
- [Occtax] Ajout du paramètre
EXPANDED_TAXON_ADVANCED_DETAILS
permettant d'ouvrir par défaut les champs avancés du formulaire de renseignement du taxon (#2446) - Conservation du fond de carte utilisé quand on navigue dans les modules (#2619)
- Suppression des médias orphelins basculée dans une tache Celery Beat lancée automatiquement toutes les nuits (
clean_attachments
), et non plus à l'ajout ou suppression d'un autre média (#2436) - Ajout d'une documentation utilisateur sur le module Métadonnées - https://docs.geonature.fr/user-manual.html#metadonnees (#2662)
🐛 Corrections
- [Occtax] Correction du déplacement du marqueur de localisation poncutelle d'un relevé (#2554 et #2552)
- [Occtax] Correction du centrage sur la carte quand on modifie un relevé
- [Occtax] Correction de l'affichage de la géométrie du précédent relevé quand on enchaine des relevés de type polygone puis point (#2657)
- Correction de la sélection automatique des valeurs par défaut numériques dans les champs de type "Liste déroulante (Select)" des formulaires dynamiques (#2540)
- Correction de la gestion des entiers pour les champs additionnels de type "checkbox" (#2518)
- Correction de l'envoi à plusieurs destinataires des emails de demande de création de compte (#2389)
- Récupération du contenu du champs "Organisme" dans le formulaire de demande de création de compte (#1760)
- Amélioration des messages lors de la demande de création de compte (#2575)
- Correction du graphique dans l'export PDF des cadres d'acquisition (#2618)
- [Synthèse] Correction de l'affichage des géométries de type multipoint (#2536)
- [Synthèse] Correction des filtres par défaut (#2634)
- [Synthèse] Correction des filtres géographiques multiples (#2639)
- [Métadonnées] Correction de l'affichage du formulaire de filtres avancés (#2649)
💻 Développement
- Découpage du script
install/03_create_db.sh
en 2 (avec la création du fichierinstall/03b_populate_db.sh
) notamment pour améliorer la dockerisation de GeoNature (#2544) - Ajout d'un script
install/03b_populate_db_for_test.sh
pouvant être utilisé par la CI de test des modules GeoNature (#2544) - Ajout d'un script
install/assets/docker_startup.sh
pour lancer les migrations Alembic depuis le docker de GeoNature (#2544) - Création d'un fichier
install/assets/db/add_pg_extensions.sql
regroupant la création des extensions PostgreSQL (#2544) - Amélioration de
APPLICATION_ROOT
pour qu'il fonctionne en mode développement (#2546) - Amélioration des modèles de la Synthèse pour prendre en compte les valeurs par défaut des nomenclatures (#2524)
- Meilleure portabilité des scripts dans les différents systèmes Unix (#2435)
- Mise à jour des dépendances Python (#2596)
- Documentation de développement des permissions (#2585)
Si vous mettez à jour GeoNature :
- Mettre à jour TaxHub en version 1.12.0 (ou plus) et optionnellement UsersHub
- Si vous les utilisez, mettez à jour les modules Import, Export, Monitoring et Dashboard dans leurs versions compatibles avec GeoNature 2.13, avec la nouvelle procédure consistant uniquement à télécharger, dézipper et renommer les dossiers des modules et de leur configuration
- Si vous utilisez d'autres modules externes, vérifiez qu'ils disposent d'une version compatible avec GeoNature 2.13, ou faites-les évoluer pour qu'ils déclarent leurs permissions disponibles (exemple : #2543)
- Suivez la procédure de mise à jour classique de GeoNature (https://docs.geonature.fr/installation.html#mise-a-jour-de-l-application)
- Les permissions existantes sur vos différents groupes et utilisateurs sont récupérées et remises à plat automatiquement sans système d'héritage. Vérifiez cependant les permissions après la mise à jour de vos groupes et utilisateurs.
- Désormais, quand vous installerez un nouveau module (ou sous-module), pour le voir affiché dans le menu et y avoir accès, il faudra lui appliquer des permissions aux groupes ou utilisateurs qui doivent y accéder.
✅ Exemple de procédure de mise à jour depuis une version 2.12 : https://geonature.fr/documents/procedures/2023-10-GN-212to213.txt
📝 Merci aux contributeurs
@bouttier / @TheoLechemia / @VincentCauchois / @Pierre-Narcisi / @joelclems / @andriacap / @mvergez / @JulienCorny / @MathRdt / @DonovanMaillard / @camillemonchicourt
2.12.3
🐛 Corrections
- [Synthèse] Correction du filtre des observations épinglées pour ne remonter que celles de l'utilisateur connecté (#2507 par @mvergez)
- [Synthèse] Correction de la recherche géographique avec chargement d'un fichier local (#2522 par @bouttier et @mvergez)
- [Admin] Correction d'une régression des performances d'édition des permissions (#2523 par @bouttier)
- Compléments de la documentation (page maintenance, migration avec git, configuratrion dynamique, #2526, #2501, #2503 par @camillemonchicourt)
- [Métadonnées] Correction des droits de modification des cadres d'acquisition
- Correction du script
migration.sh
(#2525 par @bouttier) - Correction du downgrade d'une migration Alembic d'Occtax (#2500 par @JulienCorny)
- Correction et amélioration de la page de maintenance (#2535)
- Correction de la synchronisation des JDD et de l’association aux modules (#2532 par @VincentCauchois)
Si vous utilisez la page de maintenance, celle-ci a été revue, référez vous à la documentation afin de la mettre à jour.