I’m a bit confused as to how the visibility of automatic groups works. At this point, I am just talking about the /groups directory.
Here is what I am seeing in a pretty fresh install of 2.7.0.beta4:
If an user with admin or moderator bits looks at /groups, they see all 8 automatic groups (admins, moderators, staff, trust_level_[0-4]).
If a non-admin, non-moderator user (no matter the trust_level) looks at /groups, they see only the moderators group.
But, all of these groups have the same, default Visibility settings:
Who can see this group? Logged on users
Who can see this group’s members? Everyone
Is this how it is supposed to work? Or is there something wrong with the handling of the Visibility parameters for these groups?
What the code is doing is overriding the group visibility settings for automatic groups when the groups page is viewed by a non-staff users. Only the moderators group will be displayed.
Unrelated to the issue, but when I tried to onebox the Github link that I posted above, the code was displayed in the onebox without any formatting in the preview:
Eh bien, cela l’explique. Et je suis sûr que ce code a été écrit avec les meilleures intentions, mais il est défectueux car :
Peut-être que je veux que d’autres groupes automatiques (outre les Modérateurs) soient visibles.
L’interface de gestion des groupes automatiques me permet de définir la visibilité des groupes automatiques non-Modérateurs, mais ce paramètre est ignoré.
Il serait assez facile de supprimer simplement ce bloc de code (et l’erreur typographique mignonne qui a survécu ces 6 dernières années).
La chose délicate, si l’on pensait que c’était nécessaire, serait de changer le paramètre de visibilité actuel pour les groupes automatiques en « Propriétaires du groupe » afin que ces groupes n’apparaissent pas par inadvertance pour toutes les installations qui sont habituées à ce qu’ils soient forcés d’être invisibles. Je ne sais pas si Discourse dispose d’un mécanisme pour apporter de tels changements lors d’une mise à niveau — mais c’est le genre de chose dont on a besoin lors des changements de schéma, il doit donc y avoir quelque chose.
De plus : ce comportement « cachons simplement les groupes automatiques dans le catalogue de groupes malgré le paramètre de visibilité » est mauvais car il occulte les autres aspects de visibility_level qui ont encore un sens. Par exemple :
L’administrateur X essaie les paramètres de visibilité et réalise que les utilisateurs non-membres du personnel ne peuvent pas voir trust_level_0 dans le catalogue de groupes, quoi qu’il arrive.
Donc… l’administrateur X laisse visibility_level et member_visibility_level réglés sur « Tout le monde », puisque ces paramètres ne semblent avoir aucun effet.
L’utilisateur anonyme Z navigue vers /groups/trust_level_0 et récupère une liste de tous les utilisateurs sur le site.
Peut-être que l’administrateur X s’en soucie, peut-être pas, mais dans tous les cas, l’administrateur X serait surpris que ce soit possible.
Faits amusants non pertinents que j'ignorais jusqu'à maintenant
Répartition des utilisateurs de meta.discourse par niveau de confiance :