Releases: PnX-SI/UsersHub
Releases · PnX-SI/UsersHub
2.0.0
Refonte complète de l'application en Python / Flask / Bootstrap 4.
Pas de mécanisme de synchronisation de BDD filles disponible pour le moment.
Nouveautés
- Suppression de la notion de droits à 6 niveaux (trop restrictive)
- Intégration de la notion de profils personalisables pour chaque application
- Mise en place d'une API pour pouvoir interroger et implémenter UsersHub depuis des applications tiers (#47)
- Simplification globale du MCD pour déporter la complexité côté metier et se rapprocher d'une application UsersHub type CAS
- Suppression des tags trop génériques (#28)
- Suppression du CRUVED, réintegré dans GeoNature (28#issuecomment-440293296)
- Création de vues assurant la rétrocompatibilité avec d'autres applications utilisant le modèle de la version 1 de UsersHub
- Création de fiches d'information permettant de faire une synthèse rapide par utilisateur, groupes, organisme ou application
- Ménage et ajouts de champs dans les tables
t_role
(suppression denom_organisme
),bib_organimses
(ajouturl_organisme
eturl_logo
) ett_applications
(code_application
#54) - Automatisation de l'installation et révision du script
install_app.sh
- Contrôle de la cohérence entre les champs
pass
etpass_plus
- Possibilité de ne pas utiliser le champs
pass
(md5) si on ne l'utilise pas pour renforcer la sécurité du contenu - Développement de pages d'information par utilisateur, groupe, organisme, liste et application
Notes de versions
Pour mettre à jour UsersHub depuis la version 1, il s'agit d'une nouvelle installation et d'une migration des données vers le nouveau modèle de BDD.
- Pour migrer depuis la version 1.3.3, suivez la documentation spécifique de migration (https://usershub.readthedocs.io/fr/latest/migration-v1v2.html)
- Pas de migration disponible depuis la version 2.0.0-beta.1
1.3.3
Corrections
- Suppression d'enregistrements de
cor_role_droit_application
inutiles install_app.sh
: Suppression de messages portant à confusion
1.3.2
2.0.0-beta.1
Refonte totale de l'application en Python, Flask, Jinja, Bootstrap, Jquery. Par @Laumond11u.
- Rapport de stage : http://geonature.fr/documents/2018-06-usershub-v2-rapport-stage-Gabin-Laumond.pdf
- Présentation de stage : http://geonature.fr/documents/2018-06-usershub-v2-soutenance-stage-Gabin-Laumond.pdf
Attention, version beta à ne pas utiliser en production.
Nouveautés
- Interface de gestion des tags et de leurs types
- Interface de gestion des CRUVED
- Fiche rôle permettant d'afficher le détail des groupes, tags et CRUVED d'un rôle (utilisateur ou groupe)
- Fiche organisme permettant d'afficher le détail des membres et tags d'un organisme
- Suppression de tables (
t_menus
,bib_droits
,cor_role_menu
) et création de vues avec le même nom pour garder la compatibilité des applications basées sur UsersHub v1 - Table
cor_role_droit_application
remplacée parcor_role_tag_application
- Compléments des données minimales (tags, types de tags...)
- Modification de la vue
v_useraction_forall_gn_modules
qui retourne le CRUVED d'un utilisateur pour pouvoir aussi récupérer le CRUVED d'un groupe
Note de version
- Version beta à ne pas utiliser en production
- Installation : #35
- Exécuter le script de mise à jour de la BDD https://github.com/PnX-SI/UsersHub/blob/2.1.3/data/update_1.3.1to2.sql (attention il ne migre pas encore les données UsersHub V1)
- Renseigner les fichiers
settings.ini
etconfig.py
à partir des samples
1.3.1
Nouveautés
- Préparation dans la BDD d'une future version 1.4.0 (dont les extensions sont utilisées dans le développement de GeoNature2) :
- Intégration d'un mécanisme générique d'étiquettes (tags) permettant une gestion des droits par actions sur des objets. Ce mécanisme permet aussi d'affecter des étiquettes à des roles, des organismes ou des applications. Il permet également de gérer la notion de portée des actions sur différentes étendue de données (mes données seulement, celles de mon organisme, toutes les données)
- Intégration d'une hiérarchie entre applications et organismes (
id_parent
) - Pour le moment, ces extensions du modèle ne concernent que la base de données et pas l'interface de l'application
- Mise en paramètre du cost de l'algorithme de cryptage bcrypt
- Configuration Apache dans un fichier dédié
usershub.conf
, comme TaxHub et GeoNature-atlas
Corrections
- Ajout du
pass_plus
dans toutes les vues - Correction de l'installation (localisation du
config.php
) - Ajout d'une vue manquante et nécessaire au sous-module d'authentification
- Interdire la création d'utilisateur avec l'organisme 0 (= ALL = tous les organismes). Utilisé dans GeoNature2 pour définir des paramètres applicables à tous les organismes
Notes de version
- Ajouter le paramètre
$pass_cost
dans leconfig/config.php
et lui donner une valeur éventuellement différente. Plus la valeur est importante, plus le temps de calcul de hashage du mot de passe est important - Exécuter le script de mise à jour de la la BDD (https://github.com/PnX-SI/UsersHub/blob/2.1.3/data/update1.3.0to1.3.1.sql)
- Reporter les modifications dans les bases filles
- Facultatif : revoir la configuration Apache qui est maintenant dans un fichier
usershub.conf
(voir la doc). Ne pas oublier de supprimer le lien symbolique dans/var/www/html
1.3.0
Changements
- Mise en paramètre du port PostgreSQL pour l'installation initiale
- Intégration d'UUID pour les organismes et les roles afin de permettre des consolidations de bases utilisateurs
- Intégration d'un mécanisme d'authentification plus solide à base de hachage du mot de pass sur la base de l'algorithme
bcrypt
. L'ancien mécanisme encodé en md5 (champpass
) reste utilisable. Attention ceci ne concerne que l'authentification à UsersHub. Pour utiliser le hash dans d'autres applications, il faudra modifier les applications concernées et utiliser le nouveau champpass_plus
à la place du champpass
. - Création d'un formulaire permettant aux utilisateurs de mettre à jour leur mot de passe et de générer le nouveau hachage du mot de passe (http://mondomaine.fr/usershub/majpass.php).
Notes de version
- Les modifications de la BDD (ajout champ
pass_plus
notamment) doivent concerner la BDD principale de UsersHub (BDD mère) mais aussi toutes les BDD filles inscrites dans le fichierdbconnexions.json
. Pour cela 2 scripts sont proposés : https://github.com/PnX-SI/UsersHub/blob/2.1.3/data/update_mère_1.2.1to1.3.0.sql et https://github.com/PnX-SI/UsersHub/blob/2.1.3/data/update_filles_1.2.1to1.3.0.sql. - Synchroniser les UUID vers les BDD filles. Le script SQL appliqué sur la BDD mère va générer des UUID pour chaque utilisateur et organisme. S'il était appliqué sur les BDD filles, les UUID générés seraient différents de ceux de la BDD mère. Il faut donc les générer une seule fois dans la BDD mère, puis les copier dans les BDD filles. Pour cela, après s'être authentifié dans UsersHub il suffit de lancer le script
web/sync_uuid.php
: http://mondomaine.fr/usershub/sync_uuid.php. ATTENTION, ce script utilise le fichierdbconnexions.json
pour boucler sur les BDD filles, il ne fonctionnera que si vous avez préalablement mis à jour toutes les BDD filles inscrites dansdbconnexions.json
. - Créer le fichier
config/config.php
à partir du fichierconfig/config.php.sample
et choisissez le mécanisme d'authentification à UsersHub que vous souhaitez mettre en place, ainsi que la taille minimale des mots de passe du nouveau champspass_plus
. Il est conseillé de conserver le mot de passepass
(encodé en md5) le temps de mettre à jour les mots de passe des utilisateurs de UsersHub. - Générer le hash des mots de passe, au moins pour les utilisateurs de UsersHub. Il existe trois manières de le faire :
- lors de l'authentification de l'utilisateur, le hash du mot de pass qu'il vient de saisir est généré dans le champ
pass_plus
. - en re-saisissant le passe des utilisateurs dans le formulaire
utilisateur
. - lors de la création d'un nouvel utilisateur, le hash est également généré (ainsi que le md5).
- il n'est pas possible de générer le hash du mot de passe des utilisateurs existant à partir du mot de pass enregistré dans le champ
pass
(encodé en md5). Pour cela, diffusez le formulairemajpass.php
qui permet aux utilisateurs de mettre à jour leur mot de passe et de générer le hash (ainsi que de mettre à jour le md5) avec l'adresse : http://mondomaine.fr/usershub/majpass.php
- lors de l'authentification de l'utilisateur, le hash du mot de pass qu'il vient de saisir est généré dans le champ
1.2.2
Changements
- Correction du script SQL (remplacement de SELECT par PERFORM)
- Mise à jour du fichier
settings.ini.sample
pour prendre en compte le port - Suppression de la référence au host databases (retour à localhost)
Notes de version
- Les modifications réalisée concerne une première installation, vous n'avez aucune action particulière à réaliser.
1.2.1
Changements
- Gestion plus fine des erreurs dans le script SQL de création du schéma
utilisateurs
, afin de pouvoir éxecuter le script sur une BDD existante - Gestion des notices PHP
- Suppression d'une table inutile (
utilisateurs.bib_observateurs
) - Correction de l'URL du logo du PNE
- Mise à jour du fichier
web/js/settings.js.sample
- Documentation - Ajout d'une FAQ et mise en forme
Notes de version
- Si vous mettez à jour l'application depuis la version 1.2.0, exécutez le script https://github.com/PnX-SI/UsersHub/blob/2.1.3/data/update1.2.0to1.2.1.sql qui supprime la table inutile
bib_observateurs
.
1.2.0
Changements
- Compatibilité avec TaxHub accrue
- Bugfix
- Distinction groupe/utilisateurs dans les listes d'utilisateurs.
- Dépersonnalisation de la page de login et du bandeau.
- Désactivation de l'autoremplissage par défaut du mail de l'utilisateur. Reste possible mais optionnel.
- Tri par ordre alphabétiques des listes déroulantes.
1.1.2
Changements
- Prise en compte de TaxHub en tant qu'application à part entière avec ses utilisateurs et leurs droits.