Discourse 비공개 답변

Github: GitHub - communiteq/discourse-private-replies · GitHub

이 플러그인은 토픽 시작자와 게시글 작성자를 제외한 모든 사용자에게 토픽 답글을 숨깁니다.

사용 사례

이것은 예를 들어 숙제 제출에 사용할 수 있습니다. 선생님이 토픽을 열고 숙제를 게시하고, 모든 학생이 자신의 답을 포함한 게시글을 작성합니다. 모든 학생이 작업을 제출한 후, 선생님은 답을 공개하여 학생들이 서로의 작업을 논의할 수 있도록 할 수 있습니다.

두 번째 사용 사례는 경매입니다. 어떤 물건이 판매를 위해 제시되는 경우, 사람들은 자신의 입찰가를 게시할 수 있고, 판매가 완료되면 토픽 소유자가 모든 입찰가를 공개하여 커뮤니티에 모든 것이 규칙에 따라 진행되었음을 보여줄 수 있습니다.

사용 방법

플러그인을 설치하고 활성화한 후, 토픽별로 플러그인 기능을 켤 수 있습니다.

토픽 시작자라면 토픽 하단에 새로운 버튼을 볼 수 있습니다.

button

이 버튼을 누르면 해당 토픽에 대해 비공개 답글 기능이 활성화됩니다.

토픽 위에 배너가 표시되고 다음이 발생합니다:

  • 사용자는 자신, 토픽 소유자, 선택된 그룹의 사용자가 작성한 게시글만 볼 수 있습니다.
  • 모든 게시글을 볼 수 있는 사람은 토픽 소유자뿐입니다.

banner

버튼을 두 번째로 누르면 토픽이 정상 상태로 되돌아갑니다.

플러그인은 활성화되면 모든 토픽에서 비공개 답글을 허용합니다. 그러나 선택된 카테고리에서만 비공개 답글 설정이 활성화된 경우, 카테고리 보안 설정에서 카테고리별로 플러그인을 활성화할 수 있습니다.

같은 화면에서 해당 카테고리의 모든 새 토픽에 대해 비공개 답글을 기본적으로 활성화하는 설정도 찾을 수 있습니다. 이는 이메일로 토픽이 제출될 때 특히 유용합니다.

설정

  • private_replies_participants_can_see_all: 활성화되면 토픽에 참여한 사람은 모든 답글을 볼 수 있습니다.
  • private_replies_min_trust_level_to_see_all: 이 신뢰 수준 이상인 사람은 모든 답글을 볼 수 있습니다.
  • private_replies_groups_can_see_all: 이 그룹의 사용자는 항상 모든 답글을 볼 수 있습니다 (기본값: staff).
  • private_replies_see_all_from_groups: 이 그룹의 사용자가 작성한 게시글은 항상 모든 사람에게 표시됩니다 (기본값: staff).
  • private_replies_topic_starter_primary_group_can_see_all: 토픽 소유자와 같은 기본 그룹에 속한 사용자는 모든 답글을 볼 수 있습니다.

주의 사항

이 플러그인은 게시글 내용을 가져오는 다음 방법들을 비활성화합니다:

  • 토픽 보기 (즉, 게시글을 보는 일반적인 방법)
  • 사용자 프로필 - 활동
  • 검색
  • 원본 (/raw/topic_id/post_id)

그러나 토픽에서 누가 게시글을 작성했는지는 여전히 알 수 있습니다:

  • 토픽 목록 아이콘은 여전히 누가 토픽에 게시글을 작성했는지 표시합니다.
  • 토픽 하단에서 '사용자 xxx가 답글을 작성하고 있습니다’라는 메시지도 볼 수 있습니다.
  • 토픽은 사용자 프로필 - 요약에서도 표시됩니다.

그러나 이 모든 것은 게시글의 내용을 드러내지 않습니다.

배경:

제 배우자는 교사(고대 그리스어와 고전 라틴어)이며, 수년 동안 수업에서 Discourse를 사용해 왔습니다. 주로 학생들에게 숙제를 배포하고 나중에 논의하는 데 사용합니다. 그러나 모든 숙제는 수업 시간에 종이에 제출되어 왔습니다.

그동안 - 코로나 사태로 학교가 폐쇄되면서 100% 온라인 수업으로 전환했고, 숙제 제출도 포함되었습니다. 그래서 현재 모든 학생이 작업을 이메일로 보내고 있습니다. 이는 많은 행정 업무를 요구하기 때문에 매우 비효율적입니다 (그녀는 이런 종류의 일을 잘 못한다는 것을 알 수 있습니다 :wink: ).

우리는 몇 가지 옵션을 논의했고, 그녀는 이렇게 말했습니다. “토픽에서 내 게시글(즉, 토픽 시작자가 작성한 게시글)과 내 게시글만 볼 수 있다면 어떨까요? 그러면 숙제를 토픽으로 게시하고 모든 학생이 다른 답을 볼 수 없이 아래에 자신의 답을 게시할 수 있습니다. 그리고 모든 사람이 작업을 입력하고 논의할 때가 되면, 버튼 하나를 눌러 모든 게시글이 모든 사람에게 보이도록 하여 서로의 작업을 보고 논의할 수 있게 하고 싶습니다.”

네 - 훌륭합니다! (그녀를 사랑하는 이유입니다). 그래서 이 플러그인을 만들었습니다. 이전 논의는 여기에서: Topic replies invisible until topic owner decides to reveal them?

79개의 좋아요
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
Permissions and clients/users
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)
Will uninstalling a plugin leave any residual debris files in the database?
Split "See" category permission into "See first post" and "See replies"
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?
Error Can't search when No login
A new way to lead and facilitate conversations
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

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

10개의 좋아요

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

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개의 좋아요

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개의 좋아요

Hi! I’d like to add translations to your plugin. Tried to add 2 extra files: client.en and server.en
Then I did ./launcher rebuild app, but the translation didn’t appear after I changed the locale in the user interface. What I missed?

1개의 좋아요

The files should be called client.XX.yml and server.XX.yml where XX is the language code.

However, there are already files for en (English): discourse-private-replies/config/locales at master · communiteq/discourse-private-replies · GitHub so I am not sure what you have done or what you are trying to accomplish.

3개의 좋아요

I’ve done this exact thing (added client.de.yml and server.de.yml for the German language) and nothing changed.

  • Probably, I found the mistake. I missed the language code in the file. I’ll check it later.
2개의 좋아요

Can you please make a PR once you’ve got things working? That would be much appreciated!

1개의 좋아요

Everything is working, it was my mistake. I will add all languages to your fork when I finish it.

2개의 좋아요

Hi! I got errors in /sidekiq from your plugin. Can you please check your installation? Do you have such errors?

Wrapped I18n::InvalidLocaleData: can not load translations from /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): did not find expected key while parsing a block mapping at line 3 column 5>

There is an extra " that should be removed.

private_replies_enabled: "قم بتمكين المكون الإضافي "الردود الخاصة."
2개의 좋아요

Thank you for reporting this! I’ve pushed a fix.

3개의 좋아요

Hey,
It won’t install from the admin interface. Is it hooks only?

The error is:

about.json does not exist. Are you sure this is a Discourse plugin?
1개의 좋아요

I am not familiar with that error message. It is not part of the Discourse source code. Are you sure this is the exact message?

Plugins are not installed from the admin interface either.
Please refer to Install plugins on a self-hosted site.

2개의 좋아요

@RGJ
My company, Haddee, is eager to develop some new features for the plugin.
I was wondering if you could put a license on it just to make contribution easier and smoother

Thanks :slight_smile:

6개의 좋아요

Right, it worked installing from the hooks system indeed.
I guess it can’t be installed from the admin like themes and extensions as it has server features and that’s why it’s called a plug-in (so many specific terms and various ways to extend or customize Discourse that we can easily get lost as a dev)

This one seems clean and small enough to be easy to customize.

Thanks for the replies :wink:

2개의 좋아요