Come funziona la visibilità dei gruppi automatici?

Sono un po’ confuso sul funzionamento della visibilità dei gruppi automatici. Al momento, mi riferisco solo alla directory /groups.
Ecco cosa osservo in una installazione abbastanza recente di 2.7.0.beta4:

  • Se un utente con privilegi di amministratore o moderatore visualizza /groups, vede tutti gli 8 gruppi automatici (admins, moderators, staff, trust_level_[0-4]).
  • Se un utente non amministratore e non moderatore (indipendentemente dal trust_level) visualizza /groups, vede solo il gruppo moderators.

Tuttavia, tutti questi gruppi hanno le stesse impostazioni di visibilità predefinite:

  • Chi può vedere questo gruppo? Utenti connessi
  • Chi può vedere i membri di questo gruppo? Tutti

È questo il comportamento previsto? Oppure c’è un problema nella gestione dei parametri di visibilità per questi gruppi?

5 Mi Piace

Nel codice c’è un commento che spiega cosa sta succedendo: “hide automatic groups from all non stuff to de-clutter page” (nascondi i gruppi automatici a tutti i non staff per ridurre il disordine nella pagina). Questo avviene qui: discourse/app/controllers/groups_controller.rb at main · discourse/discourse · GitHub.

Il codice sta sovrascrivendo le impostazioni di visibilità dei gruppi per i gruppi automatici quando la pagina dei gruppi viene visualizzata da utenti non staff. Verrà mostrato solo il gruppo dei moderatori.

Non correlato al problema, ma quando ho provato a creare un onebox del link di GitHub che ho postato sopra, il codice è stato visualizzato nel onebox senza alcuna formattazione nell’anteprima:

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