特定のグループにいる場合にトピックを非表示にするテーマコンポーネント

何をご希望ですか?

「悪い」グループのメンバーであるユーザーから、最新ページでのトピックを非表示にしたいと考えています。これはテーマコンポーネントで実現できると思いますが、他のアイデアも歓迎します。これは一度限りのユースケースであり、パラメータを編集するためのUIは必要ありません。

以下は類似の取り組みであり、出発点になるかもしれません。アプローチは、api.modifyClass を使用して、トピック(最新ページでの <tr>)にクラスを追加し、次に数行のCSSでそのクラスを display: none に設定することです。ユーザーが「悪い」グループのメンバーである場合に、modifyClass でユーザーを取得し、クラスを追加できると想定しています。

(これにより、権限は影響を受けず、カテゴリまたは検索ビューでトピックを引き続き表示でき、メールも引き続き受信でき、私のトリックを発見してローカルCSSを編集することもできることは理解しています。単に迷惑をかけて、彼らに何らかのアクションを取らせたいだけです。すべての制約を考慮すると、このアプローチは機能すると思います。)

いつまでに必要ですか?

今後数週間。

このタスクに提供できる予算(米ドル)はいくらですか?

相談に応じます。

「いいね!」 1

これらのユーザーに対して /latest を空にしたいのですか?それとも、一部のトピックのみを非表示にしたいのですか?

目的は彼らをイライラさせることですか?(彼らが皆をイライラさせているからですか?)彼らをイライラさせるより良い方法はないかと思っています。

「いいね!」 2

言い忘れましたが、最新トピックで1つのトピック(更新された利用規約)を表示できるようにしたいと考えています。

私もあまり気に入っていませんが、これが現時点で最善の策です。目標は、すべてのユーザーに更新された利用規約に署名してもらうことで、通常よりも高い重要度を設定します。How to force existing users to accept ToS では、Discourse Policy が役立つのではないかという議論がありましたが、Policy は何も強制しません。新しい利用規約の重要性を考えると、単なる青い吹き出し以上のものが必要です。数年前に、ポリシーを承認した際にメンバーをグループに追加するプラグインを開発しましたが、今回の件でどのように機能させるかは分かりません。

すでにかなり複雑なグループとカテゴリのセットがあるため、各カテゴリの権限を「全員」から「利用規約承認済み」に変更するだけでは済みません。「premium-group」と「tos-acceptors」の両方のメンバーであるユーザーのみを許可するように権限を変更できれば、カテゴリ権限がブール論理をサポートしていれば可能かもしれませんが、そうではありません。

ユーザーに通知する方法については、特に強い意見はありません。Discourse Policy の組み込み強制機能があればそれを使用しますが、今回は青い吹き出し以上のものが必要です。

利用規約承認済みグループのメンバーでない場合に、パーマリンクでリダイレクトすることも検討しました。ユーザーIDまたはユーザー名をクエリパラメータとしてパーマリンクURLに追加できれば、これもまだ選択肢です。DocuSignなどにリダイレクトする場合、Webhookを設定して「利用規約承認済み」グループに追加することで、リダイレクトを停止させることができます。これはより良い計画でしょうか?

「いいね!」 1

既存の「Gate」コンポーネントのいずれかを見て、その基準を調整してみてはどうでしょうか?これらは非常に煩わしいブロッカーを備えており、ユーザーに期待されることをわかりやすく伝えてくれます。

「いいね!」 3

Discourse Custom Wizard プラグインの機能を使用して、ユーザーに ToS の承諾を促すことができるかもしれません。

https://discourse.pluginmanager.org/t/wizard-settings/226

グループ メンバーシップに基づいて条件を設定したり、ウィザードの出力からグループ メンバーシップを変更したりする余地は間違いなくあります。

「いいね!」 1

カテゴリの複雑な権限設定を可能にするプラグインは、多くの状況で役立つでしょう。その問題に対する開発時間の使い道としては、それが最善かもしれません。

テキスト設定のスラッグ計算式で、例えば次のようなものを使用できます。
例:「(#tos-acceptor or #direct-concern) and #premium-group」

「いいね!」 1

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.