Come funziona la visibilità dei gruppi automatici?

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?

5 Mi Piace

There is a comment in the code that explains what is going on: “hide automatic groups from all non stuff to de-clutter page.” That happens here: discourse/app/controllers/groups_controller.rb at main · discourse/discourse · GitHub.

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:

3 Mi Piace

Beh, questo lo spiega. E sono sicuro che quel codice sia stato scritto con le migliori intenzioni, ma è rotto perché:

  1. Forse voglio che altri gruppi automatici (oltre ai Moderatori) siano visibili.
  2. L’interfaccia di gestione per i gruppi automatici mi permette di impostare la visibilità dei gruppi automatici non Moderatori, ma questa impostazione viene ignorata.

Sarebbe abbastanza facile eliminare quel blocco di codice (e l’adorabile errore tipografico che è sopravvissuto negli ultimi 6 anni).

La cosa complicata, se si pensasse che fosse necessaria, sarebbe cambiare l’attuale impostazione di visibilità per i gruppi automatici in “Proprietari del gruppo” in modo che questi gruppi non appaiano inavvertitamente per tutte le installazioni che sono abituate al fatto che siano forzatamente invisibili. Non so se Discourse abbia qualche tipo di meccanismo per apportare tali modifiche durante un aggiornamento — ma è il tipo di cosa di cui si ha bisogno durante le modifiche allo schema, quindi deve esserci qualcosa.

Inoltre: questo comportamento “nascondiamo semplicemente i gruppi automatici nel catalogo dei gruppi nonostante l’impostazione di visibilità” è negativo perché oscura gli altri aspetti di visibility_level che sono ancora significativi. Ad esempio:

  • L’amministratore X prova le impostazioni di visibilità e si rende conto che gli utenti non staff non possono vedere trust_level_0 nel catalogo dei gruppi, indipendentemente da ciò.
  • Quindi… l’amministratore X lascia visibility_level e member_visibility_level impostati su “Tutti”, poiché tali impostazioni non sembrano avere alcun effetto.
  • L’utente anonimo Z naviga su /groups/trust_level_0 e ottiene un elenco di tutti gli utenti sul sito.

Forse all’amministratore X interessa, forse no, ma in ogni caso l’amministratore X sarebbe sorpreso che fosse possibile.

Fatti divertenti irrilevanti che non conoscevo prima

Distribuzione degli utenti di meta.discourse per livello di fiducia:

Livello # utenti
TL0 45.942
TL1 29.226
TL2 3.620
TL3 124
TL4 102

Ciao mdoggydog :slight_smile:

Alcuni punti mi sembrano validi, come:

Il che è confuso.

Ti invito a creare un argomento Feature con i tuoi suggerimenti :slight_smile:

Fatto!

2 Mi Piace

Conversazione continuata in: Respect the visibility settings of all automatic groups