Können Plugins die Sichtbarkeit von Antworten in Themen steuern und wie kann ich eines erstellen?

Hallo Community,

Discourse ist ein ausgezeichnetes Forum mit vielen Funktionen. Ich möchte gerne wissen, ob es eine Möglichkeit gibt, Benutzern die manuelle Auswahl der Zielgruppe für ihre Antworten auf ein bestimmtes Thema zu ermöglichen. Mir ist zwar das wunderbare Plugin “discourse-private-reply” bekannt, das die Sichtbarkeit von Antworten auf den Themenstarter beschränken kann, aber ich suche nach einer feingranulareren Lösung.

Zur Verdeutlichung: Angenommen, ich verfasse eine Antwort innerhalb eines Themas, dann möchte ich in der Lage sein, eine Whitelist von Benutzern zu erstellen, die meine Antwort sehen können, bevor ich auf die Schaltfläche “POSTEN” klicke. Im Wesentlichen möchte ich sicherstellen, dass nur die von mir ausgewählten Benutzer meine Antwort sehen können, während alle anderen dies nicht tun.

Ich bin selbst Entwickler mit einigen Programmierkenntnissen, habe aber noch nie zuvor an der Entwicklung von Discourse-Plugins gearbeitet. Wenn es keine bestehenden Plugins oder Tools gibt, die das von mir gewünschte Maß an Kontrolle bieten, wäre ich für jeden Rat oder jede Anleitung zum Entwicklungsansatz dankbar, z. B. an welchen “Prozess” ich mich hängen oder welche APIs ich aufrufen sollte, um die gewünschte Funktionalität zu erreichen.

Jeder Vorschlag oder jede Erkenntnis wäre sehr willkommen. Vielen Dank für Ihre Zeit und Hilfe!

5 „Gefällt mir“

Da ein so feingranularer Zugriff benötigt wird, sollten Sie überlegen, ob ein reguläres öffentliches Thema die beste Lösung ist. Können Sie vielleicht etwas mehr über Ihren spezifischen Anwendungsfall erzählen?

Ein guter Ausgangspunkt wäre tatsächlich mein Private Replies Plugin. Es hat eine Funktion namens can_see_post_if_author_among, die derzeit ein Thema entgegennimmt. Sie sollten sie so ändern, dass sie einen Beitrag entgegennimmt. Sie sollten die erlaubten Benutzer mit dem Beitrag in einem benutzerdefinierten Feld speichern und dann den betrachtenden Benutzer gegen diese Liste prüfen.

Das Plugin überschreibt auch die Zugriffssteuerungslogik für Rohbeiträge, Suchen, Themenansichten und Benutzerprofilaktivitäten.

Davon abgesehen erwarte ich, dass Sie sowohl aus Leistungs- als auch aus UX-Sicht auf einige Probleme stoßen werden, und insbesondere, wenn Sie keine Erfahrung mit der Entwicklung von Discourse-Plugins haben, kann dies eine ziemliche Aufgabe sein. Daher würde ich Ihnen erneut empfehlen, zu überlegen, ob dies der beste Ansatz für Ihren Anwendungsfall ist.

7 „Gefällt mir“

Vielen Dank für Ihre schnelle Antwort und die Einblicke in diese Angelegenheit. Ich möchte ein Anwendungsbeispiel anführen, bei dem ein Lehrer jedem Schüler unterschiedliche Aufgaben zuweist und von ihm verlangt, seine Antworten (Berichte) in einem Discourse-Forum zu veröffentlichen. In diesem Szenario muss 1) der Lehrer die Antwort jedes Schülers sehen können und 2) einige Schüler möchten ihre Antworten privat halten, während andere Kommentare, Feedback und Interaktion suchen. Darüber hinaus 3) können Lehrer Kommentare abgeben, die nicht für die öffentliche Ansicht geeignet sind.

Dieses Bedürfnis nach Kontrolle über Beiträge kann auch in anderen Situationen gelten, z. B. wenn Mitarbeiter monatliche Berichte schreiben oder Patienten Genesungsprotokolle führen. Abstrahiert gesagt geht es darum, die Anfragen der Benutzer nach Kontrolle zu erfüllen, anstatt dass Moderatoren alles im Voraus planen. Dies ist besonders wichtig für kleine Gemeinschaften, die sich auf die Produktion hochwertiger Inhalte konzentrieren.

Obwohl Discourse eine ausgezeichnete Plattform für große Gemeinschaften mit Tausenden von Benutzern ist, ist es auch eine großartige Option für den Aufbau kleinerer, verfeinerter Gemeinschaften, die tieferes Nachdenken und ausführliche Diskussionen fördern. Benutzer sollten mehr Kontrolle über ihre gut geschriebenen Beiträge haben.

Was die Entwicklung eines Plugins für diese Funktion betrifft, so schätze ich Ihre Bedenken hinsichtlich des Gleichgewichts zwischen Leistung und Benutzererfahrung. Anstatt sofort ein kompliziertes Plugin zu erstellen, wäre ein besserer Ansatz, die vorhandenen Funktionen zu maximieren. Zum Beispiel durch die Erstellung einer Kategorie mit mehreren Unterkategorien, die jeweils einer Aufgabe entsprechen, und die Schüler reichen ihre Arbeit in der entsprechenden Unterkategorie ein. Dies ermöglicht die Kontrolle über jedes Thema, und Ersteller können wählen, ob sie ihre Themen öffentlich oder für bestimmte Benutzergruppen sichtbar machen möchten. Solche kleinen Schritte können helfen, die Arbeitsbelastung zu reduzieren und die Wirksamkeit der Funktion leichter zu validieren.

Kurz gesagt, den Benutzern mehr Kontrolle über ihre Beiträge zu geben, ist unerlässlich für die Schaffung von Nischengemeinschaften mit hochwertigen Inhalten und Engagement. Dies wird diese Gemeinschaften nicht nur fördern, sondern auch die potenziellen Anwendungsfälle für Discourse erweitern. Es ist eine neue Möglichkeit zu erkunden, was Discourse leisten kann.

Vielen Dank für die Gelegenheit, dies mit Ihnen zu besprechen. :slightly_smiling_face:

2 „Gefällt mir“

Das ist genau das, wofür das Plugin gemacht wurde. Sie müssen nur Nr. 2 und Nr. 3 mit privaten Nachrichten oder Chat erledigen.

Ersteller können bereits zwischen sichtbaren und nicht sichtbaren Antworten wählen, und das Plugin kann auch so eingestellt werden, dass Antworten für Personen in derselben primären Gruppe wie der Ersteller sichtbar sind.
Durch die Verwendung unterschiedlicher Kategorien mit unterschiedlichen Zugriffsrechten können Sie weiter steuern, wer das gesamte Thema sehen kann und wer nicht.

Nochmals, Sie haben mich nicht davon überzeugt, dass diese Änderungen notwendig sind. Sie werden nur Komplexität hinzufügen, sowohl für die Benutzer als auch für die Plugin-Wartung.

Ich möchte klarstellen, dass es meine Absicht war, keine Änderungen an discourse-private-reply vorzuschlagen. Ich verstehe, dass es wertvolle Funktionalität zur Steuerung der Sichtbarkeit von Beiträgen bietet. Vielen Dank für die Diskussion zu diesem Thema.

2 „Gefällt mir“

Ja, Sie haben Recht, ich habe mich falsch ausgedrückt, entschuldigen Sie das. Aber mein Rat bleibt bestehen: Lösen Sie dies nicht mit komplexer Technologie, sondern ändern Sie den Prozess geringfügig.