Discourse Private Antworten

Github: GitHub - communiteq/discourse-private-replies

Dieses Plugin blendet Themenantworten für alle außer dem Themenersteller und dem Autor des Beitrags aus.

Anwendungsfälle

Dies kann beispielsweise für Hausaufgaben verwendet werden, bei denen der Lehrer ein Thema eröffnet und eine Aufgabe postet, und alle Schüler einen Beitrag mit ihren Antworten verfassen. Wenn alle ihre Arbeit eingereicht haben, kann der Lehrer die Antworten freigeben, damit die Schüler sie diskutieren können.
Ein zweiter Anwendungsfall kann eine Auktion sein, bei der etwas zum Verkauf angeboten wird. Leute können ihr Gebot posten und wenn der Verkauf abgeschlossen ist, kann der Themeneigentümer alle Gebote offenlegen, um der Community zu zeigen, dass alles nach den Regeln verlaufen ist.

Verwendung

Nach der Installation und Aktivierung des Plugins können Sie die Funktionalität des Plugins pro Thema aktivieren.

Wenn Sie der Themenersteller sind, sehen Sie unten im Thema eine neue Schaltfläche.

button

Durch Drücken dieser Schaltfläche haben Sie die Funktion „Private Antworten“ für dieses Thema aktiviert.

Über dem Thema erscheint ein Banner und Folgendes geschieht:

  • Personen können nur Beiträge sehen, die von ihnen selbst, vom Themeneigentümer und von Benutzern in ausgewählten Gruppen erstellt wurden.
  • Nur der Themeneigentümer kann alle Beiträge sehen.

banner

Durch erneutes Drücken der Schaltfläche wird das Thema wieder normal.

Das Plugin ermöglicht bei Aktivierung private Antworten für alle Themen. Wenn jedoch die Einstellung private replies on selected categories only aktiviert ist, kann das Plugin pro Kategorie in den Sicherheitseinstellungen der Kategorie aktiviert werden.

Im selben Bildschirm finden Sie auch die Einstellung, um private Antworten standardmäßig für alle neuen Themen in dieser Kategorie zu aktivieren. Dies ist besonders praktisch, wenn Themen per E-Mail eingereicht werden.

Einstellungen

  • private_replies_participants_can_see_all Wenn aktiviert, kann jeder, der am Thema teilgenommen hat, alle Antworten sehen
  • private_replies_min_trust_level_to_see_all Personen mit dieser Vertrauensstufe oder höher können alle Antworten sehen
  • private_replies_groups_can_see_all Benutzer in diesen Gruppen können immer alle Antworten sehen (Standard: staff)
  • private_replies_see_all_from_groups Beiträge von Benutzern in diesen Gruppen sind für alle sichtbar (Standard: staff)
  • private_replies_topic_starter_primary_group_can_see_all Benutzer in derselben primären Gruppe wie der Themenersteller können alle Antworten sehen

Einschränkungen

Das Plugin deaktiviert die folgenden Möglichkeiten, den Beitragsinhalt abzurufen:

  • Themenansicht (d. h. die normale Art, Beiträge anzuzeigen)
  • Benutzerprofil - Aktivität
  • Suche
  • Rohdaten (/raw/topic_id/post_id)

Sie können jedoch immer noch herausfinden, wer im Thema gepostet hat:

  • Die Symbole in der Themenliste zeigen immer noch an, wer im Thema gepostet hat.
  • Sie können am unteren Rand des Themas auch sehen, dass „Benutzer xxx antwortet“.
  • Die Themen sind auch im Benutzerprofil - Zusammenfassung sichtbar.

All dies gibt jedoch nicht den Inhalt des Beitrags preis.

Hintergrund:

Meine Lebensgefährtin ist Lehrerin (Altgriechisch und Klassisches Latein) und nutzt Discourse seit vielen Jahren in ihren Kursen. Sie nutzt es hauptsächlich, um Aufgaben an ihre Schüler zu verteilen und sie anschließend zu besprechen. Alle Aufgaben werden jedoch auf Papier während ihrer Unterrichtsstunden abgegeben.
Bis jetzt – da die Schulen wegen der Corona-Panik geschlossen sind, stellt sie auf 100% Online-Unterricht um, einschließlich der Aufgaben. All diese Schüler schicken ihr also derzeit ihre Arbeiten per E-Mail. Das ist sehr suboptimal, da es ihr ziemlich viel Verwaltungsaufwand bereitet (und ich kann Ihnen sagen, sie ist nicht sehr gut in solchen Dingen :wink: ).
Wir diskutierten einige Optionen und sie sagte: „Warum kann ich kein Thema haben, bei dem die Leute nur meine Beiträge (d. h. die Beiträge des Themenerstellers) und ihre eigenen Beiträge sehen können? Das würde es mir ermöglichen, eine Aufgabe als Thema zu posten und jeden Schüler darunter seine Antworten posten zu lassen, ohne alle anderen Antworten sehen zu können. Wenn dann jeder seine Arbeit eingereicht hat und es Zeit zum Diskutieren ist, möchte ich auf eine Schaltfläche drücken können, um den Schleier zu lüften und alle Beiträge im Thema für alle sichtbar zu machen, damit sie die Arbeit des anderen sehen und diskutieren können.“
Ja – brillant! (deshalb liebe ich sie). Also habe ich ein Plugin dafür gemacht. Vorherige Diskussion hier: Topic replies invisible until topic owner decides to reveal them?

78 „Gefällt mir“
Reply only visible to the post owner
Anyway to make Forms in Discourse - One Category?
Is there a "Reply to View" plugin for Discourse?
Let topic owner approve replies to their topic
Is this secure? Concept for private info in replies
Making a Category or Replies in a Topic Only Visible by Poster and Admin
Help With a Private Topics/Replies Alternative?
Is there an option on Discourse to allow a logged-in member to see only the topics where they participated?
Way to make part of the post visible to author and staff only?
Hide ALL replies to Topics in a Category by default using Spoiler Text Plugin
How to schedule posts (not topics)?
Is there a way to hide some text in a post?
Private post feature
Author-only Topic (take 2)
A new way to lead and facilitate conversations
Error Can't search when No login
Private Topics Plugin
Allow post author to see/reply to whisper posts
Discourse BCC
Private Topics Plugin
Is there a "Reply to View" plugin for Discourse?
Will uninstalling a plugin leave any residual debris files in the database?
Discourse Like and/or Reply to reveal the post
Help with auto-close topic?
2020: The Year in Review
Post Read-only mode on a category
Display 'top level comments' separate from comment replies (Alternative to Threaded Comments?)
Permissions in certain category
Resources for using Discourse in the classroom
Offering "private support" as part of a public support community
Offering "private support" as part of a public support community
Allow write access without read access
Permissions and clients/users

New ways schools can adopt with Discourse! Nice job! :grinning:

10 „Gefällt mir“

Very cool and thank you for sharing this @RGJ :beers:

15 „Gefällt mir“

Great to see this!

My one nitpick is that I’d rather have the feature enabled at the category level, then replies can get revealed per-topic when everything’s submitted.

11 „Gefällt mir“

Very cool, I was wondering if there is a way to still access the contents of private replies:

  • by Group (Teachers)
  • Trust Level (all teachers are at least Trust Level 3).
9 „Gefällt mir“

Why do you think that’s better?

That’s a pretty good idea. It shouldn’t be too hard to add that to the plugin.
I’ll keep it in mind but right now I don’t have a use case for this myself. PR’s are welcome though!

6 „Gefällt mir“

Prevents random abuse from topic starters enabling the setting on non-intended categories. It’s a “why would you do that?” situation but still something that needs a flag to resolve.

7 „Gefällt mir“

Yeah, that’s useful indeed. So that could be solved by a category setting ‘allow private replies’.
I thought you wanted a ‘topics have private replies by default’ setting, which would be harder to build.

6 „Gefällt mir“

Hello, Richard! Your teacher should be happy because your plugin works great :grinning:

I think about 2 improvements:

  1. Is it possible to make this function active by default? This should be set in the category settings. No need to do it manually with every topic.
  2. Make replies visible to specific groups set in the settings?
7 „Gefällt mir“

Hallo! Ich möchte Übersetzungen zu deinem Plugin hinzufügen. Ich habe versucht, zwei zusätzliche Dateien hinzuzufügen: client.en und server.en. Dann habe ich ./launcher rebuild app ausgeführt, aber die Übersetzung erscheint nicht, nachdem ich die Sprache in der Benutzeroberfläche geändert habe. Was habe ich übersehen?

1 „Gefällt mir“

Die Dateien sollten client.XX.yml und server.XX.yml heißen, wobei XX der Sprachcode ist.

Es gibt jedoch bereits Dateien für en (Englisch): discourse-private-replies/config/locales at master · communiteq/discourse-private-replies · GitHub. Daher bin ich mir nicht sicher, was Sie getan haben oder was Sie erreichen möchten.

3 „Gefällt mir“

Ich habe genau das Gleiche gemacht (habe client.de.yml und server.de.yml für die deutsche Sprache hinzugefügt), und es hat sich nichts geändert.

  • Wahrscheinlich habe ich den Fehler gefunden. Ich habe den Sprachcode in der Datei übersehen. Ich werde es später überprüfen.
2 „Gefällt mir“

Könntest du bitte einen PR erstellen, sobald alles funktioniert? Das wäre sehr geschätzt!

1 „Gefällt mir“

Alles funktioniert, es war mein Fehler. Ich werde alle Sprachen zu deinem Fork hinzufügen, sobald ich fertig bin.

2 „Gefällt mir“

Hallo! Ich habe Fehler in /sidekiq von deinem Plugin erhalten. Könntest du bitte deine Installation überprüfen? Hast du solche Fehler?

Wrapped I18n::InvalidLocaleData: Übersetzungen können nicht aus /var/www/discourse/plugins/discourse-private-replies/config/locales/server.ar.yml geladen werden: #
<Psych::SyntaxError: (/var/www/discourse/plugins/discourse-private-replies/config/locales/server.ar.yml): Beim Parsen einer Blockzuordnung wurde an Zeile 3, Spalte 5 kein erwarteter Schlüssel gefunden>

Es gibt ein überflüssiges ", das entfernt werden sollte.

private_replies_enabled: "Aktiviere das Plugin 'Private Antworten'."
2 „Gefällt mir“

Vielen Dank für den Hinweis! Ich habe eine Korrektur bereitgestellt.

3 „Gefällt mir“

Hey,
es lässt sich nicht über die Admin-Oberfläche installieren. Funktioniert es nur über Hooks?

Der Fehler lautet:

about.json existiert nicht. Bist du sicher, dass dies ein Discourse-Plugin ist?
1 „Gefällt mir“

Mir ist diese Fehlermeldung nicht bekannt. Sie ist nicht Teil des Discourse-Quellcodes. Sind Sie sich sicher, dass dies die exakte Meldung ist?

Plugins werden auch nicht über die Admin-Oberfläche installiert.
Bitte lesen Sie Install plugins on a self-hosted site.

2 „Gefällt mir“

@RGJ
Mein Unternehmen, Haddee, ist bestrebt, einige neue Funktionen für das Plugin zu entwickeln.
Ich wollte fragen, ob Sie eine Lizenz dafür festlegen könnten, um Beiträge zu erleichtern und zu vereinfachen.

Danke :slight_smile:

6 „Gefällt mir“

Richtig, die Installation über das Hooks-System hat tatsächlich funktioniert.
Ich vermute, dass es nicht wie Themes und Erweiterungen über das Admin-Interface installiert werden kann, da es Server-Funktionen umfasst. Daher wird es Plug-in genannt (es gibt so viele spezifische Begriffe und verschiedene Möglichkeiten, Discourse zu erweitern oder anzupassen, dass man als Entwickler leicht den Überblick verlieren kann).

Dieses hier scheint sauber und klein genug zu sein, um einfach anzupassen.

Danke für die Antworten :wink:

2 „Gefällt mir“