カテゴリから1人以上のユーザーを禁止する機能を追加したい

We have a group/category that is only visible to logged in users. I.e. we’ve set trust_level_0 to have create/reply/see.

We have a few users who can be disruptive in this particular category, but their input is valued in other categories on the site. Simply asking them to stay away from that first category is not working, I need a way to kick them out, while still allowing them to participate in other categories.

Going the route of explicitly allowing everyone else, minus these few disruptive people, is not realistic as we have over 41,000 users.

Bottom line: We need a way of setting the permission of “all logged in users, minus NN1, NN1, NN3… NNn” to a category.

Any ideas on how this can be accomplished?

Thanks,
Gunnar

「いいね!」 2

You’d need to create a new group, copy all the tl0 users and delete the bad people, and adjust the category permissions. And you’d need to add new people to the group as time goes on.

「いいね!」 1

As Jay mentioned there is no way to create a “minus” in category permissions. This could be done in a plugin that keeps track of a custom group’s membership.

We don’t have any plans on adding “minus” security into the security tab.

One human way of solving this is:

Ban user for 7 days from the forum, if user continues being disruptive in that category ban for 30 days.

「いいね!」 6

I can relate to the quandary. For example, if a passionate member was exemplary in the “cars” category but toxic in the “trucks” category I would be torn. On the one hand I would want to not lose the benefit to “cars”, on the other I would definitely want the “trucks” toxicity to stop.

If the member was reasonable, they would agree to my initial polite request. If they persisted it might be they considered themselves to be an indispensable asset and entitled to misbehave.

Having a way to avoid (postpone?) the need to make hard decisions that could lead to awkward conflict does seem like it would be something desirable. But it would need to be done with a plugin and I don’t know how effective it would be.

I fear that even if a plugin did a type of

if currenUser = "TruckHater" && category = "trucks" 
  currentUser.blocked = true 

that eventually the member would complain about it and react poorly.

I agree with sam that a temporary wrist slap either by a short term Silence (née Block) or Suspend is the better way, even with the risk of losing the benefits to ensure the toxicity stops.

「いいね!」 3

With 41k users and adding 6-10 users every day, that’s just not practical. Neither is monitoring a category 24/7, or for that matter, monitoring the user 24/7.

Follow-up question: Can a user be put on probation, so that every post they make is automatically held for moderation?

Thanks,
Gunnar

This is a great feature request and something that has popped up before, I would like us to have this option but we do not have it now.

Closest would be locking the user at tl0 and putting all tl0 posts through the moderation queue.

「いいね!」 10

Then I’d like to add my voice/vote to this feature request. As forums grow and age, more granular user administration than what Discourse currently offers will be needed, and not just by Jag-lovers.

Thanks!
Gunnar

「いいね!」 3

We do this all the time and we have plenty of positive experiences with this approach. There is a plugin though which we haven’t tested yet:

Would be very nice to have that one integrated to the core.

「いいね!」 7

Thank you!

I just installed and tested the plugin, it works exactly like advertised. Please integrate this into the core, like @rizka suggests.

Oh, and please add functionality so that the addition to the list of a user can be time limited. IOW, so they can be put on probation for 1 day, a week, or whatever, then automatically returned to “normal”.

Thanks,
Gunnar

「いいね!」 2

それから2年以上が経ちました。その方法を試しましたが、機能しませんでした。現在、6回目の停止処分を受けたトラブルメーカーが1人おり、彼に次いで約5人のユーザーが同様の状況にあります。すべて、特定のカテゴリで冷静さを保ち、礼儀正しく振る舞えないことが原因です。他のカテゴリでは問題なく、非常に知識も豊富なので、彼ら全員を失うのは避けたいと考えています。

現在、ユーザー数は45,000人に達し、毎日20〜50人ずつ増加しています。99%のユーザーが適切に振る舞うカテゴリに対して、手動でアクセス権限を割り当てるのは現実的ではありません。

問題のあるカテゴリを閉鎖または削除しても機能しません。その方法も試しましたが、議論が他のカテゴリに流れ込み、それらも台無しにしてしまいます。

一時期はモデレーションを行っていましたが、人手が足りません。

「マイナス」セキュリティ設定を本当に必要としています。よろしくお願いいたします。

Gunnar

なぜ、コミュニティのルールに従って行動できないユーザーを恒久的に退場させないのか、気になります。この機能は現在のロードマップには含まれていないため、実現にはしばらくお待ちいただく可能性があります。

「いいね!」 1

本当に追い出すことができないなら、「xxx への参加不可」グループを作成し、そのカテゴリの投稿を CSS で非表示にするのはどうでしょうか?

投稿を非表示にするために、人々に投稿をフラグ立てしてもらうよう促すのは?

ご指摘の通りです。確かに、そのような対応をすることもあります。私たちのコミュニティの構成員には、やや扱いにくい性格の方が多く含まれています。しかし、そうした方々が、コミュニティ全体にとって非常に価値ある知識を保有しているケースもあるのです。

残念ですね。これは比較的基本的な機能です。

素晴らしいアイデアですね。検討してみます。ありがとうございます!

ああ、すでにそうしていますよ。間違いなくやっています。:wink:

「いいね!」 2

今のところ、最善策は以下の2つだと思います。

  1. ユーザー設定から、その特定のユーザーの問題カテゴリをミュートする
  2. ジェイが推奨したCSSハックやテーマコンポーネントを使用する
「いいね!」 3

あるいは、IdM を使ってグループを外部で管理し、Discourse に減算型の権限モデルを実装させるのではなく、IdM 側でそれらのグループからユーザーを除外させる方法もあります。

問題は、他のアカウントを作成されてしまうのを防ぐ手段がほとんどないことです。上記の取り組みは、これが技術的な問題ではなく、人間の行動に起因する問題であることを非常に明確に示しています。

「いいね!」 3

この提案をありがとうございます!

実装方法について何かヒントをいただけますか?

私の知る限り、グループの所属は HTML 属性で示されないはずです。CSS で特定のグループのメンバーかどうかを検出できる別の方法はあるでしょうか?

なるほど。私は CSS にあまり詳しくありませんが、以前同様の問題が発生した際、グループ(おそらくプライマリグループだけかもしれませんが)がそこにあったと記憶しています。ただし、私の記憶が間違っている可能性もあります。現在のユーザーのグループをシリアライザーに追加する必要があるかもしれません。

それには、この名前の通りなテーマコンポーネントをインストールできます:

「いいね!」 3

どうもありがとうございます!

私の場合は、グループのメンバーシップを非公開にする必要があるため、代わりにこのソリューションを採用します。

ハードコアなネクロマンシー(申し訳ありません)ですが、この他のトピックで実行したところ、このスレッドが検索に表示されませんでした。

@Falco あなたのテーマコンポーネントを使おうとしていますが、もしよろしければ2つの質問があります。

  1. カテゴリに関連するCSSコンポーネントをすべて非表示にする必要がありますか?

  2. これは、ユーザーが@メンションして通知をクリックしても、そこへたどり着くのを防ぐことはできませんよね?


余談ですが、@Stephen この文脈での「IdM」とは何ですか?

重ねてお詫び申し上げます。@codinghorror の「根本から断ち切る」アプローチに同意することもありますが、時には 人生はそれほど単純ではありません…

「いいね!」 1