Wie funktioniert die Sichtbarkeit von automatischen Gruppen?

Ich bin etwas verwirrt darüber, wie die Sichtbarkeit von automatischen Gruppen funktioniert. Derzeit spreche ich nur über das Verzeichnis /groups.

Hier ist das, was ich bei einer relativ frischen Installation von 2.7.0.beta4 sehe:

  • Wenn ein Benutzer mit Admin- oder Moderator-Rechten /groups aufruft, sieht er alle 8 automatischen Gruppen (admins, moderators, staff, trust_level_[0-4]).
  • Wenn ein Benutzer ohne Admin- oder Moderator-Rechte /groups aufruft (unabhängig vom Trust-Level), sieht er nur die Gruppe moderators.

Alle diese Gruppen haben jedoch dieselben, standardmäßigen Sichtbarkeitseinstellungen:

  • Wer kann diese Gruppe sehen? Eingeloggte Benutzer
  • Wer kann die Mitglieder dieser Gruppe sehen? Alle

Ist das beabsichtigt? Oder liegt ein Fehler bei der Verarbeitung der Sichtbarkeitsparameter für diese Gruppen vor?

5 „Gefällt mir“

Im Code gibt es einen Kommentar, der erklärt, was dort passiert: „Automatische Gruppen für alle Nicht-Mitarbeiter ausblenden, um die Seite aufzuräumen.

3 „Gefällt mir“

Nun, das erklärt es. Und ich bin sicher, dass der Code mit den besten Absichten geschrieben wurde, aber er ist fehlerhaft, weil:

  1. Vielleicht möchte ich, dass andere automatische Gruppen (außer Moderatoren) sichtbar sind.
  2. Die Verwaltungsoberfläche für automatische Gruppen ermöglicht es mir, die Sichtbarkeit von automatischen Gruppen, die keine Moderatoren sind, festzulegen, aber diese Einstellung wird ignoriert.

Es wäre ziemlich einfach, diesen Codeblock (und den niedlichen typografischen Fehler, der die letzten 6 Jahre überlebt hat) einfach zu löschen.

Das knifflige daran wäre, wenn man es für notwendig hielte, die aktuelle Sichtbarkeitseinstellung für automatische Gruppen auf „Gruppenbesitzer“ zu ändern, damit diese Gruppen nicht versehentlich für alle Installationen angezeigt werden, die daran gewöhnt sind, dass sie gezwungen sind, unsichtbar zu sein. Ich weiß nicht, ob Discourse eine Art Mechanismus hat, um solche Änderungen während eines Upgrades vorzunehmen – aber es ist die Art von Dingen, die man bei Schemaänderungen benötigt, also muss es etwas geben.

Außerdem: Dieses Verhalten „verstecken wir einfach die automatischen Gruppen im Gruppenkatalog, obwohl die Sichtbarkeitseinstellung gilt“ ist schlecht, da es die anderen Aspekte von visibility_level verschleiert, die immer noch von Bedeutung sind. Zum Beispiel:

  • Administrator X probiert die Sichtbarkeitseinstellungen aus und stellt fest, dass Nicht-Mitarbeiter trust_level_0 im Gruppenkatalog überhaupt nicht sehen können, egal was sie tun.
  • Also… Administrator X lässt visibility_level und member_visibility_level auf „Jeder“ gesetzt, da diese Einstellungen keine Auswirkungen zu haben scheinen.
  • Anonymer Benutzer Z navigiert zu /groups/trust_level_0 und holt sich eine Liste aller Benutzer auf der Website.

Vielleicht kümmert sich Administrator X darum, vielleicht auch nicht, aber in jedem Fall wäre Administrator X überrascht, dass dies möglich war.

Irrelevante Fun Facts, die ich vorher nicht wusste

Verteilung der meta.discourse-Benutzer nach Vertrauensstufe:

Stufe # Benutzer
TL0 45.942
TL1 29.226
TL2 3.620
TL3 124
TL4 102

Hallo mdoggydog :slight_smile:

Einige Punkte scheinen mir gültig, wie zum Beispiel:

Was verwirrend ist.

Ich lade Sie ein, ein #feature-Thema mit Ihren Vorschlägen zu erstellen :slight_smile:

Erledigt!

2 „Gefällt mir“

Konversation fortgesetzt in: Respect the visibility settings of all automatic groups