Releases: PnX-SI/TaxHub
1.10.2
1.10.1
1.10.0
🚀 Nouveautés
- Passage à la version 15 de Taxref ainsi que de la BDC statuts, utilisée par défaut pour les nouvelles installations (#322)
- Mise en place de scripts python pour la mise à jour de Taxref à partir de sa version 15, dans le dossier
apptax/taxonomie/commands/migrate_to_v15
, à la place des scripts shell (#322) - Ajout de l'option
--keep-cdnom
aux scripts de mise à jour de Taxref, pour empêcher la suppression des cd_noms manquants (#306) - Ajout du champs
group3_inpn
, ajouté dans la v15 de Taxref - Ajout des API pour les statuts de protection et de listes rouges (#291)
- Ajout d'une table d'association entre les statuts et le référentiel géographique
taxonomie.bdc_statut_cor_text_area
. L'association entre les textes et les statuts est réalisée lorsque le texte est associé à une région ou un département (#323) - Possibilité de passer des paramètres de configuration par variable d’environnement préfixée par
TAXHUB_
- Fichiers de log :
- Les logs sont à présent écrits dans le fichier
/var/log/taxhub/taxhub.log
- L’outil
logrotate
est configuré pour assurer la rotation du fichier - L’ancien fichier de log
/var/log/taxhub.log
est intouché; vous pouvez le supprimer, ou l’archiver manuellement.
- Les logs sont à présent écrits dans le fichier
- Mise à jour des dépendances :
- Utils-Flask-SQLAlchemy 0.3.0
- UsersHub-authentification-module 1.6.0
- RefGeo 1.1.1
🐛 Corrections
- Correction d’un problème lié au double-chargement de Flask en mode développement.
- Correction d’un problème au démarrage de Flask lorsque la base de données n’a pas encore été créée.
💻 Développement
- Exécution automatique des tests backend avec Github actions
- Le code est désormais formaté avec Black; une Github action y veille
- Mise à jour de Flask version 1 à 2
- Migrations Alembic : possibilité de rendre l'intégration de la BDC statuts optionnelle
- Ajout de la dépendance au module RefGeo
- Suppression des exemples de taxons (
taxonomie_taxons_example.sql
ettaxonomie_attributes_example.sql
) - Création de commandes pour l'insertion des données du référentiel, hors Alembic (#333)
-
Les branches Alembic
taxonomie_inpn_data
,taxonomie_taxons_example
ettaxonomie_attributes_example
ont été supprimées. Après avoir mis à jour TaxHub en version 1.10, vous devez supprimer toutes références à ces dernières, sans quoi Alembic vous indiquera qu’il ne connait pas certains numéros de révision :cd /home/myuser/taxhub/ source venv/bin/activate (venv)$ flask db exec "delete from public.alembic_version where version_num in ('f61f95136ec3', 'aa7533601e41', '8222017dc3f6')"
-
Si vous n’utilisez pas GeoNature, vous devez appliquer les évolutions du schéma
taxonomie
depuis TaxHub :- Se placer dans le dossier de TaxHub :
cd ~/taxhub
- Sourcer le virtualenv de TaxHub :
source venv/bin/activate
- Appliquer les révisions du schéma de la base de données :
flask db autoupgrade
- Se placer dans le dossier de TaxHub :
-
Sinon le faire depuis GeoNature
(venv)$ geonature db autoupgrade
, après la mise à jour de ce dernier en version 2.10 -
La mise à jour de la version 14 à 15 de Taxref est désormais réalisée par des scripts python, disponibles dans le dossier
apptax/taxonomie/commands/migrate_to_v15
-
Les mises à jour précédentes de Taxref jusqu'à la version 14 restent disponibles dans le dossier
data/scripts/update_taxref
-
Il est possible d'installer TaxHub avec Taxref v14. Pour cela il faut utiliser les commandes suivantes :
flask db upgrade taxonomie@head flask taxref import-v14 --skip-bdc-statuts flask db upgrade taxhub-admin@head
1.9.4
🐛 Corrections
- Ordonnancement de la route
/allnamebylist
par identifiant quand aucunsearch_name
ne lui est passé en paramètre (pour ordonner les résultats paginés utilisés par Occtax-mobile)
💻 Développement
- Utilisation du paramètre
page
de Flask à la place du paramètre maisonoffset
pour la pagination des routes - Possibilité d'utiliser le fichier
config.py
dans les variables d'environnement - Ajout du fichier de configuration
apptax/test_config.py
pour les tests automatisés - Changement du code http 500 en 400 quand l'
id_liste
de la route/allnamebylist
n'est pas trouvé
1.9.3
1.9.2
🚀 Nouveautés
- Ajout des champs
licence
etsource
dans le formulaire d'édition (#151) - Amélioration de quelques routes
🐛 Corrections
- Correction du chemin des médias qui empêchait la récupération des vignettes
- Correction de la génération de la documentation sur Readthedocs
- Correction de la variable
SCRIPT_NAME
(#295) - Suppression de la documentation de l'API qui était cassée
Si vous mettez à jour TaxHub :
-
Vous devez modifier le fichier de configuration
apptax/config.py
:- Supprimer les lignes suivantes :
# File import os # A SUPPRIMER BASE_DIR = os.path.abspath(os.path.dirname(__file__)) # A SUPPRIMER
- Si vous l'aviez renseigné dans votre configuration, modifier le paramètre
UPLOAD_FOLDER = 'static/medias'
enUPLOAD_FOLDER = 'medias'
1.9.1
1.9.0
🚀 Nouveautés
- Packaging de l’application TaxHub
- Passage de
supervisor
àsystemd
- Les logs de l’application se trouvent désormais dans le répertoire système
/var/log/taxhub.log
- Les logs de l’application se trouvent désormais dans le répertoire système
- Ajout d’un template de configuration Apache et révision de la documentation sur le sujet
- Gestion de la base de données et de ses évolutions avec Alembic
- Possibilité d’installer le schéma
taxonomie
avec Alembic sans passer par une application Flask telle que TaxHub - Ajout de fonctions permettant la recherche du cd_nom ou cd_ref à partir d'un nom latin (
match_binomial_taxref
), et permettant de vérifier si une valeur est bien un cd_ref existant (check_is_cd_ref
) (par @DonovanMaillard) - Ajout d'une fonction
find_all_taxons_parents(cd_nom)
retournant les cd_nom de tous les taxons parents d'un cd_nom (par @DonovanMaillard) - Ajout de la vue
v_bdc_status
(par @jpm-cbna) - Suppression de
ID_APP
du fichier de configuration (auto-détection depuis la base de données) - Mise à jour de UsersHub-authentification-module en version 1.5.3
- Mise à jour de Utils-Flask-SQLAlchemy en version 0.2.4
🐛 Corrections
- Corrections pour servir TaxHub sur un préfixe (typiquement
/taxhub
) - Correction des scripts pour mettre à jour TAXREF (#274 et #283)
- Correction de la valeur par défaut du champs
taxonomie.bib_listes.id_liste
(#275)
- Avec le passage à Alembic pour la gestion de la BDD, les fichiers SQL de création du schéma
taxonomie
ont été déplacés dansapptax/migrations/data/
et ils ne sont plus mis à jour à chaque nouvelle version, car ils sont désormais gérés par des migrations Alembic.
Pour mettre à jour TaxHub :
-
Suppression de
supervisor
:- Vérifier que TaxHub n’est pas lancé par supervisor :
sudo supervisorctl stop taxhub
- Supprimer le fichier de configuration de supervisor
sudo rm /etc/supervisor/conf.d/taxhub-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
- Vérifier que TaxHub n’est pas lancé par supervisor :
-
Installer le paquet
python3-venv
nouvellement nécessaire :sudo apt install python3-venv
-
Déplacer le fichier de configuration
config.py
situé à la racine de TaxHub dans le sous-dossierapptax
-
Suivre la procédure standard de mise à jour de TaxHub : https://taxhub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application
-
Si vous servez TaxHub sur un préfixe (e.g.
/taxhub
), rajouter dansconfig.py
le paramètre suivant :APPLICATION_ROOT = '/taxhub'
-
Passage à
systemd
:- Le fichier
/etc/systemd/system/taxhub.service
doit avoir été installé par le scriptinstall_app.sh
- Pour démarrer TaxHub :
sudo systemctl start taxhub
- Pour activer le lancement automatiquement de TaxHub au démarrage :
sudo systemctl enable taxhub
- Le fichier
-
Révision de la configuration Apache :
- Le script d’installation
install_app.sh
aura installé le fichier/etc/apache2/conf-available/taxhub.conf
permettant de servir TaxHub sur le préfixe/taxhub
. - Vous pouvez utiliser ce fichier de configuration soit en l’activant (
sudo a2enconf taxhub
), soit en l’incluant dans la configuration de votre vhost (Include /etc/apache2/conf-available/taxhub.conf
). - Si vous gardez votre propre fichier de configuration et que vous servez TaxHub sur un préfixe (typiquement
/taxhub
), assurez vous que ce préfixe figure bien également à la fin des directivesProxyPass
etProxyPassReverse
comme c’est le cas dans le fichier/etc/apache2/conf-available/taxhub.conf
. - Si vous décidez d’utiliser le fichier fourni, pensez à supprimer votre ancienne configuration apache (
sudo a2dissite taxhub && sudo rm /etc/apache2/sites-available/taxhub.conf
).
- Le script d’installation
-
Si vous n’utilisez pas GeoNature, vous devez appliquer les évolutions du schéma
taxonomie
depuis TaxHub :- Se placer dans le dossier de TaxHub :
cd ~/taxhub
- Sourcer le virtualenv de TaxHub :
source venv/bin/activate
- Indiquer à Alembic que vous possédez déjà la version 1.8.1 du schéma
taxonomie
et les données d’exemples :flask db stamp 3fe8c07741be
- Indiquer à Alembic que vous possédez les données INPN en base :
flask db stamp f61f95136ec3
- Appliquer les révisions du schéma
taxonomie
:flask db upgrade taxonomie@head
- Se placer dans le dossier de TaxHub :
1.8.1
🐛 Corrections
- Correction de la migration Taxref v11 vers v13 pour les versions de PostgreSQL < 12
- Vous pouvez passer directement à cette version, mais en suivant les notes des versions intermédiaires
1.8.0
🚀 Nouveautés
- Passage à la version 14 de Taxref, utilisée par défaut pour les nouvelles installations
- Intégration du référentiel BDC statuts (https://inpn.mnhn.fr/telechargement/referentielEspece/bdc-statuts-especes), peuplé lors du passage à Taxref v14. Pour des raisons de compatibilité avec GeoNature les anciens statuts de protection et les listes rouges sont toujours présents (#157)
- Support du stockage des medias sur les services de stockages S3 (#248 par @jbdesbas)
- Ajout d'un champs
code_liste
dans la tabletaxonomie.bib_listes
pour utiliser des codes plutôt que des identifiants et faciliter l'interopérabilité des données entre outils - Ajout d'un paramètre
fields
à la route/taxref/search/
afin de pouvoir récupérer dans la réponse des champs supplémentaires selon les besoins (#243) - Recherche non sensible aux accents pour la route
allnamebylist
- Mise à jour de AngularJS en version 1.8.0
- Mise à jour de différentes dépendances Python
🐛 Corrections
- Correction de la génération des vignettes des images
- Exécuter la commande suivante pour ajouter l'extension PostgreSQL
unaccent
, en remplaçant la variable$db_name
par le nom de votre BDD :sudo -n -u postgres -s psql -d $db_name -c 'CREATE EXTENSION IF NOT EXISTS "unaccent";'
- Exécutez le script SQL de mise à jour de la BDD (https://github.com/PnX-SI/TaxHub/blob/master/data/update1.7.3to1.8.0.sql)
- Suivez la procédure standard de mise à jour de TaxHub : https://taxhub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application
- Vous pouvez exécuter la mise à jour vers Taxref v14, en suivant la procédure et les scripts dédiés (https://github.com/PnX-SI/TaxHub/tree/master/data/scripts/update_taxref). Cela peuplera aussi la BDC statuts.
- Pour des raisons de compatibilité avec GeoNature, laissez les
code_liste
au format numérique pour le moment