2.12.0 - Cyathea borbonica đŽ
â© En bref
- Affichage agrégé des observations dans la SynthÚse (performances et lisibilité) (#1847 et #1878)
- Filtres par défaut dans la SynthÚse (#2261)
- Optimisation des performances des exports de la SynthĂšse (#1434)
- Optimisation du chargement des jeux de données dans le module Métadonnées pour en améliorer les performances (#2004)
- Intégration par défaut de Taxref v16, BDC statuts v16 et référentiel de sensibilité v16
- Possibilité de gérer les tables des applications mobiles et des modules depuis le module "Admin"
- Configuration dynamique sans rebuild (#2205)
- Centralisation de la configuration des modules dans GeoNature (#2423)
- Historisation des suppressions dans la SynthÚse, nécessaire pour GN2PG notamment (#789)
- RĂ©organisation des dossiers pour simplifier la customisation et les mises Ă jour (#2306)
- Stabilisation de la dockerisation (#2206)
- Refactorisation d'Occhab, module de référence et documentation développeurs associée
- Refactorisation des permissions (simplification, optimisation, centralisation, performances, tests)
- Mise Ă jour d'Angular en version 15 (#2154)
Si vous mettez Ă jour GeoNature :
- Si vous utilisez des modules spécifiques (hors Import, Export, Dashboard, Monitoring), vérifiez qu'ils disposent d'une version compatible avec GeoNature 2.12 (compatibilité Angular 15, révision des permissions, configuration dynamique)
- Si vous les utilisez, mettre à jour les modules Import en version 2.1.0 (ou plus), Export en version 1.4.0, Dashboard en version 1.3.0 (ou plus) et Monitoring en version 0.5.0 (ou plus) avec la nouvelle procédure consistant uniquement à télécharger, dézipper et renommer les dossiers des modules et de leur configuration
- Mettez Ă jour TaxHub en version 1.11 (mais pas une version superieure)
- La vue
gn_synthese.v_synthese_for_export
dĂ©finissant la structure et le contenu des exports de la SynthĂšse a Ă©tĂ© modifiĂ©e pour ĂȘtre optimisĂ©e. Si vous l'aviez customisĂ©e, reportĂ©e vos modifications manuellement aprĂšs la mise Ă jour de GeoNature - Suivez la procĂ©dure de mise Ă jour classique de GeoNature (https://docs.geonature.fr/installation.html#mise-a-jour-de-l-application)
- Le script
migration.sh
se charge de déplacer automatiquement les différents fichiers suite à la réorganisation des dossiers (customisation, médias, mobile, configuration centralisée des modules) - Les médias (incluant les fichiers d'Occtax-mobile) sont déplacés dans le dossier
backend/media/
- Il n'est plus nécessaire de rebuilder le frontend ni de recharger GeoNature manuellement à chaque modification de la configuration de GeoNature ou de ses modules
- Les taches automatisées sont désormais gérées par Celery Beat et installées avec GeoNature. Si vous aviez mis en place des crons pour mettre à jour les profils de taxons (ou les données du module Dashboard, ou les exports planifiés du module Export), supprimez les (dans
/etc/cron.d/geonature
oucrontab -e
) car ils ne sont plus utiles - Il est fortement conseillé d'utiliser la configuration Apache générée par défaut dans
/etc/apache2/conf-available/geonature.conf
et de l'inclure dans votre vhost (/etc/apache2/sites-available/geonature.conf
et/ou/etc/apache2/sites-available/geonature-le-ssl.conf
), en suivant la documentation dĂ©diĂ©e - Si vous aviez customisĂ© la page dâaccueil de GeoNature en modifiant les composants
frontend/src/custom/components/introduction/introduction.component.html
etfrontend/src/custom/components/footer/footer.component.html
ceux-ci ont été supprimés au profit de paramÚtres de configuration. Il vous faut donc déplacer votre customisation dans les paramÚtresTITLE
,INTRODUCTION
etFOOTER
de la nouvelle section[HOME]
de la configuration de GeoNature.
Vous pouvez renseigner du code HTML sur plusieurs lignes en le plaçant entre triple quote ("""<b>Hello</b>"""
). - Les paramĂštres de configuration suivants ont Ă©tĂ© supprimĂ©s et doivent ĂȘtre retirĂ©s de votre fichier de configuration (
config/geonature_config.toml
) sâils sont prĂ©sents :LOGO_STRUCTURE_FILE
(si vous aviez renommé votre logo, déplacez le dansgeonature/custom/images/logo_structure.png
)UPLOAD_FOLDER
(si vous lâaviez dĂ©placĂ©, renommez votre dossier dâupload enattachments
et placez-le dans le dossier des médias (geonature/backend/media/
par défaut, paramétrable viaMEDIA_FOLDER
))BASE_DIR
- Occtax et champs additionnels :
- Les champs additionnels de type
bool_radio
ne sont plus supportés.
Si vous utilisiez ce type de widget dans vos champs additionnels d'Occtax, ils seront automatiquement remplacés par un widget de typeradio
.
Vous devez changer le champsfield_values
sur le modĂšle suivant :[{"label": "Mon label vrai", "value": true }, {"label": "Mon label faux", "value": false }]
. - Les champs de formulaire de type
radio
,select
,multiselect
etcheckbox
, attendent désormais une liste de dictionnaire{value, label}
(voir doc des champs additionnels) (#2214)
La rĂ©trocompatibilitĂ© avec des listes simples est maintenue, mais vous ĂȘtes invitĂ©s Ă modifier ces champs dans le backoffice.
Pour conserver le bon affichage lors de l'édition des données, renseignez l'ancienne valeur deux fois dans la clévalue
et la clélabel
.
- Les champs additionnels de type
â Exemple de procĂ©dure de mise Ă jour depuis une version 2.11 : https://geonature.fr/documents/procedures/2023-04-GN-211to212.txt
đ NouveautĂ©s
- Configuration dynamique du frontend : le frontend rĂ©cupĂšre dynamiquement sa configuration depuis le backend. Pour cela, il nĂ©cessite uniquement lâadresse de lâ
API_ENDPOINT
qui doit ĂȘtre renseignĂ©e dans le fichierfrontend/src/assets/config.json
. En consĂ©quence, il nâest plus nĂ©cessaire de rebuilder le frontend lors dâune modification de la configuration de GeoNature ou de ses modules (#2205) - Personnalisation de la page dâaccueil : ajout dâune section
[HOME]
contenant les paramĂštresTITLE
,INTRODUCTION
etFOOTER
. Ceux-ci peuvent contenir du code HTML qui est chargĂ© dynamiquement avec la configuration, Ă©vitant ainsi la nĂ©cessitĂ© dâun rebuild du frontend (#2300) - SynthĂšse : AgrĂ©gation des observations ayant la mĂȘme gĂ©omĂ©trie pour ne les charger qu'une seule fois, et ainsi amĂ©liorer les performances et la lisibilitĂ© (#1847)
- SynthÚse : Possibilité d'afficher les données agrégées par maille (#1878). La fonctionnalité est configurable avec les paramÚtres suivant :
[SYNTHESE] AREA_AGGREGATION_ENABLED = true AREA_AGGREGATION_TYPE = "M10" AREA_AGGREGATION_BY_DEFAULT = false # affichage groupĂ© par dĂ©faut AREA_AGGREGATION_LEGEND_CLASSES = . # voir fichier de configuration dâexemple
- SynthÚse : Possibilité de définir des filtres par défaut à travers le paramÚtre
SYNTHESE.DEFAULT_FILTERS
(#2261) - Métadonnées : Chargement des jeux de données seulement quand on clique sur un cadre d'acquisition dans la liste des métadonnées, pour améliorer les performances du module, en ne chargeant pas tous les jeux de données par défaut (#2004)
- Champs additionnels : Les champs de formulaire de type
radio
,select
,multiselect
etcheckbox
, attendent désormais une liste de dictionnaire{value, label}
(voir doc des champs additionnels) (#2214) - Admin : Possibilité de gérer la table des applications mobiles (
t_mobile_apps
) dans le module "Admin" de GeoNature, notamment pour faciliter la gestion des mises à jour de Occtax-mobile (#2352) - Possibilité de configurer les modules (picto, doc, label) directement depuis le module Admin (#2409)
- PossibilitĂ© dâafficher un bouton de gĂ©olocalisation sur les cartes des formulaires Occtax et Occhab (#2338), activable avec le paramĂštre suivant :
[MAPCONFIG] GEOLOCATION = true
- Profils mis à jour automatiquement par Celery Beat, toutes les nuits par défaut (#2412)
- Ajout de lâintĂ©gration de Redis Ă l'outil de logs Sentry, pour amĂ©liorer la prĂ©cisions des traces
- PossibilitĂ© de dĂ©finir des rĂšgles de notifications par dĂ©faut, sâappliquant aux utilisateurs nâayant pas de rĂšgle spĂ©cifique. Pour cela, il suffit dâinsĂ©rer une rĂšgle dans la table
gn_notifications.t_notifications_rules
avecid_role=NULL
(#2267) - Publication automatique de deux images Docker
geonature-backend
etgeonature-frontend
(#2206). Leur utilisation nâa pas encore Ă©tĂ© Ă©prouvĂ©e et leur utilisation en production nâest de ce fait pas recommandĂ©e. - AmĂ©lioration de la fiabilitĂ© du processus de migration
- Ajout dâun index sur la colonne
gn_synthese.cor_area_synthese.id_area
. La colonneid_synthese
est dĂ©jĂ couverte par lâindex multiple(id_synthese, id_area)
. - Intégration de TaxRef v16 et du référentiel de sensibilité associé pour les nouvelles installations de GeoNature
- Ăvolution de la gestion des fichiers statiques et des mĂ©dias (#2306) :
- SĂ©paration des fichiers statiques (applicatif, fournis par GeoNature) et des fichiers mĂ©dias (gĂ©nĂ©rĂ©s par lâapplications). Sont dĂ©placĂ©s du dossier
backend/static
vers le dossierbackend/media
les sous-dossiers suivants :medias
,exports
,geopackages
,mobile
,pdf
,shapefiles
. De plus, lâancien dossiermedias
est renomméattachments
. - Ajout des paramĂštres de configuration suivants :
ROOT_PATH = "dossier absolu du backend" STATIC_FOLDER = "static" # dossier absolu ou relatif Ă ROOT_PATH STATIC_URL = "/static" # URL dâaccĂšs aux fichiers statiques MEDIA_FOLDER = "media" # dossier absolu ou relatif Ă ROOT_PATH MEDIA_URL = "/media" # URL dâaccĂšs aux mĂ©dias
- Ajout dâun dossier
custom
à la racine de GeoNature et du paramÚtre associéCUSTOM_STATIC_FOLDER
. Les fichiers statiques réclamés sont cherchés en priorité dans le dossiercustom
, puis, si non trouvés, dans le dossierbackend/static
. Ainsi, si besoin de modifier un fichier statique, on placera un fichier du mĂȘme nom dans le dossiercustom
plutĂŽt que de modifier le fichier original (par exemple,custom/images/logo_structure.png
). Voir la documentation sur la customisation. - Retrait du préfixe
static/media/
aux chemins dâaccĂšs des fichiers joints (colonnegn_commons.t_medias.media_path
) - Retrait du préfixe
static/mobile/
aux chemins dâaccĂšs des APK des applications mobiles (colonnegn_commons.t_mobile_apps.relative_path_apk
) - Certains fichiers statiques sont renommés :
static/css/custom.css
âstatic/css/metadata_pdf_custom.css
- Certains assets du frontend sont déplacés vers les fichiers statiques du backend pour profiter du mécanisme du customisation :
frontend/src/assets/custom.css
âbackend/static/css/frontend.css
frontend/src/favicon.ico
âbackend/static/images/favicon.ico
frontend/src/custom/images/login_background.jpg
âbackend/static/images/login_background.jpg
frontend/src/custom/images/logo_sidebar.jpg
âbackend/static/images/logo_sidebar.jpg
frontend/src/custom/images/logo_structure.png
âbackend/static/images/logo_structure.png
- Le lien symbolique
static/images/logo_structure.jpg
est supprimĂ© au profit de lâutilisation delogo_sidebar.jpg
- Les déplacements mentionnés ci-dessus sont effectués par le script
migration.sh
- SĂ©paration des fichiers statiques (applicatif, fournis par GeoNature) et des fichiers mĂ©dias (gĂ©nĂ©rĂ©s par lâapplications). Sont dĂ©placĂ©s du dossier
- Mise à jour des dépendances :
- TaxHub 1.11.1
- UsersHub 2.3.3
- UsersHub-authentification-module 1.6.5
- Habref-api-module 0.3.2
- Nomenclature-api-module 1.5.4
- RefGeo 1.3.0
- Utils-Flask-SQLAlchemy 0.3.2
- Utils-Flask-SQLAlchemy-Geo 0.2.7
- Refonte des permissions et suppression de la vue
v_roles_permissions
qui posait des problĂšmes de performances du nombre dâutilisateurs (#2196 et #2360) - La recherche du fichier de configuration des modules sous le nom
{module_code}_config.toml
(code du module en minuscule) dans le rĂ©pertoire de configuration de GeoNature devient prioritaire devant lâutilisation du fichierconf_gn_module.toml
dans le répertoire de configuration du module.
Le script de mise à jour déplace les fichiers de configuration des modules vers le dossier centralisé de configuration de GeoNature (#2423) - Rechargement automatique de GeoNature quand on modifie un fichier de configuration d'un module dans l" dossier centralisé (#2418)
- Ăvolution de la configuration Apache
/etc/apache2/conf-available/geonature.conf
pour activer la compression gzip des rĂ©ponses de lâAPI (#2266) et pour servir les mĂ©dias et les fichiers statiques par Apache (#2430).
Ă reporter dans votre configuration Apache si celle-ci nâimporte pas cette configuration fournie par dĂ©faut. - Le script de mise Ă jour (
migration.sh
) peut prendre en argument le chemin vers lâancienne installation GeoNature.
Il peut sâagir du mĂȘme dossier que la nouvelle installation GeoNature (cas dâune mise Ă jour dâun dossier GeoNature avec Git). - Ajout dâune historisation des suppressions de la synthĂšse Ă travers un trigger peuplant la nouvelle table
gn_synthese.t_log_synthese
(#789)
Une API/synthese/log
permet dâobtenir lâhistorique des insertions, mises Ă jour et suppressions dans la synthĂšse (notamment utile pour GN2PG). - AmĂ©lioration de la commande
install-gn-module
qui dĂ©tecte dĂ©sormais automatiquement le code du module (#2396) - SynthĂšse : Optimisation de la requĂȘte par statuts de protection (#2329)
- Occtax : Optimisation des triggers de calcul automatique des altitudes pour ne les lancer que quand la géométrie du relevé est modifiée (#2137)
- Occtax et Occhab : Ajout d'une pastille indiquant le nombre de filtres activés
- Amélioration du message renvoyé à l'utilisateur en cas de Timout (#2417)
- Amélioration du composant générique de selection d'un jeu de données, en selectionnant automatiquement le JDD si la liste n'en contient qu'un et que le champs est obligatoire (#1049)
đ Corrections
- SynthĂšse : changement du type de
entity_source_pk_value
deInteger
ĂUnicode
dans le modĂšle pour correspondre Ă la base de donnĂ©es - Correction de lâaccĂšs public automatique activable avec
?access=public
dans lâURL (#1650) - Correction de la fonctionnalitĂ© de rĂ©cupĂ©ration du mot de passe
- Correction de la commande dâimport du rĂ©fĂ©rentiel sensibilitĂ© pour correctement gĂ©rer les critĂšres comportementales
- Occtax : correction du filtre sur les organismes
- SynthĂšse : correction dâun problĂšme de performance de lâexport (vue
v_synthese_for_export
) (#1434) - Correction dâun problĂšme de dĂ©tection de lâemplacement des modules avec les versions rĂ©centes de
pip
(#2365, #2364) - Occhab : correction du CRUVED sur la liste des jeux de données ouvert à la saisie
- Occtax : correction du contrĂŽle des dates du formulaire dâĂ©dition des relevĂ©s (#2318)
- Correction des acteurs dans les exports PDF des métadonnées (#2034)
- Correction des graphiques dans les exports PDF des cadres d'acquisition (#2231)
- Correction du script de synchronisation des métadonnées depuis MTD INPN (#2314)
- Correction de l'appel en double de la route des notifications (#2356)
- Correction de l'URL vers la documentation depuis la page d'accueil
- Correction du formulaire Occtax quand un relevé n'a pas d'
id_digitiser
(#2421) - Correction de l'affichage des tooltips sur la liste des obsrvations de la SynthĂšse (#2348)
- Correction du chargement des dates début et date fin quand on modifie un relevé dans Occtax ou une station dans OCchab (#2071)
- Correction de la récupération des emails dans l'interface "Mon compte" (#2346)
đ» DĂ©veloppement
- Suppression du support du paramĂštre
get_role
du décorateurcheck_cruved_scope
(#2162) - Suppression des paramĂštres
redirect_on_expiration
etredirect_on_invalid_token
du décorateurcheck_cruved_scope
(#2360) - Remplacement des usages du paramĂštre
get_role
du décorateurcheck_cruved_scope
parget_scope
dans le code de GeoNature et des modules contrib (#2164, #2199) - Suppression de multiples fonctions du package
geonature.core.gn_permissions.tools
, notamment la classeUserCruved
 ; se reporter Ă la documentation dĂ©veloppeur afin de connaĂźtre les fonctions utilisables dans votre code (#2360) - Migration GeoNature : le venv est mis Ă jour plutĂŽt que dâĂȘtre supprimĂ© et recrĂ©Ă© (#2332)
- Les erreurs de validation Marshmallow sont automatiquement converties en erreur 400 (BadRequest)
- Les modules contrib doivent Ă©galement ĂȘtre formatĂ©s avec
prettier
- Fiabilisation des exports PDF (#2232)
- Le composant de carte
pnx-map
a un nouvel inputgeolocation
permettant dâactiver le bouton de gĂ©olocalisation - Ajout du mixin
geonature.utils.schema.CruvedSchemaMixin
permettant dâajouter la propriĂ©tĂ© (exclue par dĂ©faut)cruved
Ă un schĂ©ma Marshmallow - LâaccĂšs aux paramĂštre de configuration ne se fait plus Ă partir des fichiers gĂ©nĂ©rĂ©s
AppConfig
(GeoNature) ouModuleConfig
(modules), mais uniquement Ă partir duConfigService
en charge de la récupération dynamique de la configuration (#2205). - Mise à jour d'Angular version 12 à 15 et mise à jour de nombreuses dépendances frontend (#2154)
- Nettoyage des dépendances frontend de GeoNature. Si vous utilisiez certaines dépendances supprimées de GeoNature dans vos modules, vous devez les rajouter dans un fichier
package-lock.json
dans le dossier frontend de votre module. - Suppression de la route obsolĂšte
/config
- Ajout du context manager
start_sentry_child
permettant de rapporter dans les traces Sentry le temps dâexĂ©cution de certaines tĂąches coĂ»teuses (#2289) - Refactorisation du module Occhab (#2324) avec passage Ă Marshmallow.
Ajout à cette occasion de plusieurs fonctions et classes utilitaires au dépÎt Utils-Flask-SQLAlchemy-Geo.
Suppression de la vuev_releve_occtax
.
Module de référence pour les développements et documentation associée (#2331) - Déplacement des routes géographiques et des tests associés vers le dépÎt RefGeo (#2342)
- Amélioration des tests des permissions
- La fonction
get_scopes_by_module
cherche dans le contexte applicatif (variableg
) la présence deg.current_module
etg.current_object
lorsquâils ne sont pas fournis en paramĂštre. - Travaux en cours : compatibilitĂ© SQLAlchemy 1.3 & 1.4 / Flask-SQLAlchemy 2 & 3 (#1812)
- Mise Ă jour de Chart.js de la version 2 Ă 4
- Possibilité de définir l'URL par défaut de la documentation d'un module par un entrypoint nommé
doc_url
đ Merci aux contributeurs
@ch-cbna / @bouttier / @TheoLechemia / @jpm-cbna / @bastyen / @Gaetanbrl / @VincentCauchois / @joelclems / @amandine-sahl
/ @andriacap / @mvergez / @DonovanMaillard / @dece / @lpofredc / @MathRdt / @gildeluermoz / @maximetoma / @pierre56 / @cecchi-a / @jbrieuclp / @camillemonchicourt