<div data-theme-toc="true"></div>
| 概要 | |
| インストールガイド | |
| デモ |
機能
Discourse は標準でゲーミフィケーション機能(バッジ、信頼レベル)を備えていますが、コミュニティによってはさらにレベルアップしたい場合があります。そこで登場するのが GitHub - discourse/discourse-gamification です。
このプラグインを使用すると、管理者はコミュニティ参加によってポイントが付与されるコミュニティスコアリングコンテストを簡単に作成および調整できます。
ポイントは、その日のイベントに対して1時間ごとに自動的に更新され、スコアは1日1回、過去10日間のスコアを再計算します。
Cheers
ユーザーは、コミュニティで特定の操作を実行することで「Cheers」を獲得します。各ユーザーのCheersスコアは、ユーザーカード、ユーザープロフィールに表示され、ユーザーディレクトリで有効にすることができます。
プラグインは気に入ったが、「cheers」という名前がコミュニティに最適ではない場合、Discourse のすべてのテキストをカスタマイズする を使用して、任意の名称に変更できます。
リーダーボード
管理者は複数のリーダーボードを作成でき、それぞれにカスタムの以下の設定が可能です。
- 開始日
- 終了日
- 競合するユーザー
- リーダーボードのプライバシー
デフォルトでは、/leaderboard にデフォルトのリーダーボードが用意されており、スコアが付与され始めた最初の日からのすべてのユーザーが表示されます。
デモは Discourse Meta で確認できます。
スコアリング対象
現在、以下のイベントで Cheers が付与されます。
- 毎日の訪問
- 受諾されたフラグ
- 与えられたいいね
- 受け取ったいいね
- 作成された投稿
- 読まれた投稿
- 受諾された解決策(Discourse Solved (Accepted answer plugin) が必要)
- 読んだ時間
- 作成されたトピック
- 受諾されたユーザー招待
今後のスコアリング対象については、ロードマップ を参照してください。
スコアのバックフィル
UI の「スコアの再計算」ボタンを使用して、履歴スコアを計算するバックフィルを実行できます。これは /admin/plugins/gamification ページにあります。
これは、スコアリング対象や対象となるスコアリングカテゴリを変更した場合に、リーダーボードを再計算するためにも使用できます。1日に最大5回までリスコアを生成でき、期間を選択(またはカスタム設定)できます。
設定
グローバルなカスタマイズには以下が含まれます。
- 各アクションのスコア乗数
- ポイントを獲得できるカテゴリの制限
- プラグインの有効化と無効化
これらのプラグインレベルの設定は、/admin/site_settings/category/plugins?filter=plugin%3Adiscourse-gamification にあります。
リーダーボードを作成、削除、更新するには、管理者は /admin/plugins/gamification にアクセスできます。
ウィジェットとしての使用
これは、Right Sidebar Blocks theme component 内の小さな形式のウィジェットとしても表示できます。詳細についてはそちらを参照してください。
スコアに基づくバッジ
Enable Badge SQL を使用して、ゲーミフィケーションスコアに基づく自動バッジを設定できます。
ユーザーが9000以上のCheersを持っている場合のバッジの例を以下に示します。
SELECT user_id, current_timestamp AS granted_at
FROM gamification_scores
WHERE (:backfill OR user_id IN (:user_ids))
GROUP BY 1
HAVING SUM(score) > 9000
変更履歴
- 2022-05-02T03:00:00Z - 公開リリース
- 2022-05-10T05:00:00Z - 最近の変更をロードマップに追加
ロードマップ
(おおよその順序)
-
リーダーボードが
prioritize usernames in uxの無効化を尊重するようにする -
リーダーボードの表彰台で高解像度のアバターを使用する
-
バッジごとのカスタムスコアリングを追加する
-
リアクションごとのスコアリングを追加する(Discourse Reactions Beyond Likes が必要)
-
チャットイベントのスコアリングを追加する(Discourse Chat が必要)
-
投票イベントのスコアリングを追加する(投票の作成、投票への参加)
-
メディアイベントのスコアリングを追加する(画像の投稿、動画の投稿、oneboxの投稿)
実装済み:
カスタムスコア列のユーザーディレクトリでi18nテーブルタイトルを修正ステージングユーザーを無視匿名化されたユーザーを無視(メールアドレスが@anonymized.invalidに一致)リーダーボード編集フォームのスタイル設定リーダーボードの「あなた」リンクがフローティングヘッダーに対応するために、より大きなオフセットを必要とする..自分のユーザーの位置が100を超える場合に、リーダーボードで自分のユーザーのハイライトが機能しない問題を修正ユーザーカード/プロフィールのCheersスコアにi18nの桁区切りを追加リーダーボードに期間フィルターを追加リーダーボード設定にデフォルトの期間フィルターを追加リーダーボード設定にexcluded_groups_idsを追加管理者がユーザーに任意のポイントを付与/削除できるようにし、Discourse外のスコアリングイベントとの統合を可能にするスコアをクリックするとリーダーボードにリンクするようにする(ユーザープロフィールとユーザーカードの両方)
私たちがホストしていますか?このプラグインは、当社の Business および Enterprise プランで利用可能です Gamification | Discourse - Civilized Discussion







