特定のバッジを持つユーザー名を表示しない

特定のバッジを持つユーザーのリストを非表示にする方法はありますか?

Don't list members having the same badgesHide badge user list? を見ましたが、私たちのユースケース(あるいは、より可能性が高いのはエッジケース)には完全には合致しませんでした。

バッジはコミュニティで非常に人気があり、エンゲージメントのための素晴らしいリソースです。

Discourse には、購読者/有料メンバーのみが利用できるプレミアムカテゴリがあり、それらの有料メンバーにプロフィール用のゴールドバッジを付与したいと考えています。この例では、「Extra Special Member」と呼びましょう。

有料メンバーの数は、商業的に機密性の高い数字です。

その数は、「Extra Special Member」バッジを持つ人であれば誰でも漏洩してしまいます。バッジページでは非表示になっていても、自分のバッジをクリックするだけで、そのバッジを保持している他のすべてのメンバーを見ることができます。

特定のバッジだけを保持している他のユーザーが表示されないようにする方法はありますか? :thinking:

代わりにフレアを使用していただけませんか?

うーん :thinking:

可能性はあります…

この警告は、機密性の高いメンバー番号が漏洩するリスクを伴いますか?

これはプライマリグループであるため、CSSクラスには「hidden_group_test_2」という名前が使用され、誰でも表示できます。

派手な色使いはご容赦ください。テスト用です。

「いいね!」 1

グループ名が非表示のまま漏洩することには異存ありませんが、メンバーリストやメンバー数は漏洩しないでください。

いくつかのテストを実行しましたが、これも私たちのユースケースには最適ではないようです。

フレア(非公開グループからのもの)はユーザーに適用されますが、他のグループに参加した瞬間に、そのグループのフレアに置き換えられてしまいます。

プロフィールでは、公開グループのフレアしか選択できなくなり、特別なメンバーフレアへのアクセスを完全に失い、再適用できなくなります :confused:

他のグループにもこの設定はありますか?

Screenshot 2023-02-07 at 2.09.34 PM

これは、各グループの「管理/メンバーシップ」の「エフェクト」の下にあります。

このグループにのみ設定されていて、他のグループには設定されていない場合、上書きされるべきではありません。

プライマリグループがユーザーのデフォルトのフレアとタイトルを決定します。

「いいね!」 1

はい、すべてのグループに設定されているため、参加したばかりのグループのフレアが表示されます。

他の考えとしては、すべてのユーザーに「ゲスト」などのタイトルを強制するというものがありましたが、それはバッジタイトルに変更されてしまう可能性があります。タイトルを変更できないようにすることはできないと思います。

ゲストとメンバーがお互いを(つまりバッジで)識別できる方法を探していますが、Extra Special Members の数を漏らさないようにしたいのです。

他に革新的な解決策や回避策はありますか?

「ユーザーフィールド」で何か賢いことができるでしょうか?

「ステータス」という名前のユーザーフィールドを作成し、プロフィールに表示できるようにしますが、ユーザー自身が編集できないようにします。その後、API呼び出しでこの「ステータス」ユーザーフィールドを自動的に更新できますか? (API呼び出しを発行してグループに追加します)

これは何か掴んだかもしれません:

「メンバー」というユーザーフィールドを作成し、編集できないようにしました。

テストのためにユーザーを1人編集すると、プロフィールに「メンバー:はい」と表示されます。

しかし、おそらくこれが決め手になるでしょう:

これをどのように進めればよいでしょうか? :thinking:

すでに実行されている既存のAPIコールがあり、誰かがメンバーになると、Discourseにグループに追加するAPIコールを発行します。このユーザーフィールドを更新するために2番目のAPIコールを発行することもできますか?

もちろんです :slight_smile:

Discourse で何らかのアクションを実行するたびに、ブラウザの開発者ツールのネットワークタブを確認して、実行されたクエリを確認できます。

たとえば、ここでユーザーのプロフィールを保存します。

リクエスト URL にはユーザー名が表示され、リクエストの種類(PUT)も表示されます。
ペイロードタブには、関連するデータが表示されます。

カスタムフィールドは user_fields[X] としてリストされ、X はカスタムフィールドの番号です。


編集:Dev で解決したことに気づいたので、クロスリンクしておきます… :slight_smile:

「いいね!」 1