Kategorie-Bann wird nicht unterstützt, aber wäre es mit einem Plugin möglich?

Ich habe dieses Thema gelesen, das im Grunde besagt, dass es keine als notwendig erachtete Funktion ist, daher werde ich nicht noch einmal danach fragen.

Es gibt jedoch Anwendungsfälle für große Communities wie meine, in denen wir buchstäblich kleinere Foren innerhalb des Hauptforums haben. Denken Sie an Clans in der Gaming-Kultur.

Diese Sub-Communities übernehmen die Hauptregeln des Boards, haben aber auch einige spezifische zusätzliche Regeln und ein engagiertes Team, das den Bereich moderieren und führen soll, aber das ist nebensächlich.

Kategorie-Moderatoren können nicht gegen die Benutzer selbst vorgehen, nur gegen die Kategorie. In meinem Anwendungsfall sollten sie jedoch in der Lage sein, einige Benutzer von der Teilnahme auszuschließen, wenn sie gegen einige ihrer Sub-Forum-Regeln verstoßen.

Alles, was ich wirklich brauche, ist zu wissen, ob es in den Kernfunktionen genügend Granularität geben könnte, um den Kategorie-Moderatoren zu ermöglichen, bestimmte Benutzer von ihrem Zugriff auf ihre Kategorie auszuschließen.

So wie ich es mir vorstellen kann, wird eine benutzerdefinierte Tabelle generiert, die sowohl die category_id als auch die user_id hinzufügt, und wenn ein Benutzer versucht, auf ein bestimmtes Thema oder eine bestimmte Kategorie zuzugreifen, wird einfach auch diese Tabelle überprüft.

Bin ich weit vom Ziel entfernt? Wäre das machbar? Ich habe viel Erfahrung in der Softwareentwicklung, aber fast nichts mit Ruby, daher weiß ich nicht wirklich, wo ich im Quellcode von Discourse anfangen soll, um zu verstehen, wo ich suchen sollte :weary:

1 „Gefällt mir“

Sie könnten nur Mitgliedern der Clan-Kategorie erlauben, zu posten und die Benutzer zu entfernen, die Sie nicht in der Kategorie haben möchten. Dies würde erfordern, dass jeder, den Sie in der Kategorie haben möchten, Mitglied dieser Gruppe ist.

2 „Gefällt mir“

Großartiges Thema für eine Diskussion.

Der einfachste Weg, dies zu lösen, ist die Vertrauensstufe.

Schlagen Sie Leute nieder, wenn sie „gesperrt“ werden müssen, und machen Sie die Kategorie zu einer, die ein hohes Vertrauen erfordert.

Ich hatte genau diese Situation kürzlich und habe den Benutzer einfach auf TL 1 gesperrt, die Kategorie erforderte TL 2. Erledigt!

2 „Gefällt mir“

Ich habe dasselbe getan. Und da ich niemandem automatisch über TL2 hinaus erlaube, war das mental und für die Verwaltung eine wirklich einfache und unkomplizierte Lösung. Es hatte auch einen Hauch von Eleganz :wink:

2 „Gefällt mir“

Ich habe das vor einiger Zeit für einen Kunden gemacht. Vertrauensstufen waren für uns nicht praktikabel, daher haben wir stattdessen private Gruppen pro Kategorie erstellt, in die jeder Benutzer automatisch eingeteilt wurde und deren Besitzer die Kategorie-Moderatoren waren.

„Bans“ waren so einfach wie das Entfernen dieser Mitgliedschaften, was für die Administration praktisch keine Arbeit bedeutete.

Etwas mehr Aufwand für den Start, aber danach praktisch null.

4 „Gefällt mir“

Aber wie macht man das, wenn die Gruppe dynamisch ist?

Beispiel: Einer meiner Kunden hat ein Forum mit einer Kategorie „Zu verkaufen“, die für TL2 und höher zugänglich ist.
Sie möchten bestimmte Mitglieder daran hindern, dort Themen zu erstellen, aber sie müssten eine Gruppe kopieren und pflegen, die dieselben Personen wie TL2 abzüglich 5 bestimmter Benutzer enthält.

3 „Gefällt mir“

Vermutlich auf die gleiche Weise, Benutzer basierend auf einem Kriterium (Beförderung zu TL2 erkennen?) in Gruppen aufnehmen und sie dann bei Bedarf entfernen? Nur weil TL2 das Einstiegskriterium ist, bedeutet das nicht, dass Sie sich auf diesen TL2-Status verlassen müssen, um die Mitgliedschaft zu bestimmen, oder? Es hängt auch davon ab, ob Sie die Zeit und die Ressourcen haben, etwas auf/um Ihre Instanz herum zu entwickeln.

Ich habe nicht vorgeschlagen, dass es eine Einheitslösung für alle sei. Es funktioniert möglicherweise nicht für ihren Anwendungsfall, wenn sie nicht die zusätzliche Arbeit leisten wollen, aber für das Beispiel mit meinem Kunden und das Szenario, in dem eine Instanz in Gilden/Clans/was auch immer aufgeteilt wird, könnte es gut passen.

1 „Gefällt mir“

Aber wenn wir sowieso etwas auf Instanzebene entwickeln, dann hätte ich lieber eine Kategorie-Sperrfunktion :sunglasses:

Das macht die Dinge auch wartungsfreundlicher. Wenn ich 50.000 Benutzer habe und alle außer wenigen Zugriff auf die Kategorie haben sollen, dann ist es schwierig, eine Liste dieser wenigen zu erhalten.

1 „Gefällt mir“

Ich meine, ein Bann ist nur ein anderes Wort für Ausschluss, und Discourse hat keine Ausschlussberechtigung. Muss sie existieren, wenn „nicht Inklusion“ praktisch dasselbe ist? Ich mag das explizite Erlaubnismodell, es macht die Fehlerbehebung mühelos.

Ich habe immer noch gelegentlich Albträume, wenn ich daran denke, das Erlaubnis-/Ablehnungsmodell von vBulletin vor all den Jahren zu lösen. Das Einzige, was ich mit mehr verbundenem Schmerz und Schulden erlebt habe, ist RSOP.

Ich schätze all die Vorschläge für alternative Lösungen, aber ich habe eine spezifische technische Frage gestellt, keine Kompromisse bei dem, was ich herauszufinden versuche :slight_smile:

2 „Gefällt mir“

Ich würde sagen ja

@crius, das wäre mit einem Plugin machbar. Ich denke, Sie können auf der Client-Seite ziemlich weit kommen, indem Sie die permissions im Kategorie-Serializer überschreiben, und auf der Serverseite eine zusätzliche Prüfung mit NewPostManager.add_handler hinzufügen.

3 „Gefällt mir“

Haben Sie die Verwendung von Gruppen in Betracht gezogen? Erstellen Sie eine Kategorie mit 2 Gruppen für den Zugriff. Eine Gruppe sind Ihre Kategorie-Mods. Die andere sind Ihre Teilnehmer im Unterforum. Die Teilnehmergruppe muss den Zugriff auf den Unterforum-Bereich beantragen. Ihre Kategorie-Mods, einige oder alle, sind Besitzer dieser Gruppe. Wenn ein Mitglied gegen Regeln verstößt, die es aus dem Unterforum werfen erfordern. Aus der Teilnehmergruppe werfen und mit anderen Kategorie-Mods über die Dauer kommunizieren.

Nun, dann müssen Sie sich leider mit dem Sponsoring eines Plugins befassen. Hier wäre Crowdfunding für Plugins ein großartiges Konzept. Das Kernteam könnte schließlich etwas hinzufügen, das Sie anfordern, aber es könnte eine Weile dauern, aufgrund von Prioritäten auf der Entwicklungsliste.

Andererseits wäre es mit dem Gruppenvorschlag vielleicht möglich, mit einer Theme-Komponente eine Option zum Rauswerfen aus der Gruppe hinzuzufügen.

Bist du dir absolut sicher, dass du die richtige Frage gestellt hast :wink:

Ich meine, dein Hauptziel ist es, ein Problem zu lösen, und die Kategorie-Sperre ist nur deine ungelöste Antwort darauf. Die richtige Frage wäre wie löse ich Problem X und welche Optionen habe ich.

1 „Gefällt mir“

Ich habe die Möglichkeit geprüft, dies mit TL oder Benutzergruppen zu verwalten, aber es wird die Arbeitsbelastung der Moderatoren erhöhen, was in großen Communities einfach nicht machbar ist.

Besonders die Benutzergruppen sind nachteilig für eine schlanke Benutzererfahrung.

Ich muss kein Sponsoring beantragen, da ich viel Erfahrung als Softwareentwickler habe und auch andere Leute, die viel Erfahrung haben. Wir verwenden einfach kein Ruby, das wird die einzige Verlangsamung sein.

Danke trotzdem für die Beiträge. Ich schätze, dass dieses Forum dazu neigt, sehr meinungsstark zu sein, aber wenn es um die Software selbst geht, wäre es besser, einfach einen Ansatz zu verfolgen, der eher “die Option gibt”, wobei natürlich der zusätzliche Aufwand auf der Code-Seite auf der anderen Seite der Waage liegt.

Viel Liebe an @RGJ für die Einsichten :heart:

3 „Gefällt mir“