バッジ6個の制限を回避

私たちのコミュニティでは、バッジに非常に特定の用途があります。一部のコミュニティは4つのバッジで十分です。

しかし、24個ものバッジを持つユーザーもいます!

image

max_favorite_badges の値を6より大きく設定できる方法があるか知りたいです。

discourse(prod)> SiteSetting.max_favorite_badges = 50
lib/site_settings/type_supervisor.rb:308:in 'SiteSettings::TypeSupervisor#validate_value': max_favorite_badges: 値は0から6の間である必要があります。 (Discourse::InvalidParameters)

いいえ。最大値はここで設定されています:

最大値を変更する方法はないと思います。通常、それには理由があります。

推奨値を回避する方法があるかご存じですか?(例えば、バッジ関連の機能に問題が起きた場合のサポートがないといったリスクを考慮した上で)

具体的に、なぜそんなに多くの「お気に入り」を許可する必要があるのでしょうか?
ユーザーカード(特にデフォルトのテーマでは)に24個のバッジを表示するのは多すぎると思います。その「お気に入り」をどこで使用しようとしているのでしょうか?もしかすると、このサイト設定を使用する以外の代替案があるかもしれません。例えば、Post Badges プラグインを使えば、ユーザーは自分のバッジの中から、投稿時に名前の隣に表示させたいものを選択できます。

いいえ、現時点ではそれは不可能だと思います。設定された制限を回避できるようにするのは悪い考えです。私が言ったように、それらの制限にはほぼ常に理由があります。

ユーザーはプロフィール上にすべてのバッジを表示したいと考えています。これは特定のコミュニティタイプに対するリクエストで、複数のコンテストに参加したり、「メンター」「モデレーター」、あるいは「翻訳者」として活動している人々が、それらのすべての役割を示せる場所を求めているためです。現在、グループとバッジの両方を持っていますが、投稿にはグループのアイコン 1 つしか表示できず、ユーザーカードにはバッジ(6 個)しか表示できません。

確認しましたが、すべてのバッジ(管理者作成)はデフォルトで表示される必要があります。また、そのプラグインではそのような設定はできないようです。

これはコミュニティの仕組み(Resoniteプラットフォーム上のバッジの扱い)に大きく依存するため、コミュニティ固有の要件です。だからこそ、非常に具体的なリクエストとなっているのです :stuck_out_tongue:

すべてのバッジはプロフィール上で表示されています。私のすべてのバッジはここで確認できます:https://meta.discourse.org/u/moin/badges

リンクしたプラグインのことですか、それともテーマコンポーネントのことですか?
必ずしも必要なものとは限りませんが、必要な機能を作成するための良い出発点にはなるかもしれません。

プラグインですね、テーマコンポーネントへのリンクはなかったはずです…と思います。

私の目がおかしいのでしょうか。プラグインと呼んでおられましたが、実際にはテーマコンポーネントでした。であれば、その場合はコンポーネントの方ですね。

再度確認しましたが、コンポーネントで対応は可能ですが、160 個ほどのバッジをすべて手動で追加する必要があります。こちらをご覧ください:

プラグインと呼んだのは、リンクした投稿にプラグインが含まれていたからです。それがテーマコンポーネントのトピック内で議論されているのは私のせいではありません :person_shrugging:

このプラグインではユーザーがバッジを選択できますが、コンポーネントでは管理者が表示するバッジを決定します。プラグインの方がお気に入りを選択する機能に近いと考えたのです。

カスタムプラグイン、またはレイアウトの問題を修正するためのいくつかの Rails コマンドとそれに伴う CSS を使えば、12 個程度に増やすことはおそらく可能ですが、50 個にすると JSON ペイロードが肥大化し、多くの機能が破綻してしまいます。デフォルトのハードコードされたバッジ制限を増やすことは、非常に脆弱になると思います。

サイトを拝見しましたが、多くの項目は自己申告型のグループ、あるいはユーザーフィールド(例えば性的指向や障害に関するものなど)で対応できるのではないでしょうか。バッジは、他のバッジがそうであるように、あるいはそう見えるように、達成のために使うべきものです。

もしフラグのフレイアがあなたにとって重要でないのであれば、そのような項目はユーザーフィールドとして設定することをお勧めします。

その通りです。私の意見では、理由がわかっている場合は、その理由を共有するのが良いことが多いです :slight_smile:
可読性のためかもしれません。リクエストの最適化のためかもしれません。両方のため、他の目的のため、何でもありです。
個人的には、誰かが何かについて質問し、ある時点で理由が明らかにされると、とても満足感を得ます :smile:
時には、ユーザーが理由自体を正当に疑問視することもあります :slight_smile:


@codixer インターフェースから制限を増やせない場合、Contribute > Feature で投稿するのが最善策です(プラグイン方式を試すこともできますが、プラグインを使ってもこの設定を上書きできるかはわかりません)。
トピックに反応がなく、他の誰も(特に顧客から)この要望を出していない場合、変更が実現する可能性は低いですが、機能リクエストを提出しても害はありません!
他の多くの人のように、私も時々、素晴らしいアイデアだと思っていたにもかかわらず、いいねや投票が全く得られなかった機能リクエストを開いたことがあります :face_with_tongue:

はい、ユーザーのグループに基づいて表示できる何かを探しています。グループだけではうまくいきませんでした。代替案はありますか?

それは、実際のプラットフォームと同じです。もし代替案があれば、どんなものでも歓迎します :smiley:

予算があり、これを必要とする場合は、Marketplace に投稿してください。お手伝いできるかもしれません。

もし私が知っていたら、あなたと同じ理由でそれを言ったはずです :sob: 私は単に、6 という数字が何らかの形で選ばれたのだろうと考えていました。完全に根拠のない推測をすれば、ユーザーカードの可読性のためだと思います(6 はすでに多いので)。ただし、スタッフの方が私よりもよくご存知でしょう :slightly_smiling_face: