要望:投稿バッジ獲得時の視覚的表示

ユーザー同士がお互いを助け合うことを奨励したいと考えています。そこで、最初に回答し、その回答が助けになろうとするユーザーに、カスタムの「ユーザーがユーザーを助ける」バッジ(u-h-u)を授与することにしました。

この行動をたくさん促したいので、このバッジは複数回取得できるようにしました。

ユーザーの回答が助けになろうとするものか、単なる「私もです」なのかを評価するには(現時点では)人間の知性が必要なため、このバッジは手動で授与されます。

人間が介在すると、必然的に障害点が生じ、u-h-uバッジを同じユーザー/投稿に何度も授与してしまうことが容易に起こりうると気づきました。それは止められません。一度しか授与できないバッジは、バッジ授与ドロップダウンから消えますが、このバッジはそうではありません。

そのため、複数の理由(他のユーザーへの再確認を含む)から、次のようなものがあると良いと思います。

どのバッジかを示すことができれば、さらに良いのですが(画像がアップロードされた後に思いつきました :face_with_hand_over_mouth:

「いいね!」 13

それは繰り返しリクエストされています。AI関連トピック機能で表示されます。

「いいね!」 11

最初に検索しましたよ。 :flushed:

「いいね!」 7

返信が遅くなり申し訳ありません。検索を先にすべきという意味ではなく、以前から何度も要望があった機能なので、機能リクエストを支持するために返信しました。

また、新しいトピックで機能する新しい関連トピックは、単純な検索よりもはるかに優れており、検索では見つけられないトピックを見つけることができます :smile:

「いいね!」 10

プラグインはトピックのバッジを検索し、シリアライザーに追加できるということですか?それは潜在的に高価なように思えますが、クエリがどのようになるかは見ていません。

「いいね!」 4

user_badge テーブルとのJOINが1つだと思います。このテーブルには post_ids が含まれているため、それほど高価ではないはずです。

「いいね!」 3

その場合、シリアライザーにそれらを追加する非常にシンプルなプラグインと、それを表示するためのいくつかのフロントエンドの作業になります。

「いいね!」 2

こちらを優先するため、他の2つは閉じ、こちらにリダイレクトしました。

サムが他のトピックで提案したことの1つは、手動バッジを獲得した投稿にスタッフ通知を追加して、それを強調し、すでにバッジを獲得していることを示すことでした。

「いいね!」 4

しかし待ってください!もう一つあるようです。これは2016年に私が欲しかったものらしいです。私が最初だったかもしれません!:rofl:

「いいね!」 8

私のユースケースは、「ブッククラブ」トピックを作成し、本を読んでから議論した全員が「ブッククラブ」バッジを受け取ることです。毎月異なる本があるので、バッジは複数回付与できます。

APIによる自動付与や一括付与はできません。なぜなら、「この本は読みたくない」と投稿した人も技術的にはトピックの一部となり、その人にバッジを付与したくないからです。

私がこれまで行ってきたのは、スレッドを読み、誰かが読み終えてレビューを書いたらいつでも手動でバッジを付与することです。これは、少し時間がかかるものの、うまく機能する回避策です。

問題は、1か月後、誰に付与したか、誰に付与していないかを忘れてしまい、バッジが付与されているかどうかを確認するためにプロフィールをクリックし続ける必要があることです。人々は複数回獲得できるため、これは複雑になります。

要するに、誰かが投稿に対してバッジを付与された場合、そのバッジをその投稿の横に表示することは可能でしょうか?すべてのデータは存在しており、それほど難しくないように思えますか?これは追跡に非常に役立ちます!

追伸:関連する注記として、「理由」が実際には設定されていないバグがあるようです。私は確かにこの投稿で直接付与しましたが、理由は表示されません。

「いいね!」 1

@Shauny さん、投稿を既存の Feature リクエストに移動しました。これにより、一元管理できます。 :slight_smile:

見落とされないように、別途トピックを作成することをお勧めします。 :+1:

「いいね!」 3

こちらに追加作業をしています。テストに協力いただける方がいらっしゃいましたら、ぜひ! :slightly_smiling_face:

「いいね!」 7

投稿に関連して付与されるすべてのバッジが表示されますか?
特に最初の投稿では、いくつかのバッジが簡単にトリガーされます。たとえば、別のトピックへのリンクを別の行に配置するだけで、最初のリンク、最初の引用、最初のワンボックスがトリガーされます。したがって、これらのバッジを除外できると役立つと思います。実際、ほとんどのバッジを除外したいと思うので、オプトインソリューションの方が良いと思います。


システムは自身の投稿をどのように評価しますか?投稿に対して他のユーザーが獲得したバッジ(リアクションの追加など)は、投稿者のユーザー名の横に表示されますか?同じ投稿に対して複数のユーザーが「最初のいいね」を獲得した場合はどうなりますか?

「いいね!」 4

すごい!それは信じられないほど良い点ですね。バッジの設定にする必要があるようです。

「いいね!」 2

フィードバックありがとうございます!

投稿に関連して授与されるすべてのバッジが表示されるという考えです。はい。単一の投稿にいくつかのバッジを追加しようとしましたが、特に圧倒的ではないと思います。

これは、ユーザーが最初に参加したときにのみ発生する可能性があり、その場合、いくつかのバッジを短時間で獲得する可能性が高いことを考慮する価値があります。

おっと、よく気が付きました!投稿の作成者がその投稿で獲得したバッジだけでなく、投稿に対して獲得されたすべてのバッジを取得していました。

「いいね!」 5

本日、これを磨き上げました。皆さんにフィードバックをいただきたい、最近の変更点がいくつかあります。

まず、バッジにバッジタイプのカラーを追加しましたが、トピックをスクロールしているときに視覚的な邪魔になりすぎるのではないかと感じています。

皆さん、どう思いますか?問題ない、それともやりすぎでしょうか?

また、個々のバッジを除外する方法についてもさらに検討しました。新しいオプションは必要ないと思うので、代わりに各バッジにバッジのスラッグに基づいたCSSクラスを追加しました。これにより、テーマのCSSを通じて個別に非表示にすることができます。たとえば、次のようになります。

.topic-meta-data .user-badge-button-first-onebox {
  display: none;
}

これにより、それをオンまたはオフにできるだけでなく、細かなカスタマイズが可能になります。一部のバッジに注目を集めることを選択できます! :grinning_face_with_smiling_eyes:

.topic-meta-data .user-badge-button-first-onebox {
  animation: blinker 1s step-start infinite;
}

@keyframes blinker {
  50% {
    opacity: 0;
  }
}
「いいね!」 4

プログラマーではない多くの管理者についてはどうでしょうか?「CSSで非表示にできる」という議論は、Discourseの多くの機能に当てはまりますが、それでも設定が追加されることがよくあります。CSSを使用せずに無効にするオプションがあるべきだと思います。また、特定のバッジを強調するというアイデアは好きなのでオプトインソリューションを好みますが、すべてのDiscourseコミュニティでいたるところに「最初のxxx」バッジが表示されるのは好きではありません。そして、CSSの知識が必要な場合、多くの管理者は無効にする手間をかけないのではないかと心配しています。

これにより、モデレーターシールドも、それが別のバッジのように見えるため、重要性が低下すると思います。

色の違いがないと、素晴らしいトピックと優れたトピックの区別がつかなくなるため、色が気に入っています。また、カスタムの多色画像がアップロードされた場合にも役立ちます。しかし、視覚的なノイズに関する懸念は理解できます。リアクションプラグインには設定があります。

discourse reactions desaturated reaction panel

マウスオーバーするまで彩度を落として表示することで、リアクションの視覚的なノイズを軽減します

このような設定もここで機能する可能性があります。しかし、これもCSSで実行できます :slight_smile:

「いいね!」 5

色が好きです。

CSSに関してですが、一部を無効にするオプションができたことにただただ興奮しています。
オプトインの、CSSではない設定の方が良かったでしょうか?間違いなく!

しかし、ここでは私が物乞いですからね。 :sweat_smile:

「いいね!」 3

管理者がテーマのCSSを変更するためにプログラマーである必要はないと思います(例:かつてのMySpaceテーマの巨大なエコシステムを参照)。むしろ、管理者が自分のサイトを独自のものにするための実験を可能にすることを目指すべきだと思います。

各バッジをオプトインすることは完全に可能です。

// デフォルトですべてのバッジを非表示にする。
.user-badge-buttons > span {
    display: none;
}

// First Quote バッジを表示する。
.user-badge-buttons > .user-badge-button-first-quote {
    display: revert;
}

まったく同感です。ご指摘いただきありがとうございます!シールドとバッジの間に少しパディングを追加し、視覚的に分離するようにしました。

素晴らしい、ではこのままでいきましょう!:slightly_smiling_face:

「いいね!」 2

また、特定の技術知識がなくても、サイトにカスタムCSSを追加するのは比較的簡単であることも言及する価値があります:https://meta.discourse.org/t/making-custom-css-changes-on-your-site/168101。このバッジインジケーター機能のドキュメントにCSSの例を含めることができれば、サイト管理者は必要なものをコピー/ペーストして、必要に応じて編集することが非常に簡単になります。

「いいね!」 2