Skip to content

Releases: PnX-SI/UsersHub

2.2.2

22 Dec 15:44
66c0ba3
Compare
Choose a tag to compare

🐛 Corrections

⚠️ Notes de version

Si vous mettez à jour UsersHub :

  • Vous pouvez supprimer le paramètre URLS_COR de votre fichier config/config.py car celui-ci n'est plus utilisé

2.2.1

30 Sep 14:37
Compare
Choose a tag to compare

🚀 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 branche utilisateurs permet d’obtenir automatiquement la dernière version du schéma utilisateurs avec la commande flask db upgrade usershub@head (tel que fait dans le script install_db.sh).

2.2.0

29 Sep 15:12
Compare
Choose a tag to compare

🚀 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
  • 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

⚠️ Notes de version

  • 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
  • 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 script install_app.sh
    • Pour démarrer UsersHub : sudo systemctl start usershub
    • Pour activer UsersHub automatiquement au démarrage : sudo systemctl enable usershub
  • 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 directives ProxyPass et ProxyPassReverse comme c’est le cas dans le fichier /etc/apache2/conf-available/usershub.conf.
  • 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

2.1.3

29 Sep 11:58
0f7b580
Compare
Choose a tag to compare

🚀 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)

⚠️ Notes de version

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

2.1.2

17 Jun 15:02
5ddadc9
Compare
Choose a tag to compare

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 valeur UH dans la table utilisateurs.t_applications pour l'authentification, au lieu du paramètre ID_APP du fichier config/config.py

Corrections

  • Correction de l'affichage des fiches "Organisme" (#90)
  • Correction de la documentation d'installation (par @lpofredc)

2.1.1

12 Feb 16:37
Compare
Choose a tag to compare

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 et virtualenv
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install virtualenv==20.0.1

2.1.0

17 Sep 13:51
Compare
Choose a tag to compare

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 et cor_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 tables t_roles et temp_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

2.0.3

27 Feb 16:34
81aa5da
Compare
Choose a tag to compare

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 ligne stdout_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

2.0.2

18 Jan 15:22
3323eec
Compare
Choose a tag to compare

Corrections

  • Correction de la documentation
  • Correction des versions du sous-module d'authentification

Notes de version

2.0.1

18 Jan 15:03
53dc127
Compare
Choose a tag to compare

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 et data/synchro_interbase_mere.sql). A tester et finaliser.

Notes de version