الردود الخاصة في Discourse

Github: GitHub - communiteq/discourse-private-replies

This plugin hides topic replies for everyone but the topic starter and the post author.

Use cases

This can be used for for instance homework assignments where the teacher opens a topic and posts an assignment, and all students make a post with their answers. When everyone has submitted their work, the teacher can open up the answers so the students will be able to discuss them.
A second use case can be an auction where something is offered for sale. People can post their bid and when the sale is done, the topic owner can reveal all bids in order to show the community that everything went according to the rules.

Usage

After installing and enabling the plugin you can turn on the functionality of the plugin on a per-topic basis.

If you are the topic-starter then you will see a new button at the bottom of the topic.

button

By pressing this button you have enabled the Private Replies feature for this topic.

A banner will appear above the topic and the following happens:

  • people will only be able to see posts made by themself, by the topic owner, and by users in selected groups.
  • only the topic owner will be able to see all posts.

banner

By pressing the button a second time, the topic will revert back to normal.

The plugin will, when enabled, allow private replies on all topics. However, if the setting private replies on selected categories only is enabled, the plugin can be enabled per category in the category security settings.

In that same screen you can also find the setting to enable private replies by default for all new topics in that category. This is especially handy when topics are being submitted by email.

Settings

  • private_replies_participants_can_see_all if enabled, anyone who participated in the topic can see all replies
  • private_replies_min_trust_level_to_see_all people with this trust level or higher can see all replies
  • private_replies_groups_can_see_all users in these groups can always see all replies (default: staff)
  • private_replies_see_all_from_groups posts from users in these groups are always visible to everyone (default: staff)
  • private_replies_topic_starter_primary_group_can_see_all users in the same primary group as the topic owner can see all replies

Caveats

The plugin disables the following ways to retrieve the post contents:

  • topic view (i.e. the regular way of looking at posts)
  • user profile - activity
  • search
  • raw (/raw/topic_id/post_id)

However, you can still find out who posted in the topic:

  • The topic list icons will still show who has posted in the topic.
  • You will also be able to see ‘user xxx is replying’ at the bottom of the topic.
  • The topics are also visible in the user profile - summary.

However, all of these do not reveal the contents of the post.

Background:

So my SO is a teacher (ancient Greek and classical Latin) and has been using Discourse in her classes for a number of years now. She uses it mainly to distribute assignments to her students and discuss them afterwards. However, all the assignments are being handed in on paper during her classes.

Until now - since the schools have been closed because of all the corona panic she is moving to 100% online teaching, including the assignments. So all those students are currently e-mailing their work to her. This is very sub-optimal since it requires her to do quite a lot of administration (and I can tell you she is not very good at those kind of things :wink: ).

We were discussing a few options and she said: “why can’t I have a topic where people can only see my posts (i.e. the posts made by the topic starter) and their own posts? This would allow me to post an assignment as a topic and have every student post their answers below it without being able to see all the other answers. Then when everybody has entered their work and it is time to discuss, I want to be able to press a button to make the veil go away and make all posts in the topic visible to everyone, so they can all see and discuss each others work.”

Yes - brilliant! (that’s why I love her). So I made a plugin for this. Previous discussion here: Topic replies invisible until topic owner decides to reveal them?

78 إعجابًا
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 إعجابات

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

15 إعجابًا

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 إعجابًا

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 إعجابات

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 إعجابات

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 إعجابات

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 إعجابات

مرحبًا، ريتشارد! يجب أن يكون معلمك سعيدًا لأن إضافة البرنامج تعمل بشكل رائع :grinning:

أفكر في تحسينين:

  1. هل من الممكن تفعيل هذه الوظيفة افتراضيًا؟ يجب أن يتم ذلك في إعدادات الفئة. لا حاجة للقيام بذلك يدويًا مع كل موضوع.
  2. جعل الردود مرئية لمجموعات محددة يتم تحديدها في الإعدادات؟
7 إعجابات

مرحبًا! أود إضافة ترجمات إلى ملحقك. حاولت إضافة ملفين إضافيين: client.en و server.en
ثم قمت بتشغيل الأمر ./launcher rebuild app، لكن الترجمة لم تظهر بعد تغيير اللغة في واجهة المستخدم. ما الذي فاتني؟

إعجاب واحد (1)

يجب أن تُسمّى الملفات client.XX.yml و server.XX.yml حيث XX هو رمز اللغة.

ومع ذلك، توجد بالفعل ملفات للغة en (الإنجليزية): https://github.com/communiteq/discourse-private-replies/tree/master/config/locales، لذا لست متأكدًا مما قمت به أو ما تحاول تحقيقه.

3 إعجابات

لقد قمت بنفس الأمر بالضبط (أضفت client.de.yml و server.de.yml للغة الألمانية) ولم يتغير شيء.

  • على الأرجح، وجدت الخطأ. لقد أغفلت رمز اللغة في الملف. سأتحقق من ذلك لاحقًا.
إعجابَين (2)

هل يمكنك إنشاء طلب دمج (PR) بمجرد أن تعمل الأمور بشكل صحيح؟ سنقدر ذلك كثيرًا!

إعجاب واحد (1)

كل شيء يعمل، كانت خطئي. سأضيف جميع اللغات إلى شاكتك عندما أنهيها.

إعجابَين (2)

مرحبًا! حصلت على أخطاء في /sidekiq من إضافة الخاص بك. هل يمكنك التحقق من التثبيت الخاص بك؟ هل لديك مثل هذه الأخطاء؟

مُغلف I18n::InvalidLocaleData: لا يمكن تحميل الترجمات من /var/www/discourse/plugins/discourse-private-replies/config/locales/server.ar.yml: #
<Psych::SyntaxError: (/var/www/discourse/plugins/discourse-private-replies/config/locales/server.ar.yml): لم يتم العثور على مفتاح متوقع أثناء تحليل تعيين كتلة في السطر 3 العمود 5>

هناك علامة اقتباس إضافية يجب إزالتها.

private_replies_enabled: "قم بتمكين الإضافة "الردود الخاصة."
إعجابَين (2)

شكرًا لك على الإبلاغ عن هذا! لقد قمت بدفع إصلاح.

3 إعجابات

مرحباً،
لم يتم التثبيت من واجهة المسؤول. هل هو مخصص للخطافات فقط؟

الخطأ هو:

ملف about.json غير موجود. هل أنت متأكد من أن هذا ملحق لـ Discourse؟
إعجاب واحد (1)

أنا لست على دراية برسالة الخطأ هذه. فهي ليست جزءًا من كود مصدر Discourse. هل أنت متأكد من أن هذه الرسالة دقيقة؟

كما أن الإضافات لا يتم تثبيتها من واجهة المسؤول.
يرجى الرجوع إلى: Install plugins on a self-hosted site.

إعجابَين (2)

@RGJ
شركتنا، Haddee، متحمسة لتطوير بعض الميزات الجديدة للإضافة.
هل يمكنك إضافة ترخيص عليها لتسهيل وتسهيل المساهمة؟

شكرًا لك :slight_smile:

6 إعجابات

حسنًا، لقد نجح التثبيت عبر نظام الخطافات بالفعل.
أعتقد أنه لا يمكن تثبيته من لوحة الإدارة مثل السمات والإضافات لأنه يحتوي على ميزات الخادم، ولهذا السبب يُسمى “إضافة” (هناك العديد من المصطلحات المحددة والطرق المختلفة لتوسيع أو تخصيص Discourse مما قد يجعلنا نفقد التركيز بسهولة كمطورين).

يبدو هذا الإصدار نظيفًا وصغيرًا بما يكفي ليسهل تخصيصه.

شكرًا على ردودكم :wink:

إعجابَين (2)