Discussion dédiée sur le forum.
La gestion des utilisateurs a été profondément modifiée en branche 1.4. L’objectif était alors de permettre la gestion d’une grande quantité d’utilisateurs. Ce cas se présente lorsque l’authentification est externalisée dans un forum par exemple. Certaines fonctionnalités ont disparu dans la phase de développement, puis réapparu suite aux nombreuses réactions dans les 1.4.0RC* (Release Candidates pour la version initiale de la branche 1.4).
Cette spécification présente les évolutions à prévoir pour la branche 1.5 concernant la gestion des groupes et des utilisateurs. L’objectif est de rendre plus simple et intuitive la gestion des utilisateurs.
Avertissement : les captures d’écran montrent qu’une partie des développements a déjà été réalisée, disponible en BSF depuis la build 200505110021. Malgré des développements déjà réalisés, il est tout à fait possible de revenir en arrière.
En branche 1.4, par défaut, la création d’un nouvel utilisateur prend pour modèle les propriétés définies pour les utilisateurs non connecté, voir écran [Administration » Configuration » Affichage par défaut]. Depuis l’interface d’administration, il doit être possible de choisir n’importe quel utilisateur pour modèle. Ainsi, les propriétés d’affichage, l’appartenance aux groupes, les permissions seront héritées.
Il existe un bogue en branche 1.4 qui laisse croire qu’on peut changer le nom d’un utilisateur, alors qu’en fait, c’est impossible. Le changement de nom d’utilisateur doit être possible dans la partie administration, mais clairement impossible dans la partie publique.
La liste des utilisateurs a été (re)développée rapidement pour contenter les réclamations justifiées des testeurs sur la 1.4.0RC1. En effet, cette fonctionnalité avait momentanément disparu par rapport à la branche 1.3 qui proposait une liste sommaire des utilisateurs.
Possibilité de filtrer la liste selon plusieurs critères :
La liste en elle-même présente :
Les propriétés des utilisateurs (nombre de lignes par page, nombre de miniatures par ligne, période récente, template, langue...) sont modifiables par lot : plusieurs utilisateurs en même temps. Les modifications s’appliquent à tous les utilisateurs, ou uniquement à ceux sélectionnés dans la liste.
Par exemple, en 2 clics de souris, pouvoir faire utiliser le template “wood” à tous les utilisateurs enregistrés. Combiné avec les possibilités de filtre de la liste, il devient simple et rapide d’appliquer des propriétés aux utilisateurs d’un groupe particulier.
Possibilité de lier/délier une liste d’utilisateurs à un groupe, en utilisant une sélection dans la liste affichée ou en applicant à tous les utilisateurs. Cette possibilité remplace l’ajout/suppression des utilisateurs à un groupe géré dans l’écran [Administration » Identification » Groupes] car plus simple et plus puissante.
Possibilité de supprimer une liste d’utilisateurs sélectionnés. La suppression d’utilisateur étant une action irréversible, un message d’avertissement doit permettre d’éviter les accidents.
L’évolution importante des possibilités offertes par l’écran [Administration » Identification » Utilisateurs] permet de simplifier les écrans associés :
Afin de simplifier une gestion commune avec un autre module php tel qu’un forum, il est nécessaire de séparer dans la base de données les tables users et user_preference. Par défaut, PWG utiliserait sa table user. Mais en paramétrant PWG différemment (ou par l’installation d’un mod simple), PWG utiliserait la table users d’un autre module php.
Ce transfert de la gestion des utilisateurs pourrait se faire par un mapping des champs des deux tables users (id, username, password, mail_address).