Releases: PnX-SI/UsersHub
Releases · PnX-SI/UsersHub
2.2.2
🐛 Corrections
- Complément de la documentation Apache pour préciser quand UsersHub est sur un sous-domaine (https://usershub.readthedocs.io/fr/latest/installation.html#installation-de-usershub-sur-un-sous-domaine) (#148)
- Correction de la configuration quand UsersHub est à la racine d'un sous-domaine (#148)
- Correction de la génération automatique de la documentation sur Read the Docs (https://usershub.readthedocs.io)
- Suppression de l'extension
Flask-Cors
et du paramètre associé (URLS_COR
) (#148) - Si le fichier
config/config.py
existe, alors on n'écrase plus ses valeurs à partir de celles du fichierconfig/settings.ini
quand on lance le scriptinstall_app.sh
, lors d'une mise à jour de UsersHub notamment
Si vous mettez à jour UsersHub :
- Vous pouvez supprimer le paramètre
URLS_COR
de votre fichierconfig/config.py
car celui-ci n'est plus utilisé
2.2.1
🚀 Nouveautés
- Le fichier de configuration Apache fourni par UsersHub n’est plus automatiquement activé ; il peut l’être manuellement avec la commande
a2enconf usershub
. - Une dépendance Alembic de la branche
usershub
vers la dernière révision de la brancheutilisateurs
permet d’obtenir automatiquement la dernière version du schémautilisateurs
avec la commandeflask db upgrade usershub@head
(tel que fait dans le scriptinstall_db.sh
).
2.2.0
🚀 Nouveautés
- Affichage des emails des utilisateurs dans les fiches des groupes (#133)
- Packaging de l’application UsersHub
- Passage de
supervisor
àsystemd
- Les logs de l’application se trouvent désormais dans le répertoire système
/var/log/usershub.log
- Les logs de l’application se trouvent désormais dans le répertoire système
- Ajout d'un template de configuration
Apache
- Gestion de la base de données et de ses évolutions avec Alembic déplacée dans le sous-module UsersHub-authentification-module
- 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
💻 Développement
- Ajout de UsersHub-authentification-module en temps que sous-module git
- Avec le passage à Alembic pour la gestion de la BDD, les fichiers SQL de création du schéma "utilisateurs" ont été déplacés dans le dépôt UsersHub-authentification-module et ils ne sont plus mis à jour à chaque nouvelle version, car ils sont désormais gérés par des migrations Alembic.
Si vous mettez à jour UsersHub :
- Suppression de
supervisor
:- Vérifier que UsersHub n’est pas lancé par supervisor :
sudo supervisorctl stop usershub2
- Supprimer le fichier de configuration de supervisor
sudo rm /etc/supervisor/conf.d/usershub-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 UsersHub n’est pas lancé par supervisor :
- Installer le paquet
python3-venv
nouvellement nécessaire :sudo apt install python3-venv
- Suivre la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
- Passage à
systemd
:- Le fichier
/etc/systemd/system/usershub.service
doit avoir été installé par le scriptinstall_app.sh
- Pour démarrer UsersHub :
sudo systemctl start usershub
- Pour activer UsersHub automatiquement au démarrage :
sudo systemctl enable usershub
- Le fichier
- Révision de la configuration Apache :
- Le script d’installation
install_app.sh
aura installé le fichier/etc/apache2/conf-available/usershub.conf
permettant de servir UsersHub sur le préfixe/usershub
. - Vous pouvez utiliser ce fichier de configuration soit en l’activant (
sudo a2enconf usershub
), soit en l’incluant dans la configuration de votre vhost (IncludeOptional /etc/apache2/conf-enabled/usershub.conf
). - Si vous gardez votre propre fichier de configuration et que vous servez UsersHub sur un préfixe (typiquement
/usershub
), 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/usershub.conf
.
- Le script d’installation
- Si vous n’utilisez pas GeoNature, vous devez appliquer les évolutions du schéma
utilisateurs
depuis UsersHub :- Se placer dans le dossier de UsersHub :
cd ~/usershub
- Sourcer le virtualenv de UsersHub :
source venv/bin/activate
- Indiquer à Alembic que vous possédez déjà la version 1.4.7 du schéma
utilisateurs
, UsersHub 2.1.3 et les données d’exemples :flask db stamp f63a8f44c969
- Appliquer les révisions du schéma
utilisateurs
:flask db upgrade utilisateurs@head
- Se placer dans le dossier de UsersHub :
2.1.3
🚀 Nouveautés
- Possibilité de définir une action spécifique à une application, à exécuter après la validation d'un compte utilisateur en attente, renseignée dans le nouveau champs
utilisateurs.temp_users.confirmation_url
(#115 par @jpm-cbna) - Passage du champs
bib_organismes.nom_organisme
de 100 à 500 caractères - Mise à jour des versions des librairies psycopg2 (2.8.5) et sqlalchemy (1.3.19) (par @jpm-cbna)
Si vous mettez à jour UsersHub :
- Pour passer le champs
bib_organismes.nom_organisme
à 500 caractères, exécuter en ligne de commande :
# Se connecter avec le superuser de la BDD (postgres)
sudo su postgres
# Se connecter à la BDD geonature2db (à adapter si votre BDD est nommée autrement)
psql -d geonature2db
# Exécuter la requête de mise à jour du champs
UPDATE pg_attribute SET atttypmod = 500+4
WHERE attrelid = 'utilisateurs.bib_organismes'::regclass
AND attname = 'nom_organisme';
# Quitter la commande SQL
\q
# Se déconnecter de l'utilisateur postgres
exit
- Exécuter le script de mise à jour de la BDD (https://github.com/PnX-SI/UsersHub/blob/2.1.3/data/update_2.1.2to2.1.3.sql)
- Suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
2.1.2
Nouveautés
- Mise à jour des librairies Javascript (Bootstrap 4.5.0, jQuery 3.5.0)
- Mise à jour de MarkupSafe de la version 1.0 à 1.1 (#103)
- Amélioration du template du formulaire de connexion
- Utilisation du
code_application
de valeurUH
dans la tableutilisateurs.t_applications
pour l'authentification, au lieu du paramètreID_APP
du fichierconfig/config.py
Corrections
2.1.1
Corrections
- Modification de l'écriture d'une contrainte d'unicité
- Modification de la méthode d'installation du virtualenv
- Utilisation de nvm pour installer node et npm (uniformisation avec GeoNature)
Notes de version
- Installez
pip3
etvirtualenv
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install virtualenv==20.0.1
- Exécuter le script de mise à jour de la BDD suivant: https://github.com/PnX-SI/UsersHub/blob/2.1.3/data/update_2.1.0to2.1.1.sql
- Suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
2.1.0
Nouveautés
- Ajout d'une API sécurisée de création de comptes utilisateurs depuis des applications tierces (création de roles et d'utilisateurs temporaires à valider, changement de mot de passe et des informations personnelles). Par @joelclems, @amandine-sahl, @jbrieuclp et @TheoLechemia #47
- Création des tables
temp_users
etcor_role_token
permettant de gérer de manière sécurisée les créations de compte et les changements de mot de passe. - Ajout d'une interface de gestion des utilisateurs temporaires
- Ajout d'un template générique (
generic_table.html
) pour la génération des tableaux utilisant l'héritage de template (block, extend) - Ajout d'un champs
champs_addi
au format jsonb dans les tablest_roles
ettemp_users
, permettant d'ajouter des informations diverses sur les utilisateurs, notamment lors d'une demande de création de compte depuis une application tierce (droits souhaités, validation d'une charte...) - Création d'index sur la table
t_roles
- Possibilité de nommer les attributs des modèles SQLAlchemy différemment des colonnes de la base de données
- Factorisation de la fonction
encrypt_password
- Mise à jour de Flask (1.0.2 à 1.1.1)
Corrections
- Ordonnancement des listes par ordre alphabétique (#81)
Notes de version
- Vous pouvez passer directement de la version 2.0.0 à la version 2.1.0, mais en suivant les notes de version intermédiaires.
- Exécuter le script de mise à jour de la BDD suivant: https://github.com/PnX-SI/UsersHub/blob/2.1.3/data/update_2.0.3to2.1.0.sql
- Si vous mettez à jour depuis la version 2.0.0, suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
2.0.3
Nouveautés
- Mise en place de logs rotatifs pour éviter de surcharger le serveur
Corrections
- Correction de l'enregistrement du formulaire des groupes qui passait automatiquement le champs
t_roles.active
àfalse
(#71) - Redirection de l'utilisateur si il n'a pas les droits suffisants pour accéder à une page
- Correction du script de migration 1.3.0to1.3.1.sql
- Correction de conflit d'authentification entre les différentes applications utilisant le sous-module d'authentification (MAJ du sous module en 1.3.2)
Note de version
- Afin que les logs de l'application (supervisor et gunicorn) soient tous écrits au même endroit, éditez le fichier
usershub-service.conf
(sudo nano /etc/supervisor/conf.d/usershub-service.conf
. A la lignestdout_logfile
, remplacer la ligne existante par :stdout_logfile = /home/<MON_USER>/usershub/var/log/errors_uhv2.log
(en remplaçant<MON_USER>
par votre utilisateur linux). - Vous pouvez également mettre en place un système de logs rotatifs (système permettant d'archiver les fichiers de log afin qu'ils ne surchargent pas le serveur) - conseillé si votre serveur a une capacité disque limitée. Créer le fichier suivant
sudo nano /etc/logrotate.d/uhv2
puis copiez les lignes suivantes dans le fichier nouvellement créé (en remplaçant<MON_USER>
par votre utilisateur linux)
/home/<MON_USER>/usershub/var/log/*.log {
daily
rotate 8
size 100M
create
compress
}
Exécutez ensuite la commande sudo logrotate -f /etc/logrotate.conf
- Suivez la procédure standard de mise à jour de UsersHub : https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application
2.0.2
Corrections
- Correction de la documentation
- Correction des versions du sous-module d'authentification
Notes de version
- Vous pouvez passer directement de la version 1.3.3 à la version 2.0.2, mais en suivant les notes de version de la 2.0.0.
- Si vous mettez à jour depuis la version 2.0.0, suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)
2.0.1
Corrections
- Corrections mineures de l'authentification et de la gestion des sessions
- Mise à jour des scripts de synchronisation du schéma
utilisateurs
entre BDD mère et BDD filles (data/synchro_interbase_fille.sql
etdata/synchro_interbase_mere.sql
). A tester et finaliser.
Notes de version
- Vous pouvez passer directement de la version 1.3.3 à la version 2.0.1, mais en suivant les notes de version de la 2.0.0.
- Si vous mettez à jour depuis la version 2.0.0, suivez la procédure classique de mise à jour (https://usershub.readthedocs.io/fr/latest/installation.html#mise-a-jour-de-l-application)