StackExchangeサイトに似たDrupalのバッジを使用したレピュテーションベースのシステムの実装方法


16

StackExchangeでバッジを獲得するのは楽しいです。ただし、ユーザーからの質の高いやり取りを促進し、スパムの排除に役立ちます(サイトにスパムの投稿を見たことはありません)。

約500人のアクティブユーザーがいるコミュニティWebサイトを持っていますが、スパマーはますます多くなり始めています。

同じ品質の双方向性を促進しながら、サイトをより魅力的にする方法が欲しいです。

優れた評判システムと目標達成システムを導入することをどのようにお勧めしますか?


元の質問で言及されたスパマーに関して:彼らはまだそこにいるでしょう。したがって、これらのスパマーは、drupal.stackexchange.com / questions / 121382 /…で Free Radicalが提供した回答で行われた提案に従うことで対処できます。
gpruim

回答:


17

ありますポイントは、ユーザーモジュールとユーザーバッジのユーザーバッジの7.xのバージョンは(2012年6月4日の時点で)まだ生産には適していないですが、モジュールは、。

ありがたいことに、ユーザーポイントはルールモジュールと統合されているため、ユーザーがポイントを獲得する(または失う可能性がある)方法を大幅にカスタマイズできます。

さまざまな安定性のユーザーポイントため提供されたモジュールのコレクションもあります。これらのモジュールを使用して確かに素晴らしいものをセットアップできますが、実装を慎重にテストしてください。モジュールは十分に記述されており、かなり安定していますが、まだ多くの問題が発生する可能性があるため、すべてが正しく機能することを確認してください。


11

バッジには、実績モジュールがあります。

Achievementsモジュールは、Xbox 360、Playstation 3、Foursquare、Gowalla、GetGlueなどで見られるシステムと同様の実績とバッジを作成する機能を提供します。Drupalサイトの場合、これは特定の回数のコメント、フォーラムトピックの開始、毎日サイトへのアクセス、または追跡とコーディングが可能なその他のことを意味します。


1

あなたの質問は本当に2つの部分から成り立っています。すなわち、実装方法についてです。

  • 評判システムの特定のユーザについて複数のユーザーによる評価のようなものです。
  • 目標達成システムなど、さまざまなタスクを完了した後、ユーザーに報酬を与えるようなもので、挑戦、

両方のシステムのそれぞれを実装する方法についての詳細を読んでください。

目標達成システム

通常、この種のシステムには2つのモジュールから選択できます。

  1. 実績は、すでに別の回答で提案されているように、モジュール。このモジュールは、多くの機能を処理するためにカスタムコーディングに大きく依存しています。

  2. 目標のモジュール(情報開示:私はそれのメンテナだ)関係を作成するコンテンツを共有、投票など、あなたのサイト上で何かを奨励するために使用することができ、など

    目標タスクは、フィールド化可能なエンティティを使用して実装されます。完了するタスクの例は次のとおりです。

    • 3日間連続して1日に1回サイトにログインします。
    • 選択したコンテンツタイプの多数のノードを投稿します。
    • サイトでフレンド接続を作成します。
    • 等。

    [フィールドの管理]や[表示の管理]で目標をカスタマイズできます。カスタムコードに統合するためのフックを使用できますが、すべてはサイト構築機能のみで実行できます(カスタムコードは含まれません)。したがって、目標モジュールは、管理インターフェイス構成を使用して構築されます。さらに、Goalsモジュール内の目標とタスクはフィールド化可能なエンティティであるため、フィールドを追加してこれらのエンティティをViewsに組み込む柔軟性があります。Goals Extrasサブモジュールを使用すると、ユーザーポイントモジュールとも統合されます。

    以下を含む目標のビデオをご覧ください。

    • モジュールの一般的な紹介。
    • インストール、構成、使用するデモ。
    • ルールモジュールを使用して魔法をかける方法のサンプル(つまり、さまざまな目標を達成するためにユーザーの進行状況を追跡する)。

評判システム

使用して回答のモジュールに(情報開示:私はそれの(共)メンテナだが)あなたは「できる良い評判システムに入れて(あなたの質問のように)」。以下に、プロジェクトページからの詳細を示します。

Answersを使用すると、Drupalサイトに質疑応答システムを実装できます。ユーザーは質問を投稿でき、他のユーザーは質問に回答できます。

詳細については、プロジェクトページをご覧ください。デモサイトにアクセスして、ビューベースのリストのデモ(匿名ユーザーの読み取り専用モード)をご覧ください。

「コア」回答のモジュールは、コンテンツタイプができ質問回答の回答は、彼らがに関する質問の下に表示されているのに対し、。これら2つのコンテンツタイプはフィード可能であり、表示などを管理できます。

そのサブモジュールを使用して、選択した機能を有効にします(サイトの要件に基づいて)、すなわち:

  • Answers Best Answer:特定の質問への回答のいずれかをベスト(受け入れられた)回答としてマークすることができます(各回答の左側に青色のチェックマークを表示し、回答がマークされると緑色のチェックマークに置き換えられます)ベストアンサーとして)。
  • Answers Theme質問(およびその下の関連する回答)の(やや退屈な)バニラ表示を、より魅力的なルックアンドフィールに変換します。質問の周りに追加されるオレンジ色のバブルなど(よりわかりやすくするため)。
  • Answers Notification。ログインしたユーザーが選択した質問をサブスクライブできるようにして、質問がAnswersを受け取ったときに( Message Stackを使用して)通知を受け取るようにします。
  • Answers Voting、質問および/または回答( Rateモジュールを使用)のいずれかをアップまたはダウン投票するシステムを実装します。
  • Userpoints回答し、質問または回答に対するアップまたはダウン投票などのイベントで「レピュテーションポイント」( Userpointsモジュールを使用)を増減したり、回答を「ベストアンサー」としてマークしたりします。

その非常に多くの「ビジネスロジック」は、(Rulesモジュールを使用して)あらゆる種類の構成可能なルールを介して実装されます。例として、アップ投票(またはダウン投票)された質問(または回答)に付与される「ユーザーポイント」の量に関する標準のルールに同意しない場合は、ルールUIを使用して、要件へのそのようなポイントの量。例:ダウンボーティングの質問は本当に無料である必要があります(つまり、ダウンボーターはそうすることでポイントを失うべきですか?)。

完全を期すために、以下にルール(ルールエクスポート形式)を示します。これは、回答の作成者に「+15」ポイントを付与し、その回答を承認済みとしてマークするユーザーの「+2」ポイントを付与するために使用されます(= 質問の作成者)、そのようにマークするには、その回答に「ベストアンサー」としてフラグを立てます(フラグモジュールを使用)。

{ "rules_flag_answers_best_answer" : {
    "LABEL" : "flag_answers_best_answer",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "TAGS" : [ "answers" ],
    "REQUIRES" : [ "rules", "userpoints_rules", "flag" ],
    "ON" : { "flag_flagged_best_answer" : [] },
    "IF" : [
      { "NOT data_is" : { "data" : [ "flagging-user" ], "value" : [ "flagged-node:author" ] } }
    ],
    "DO" : [
      { "userpoints_action_grant_points" : {
          "user" : [ "flagged-node:author" ],
          "points" : "15",
          "tid" : "0",
          "entity" : [ "" ],
          "operation" : "addPoints",
          "display" : 1,
          "moderate" : "default"
        }
      },
      { "userpoints_action_grant_points" : {
          "user" : [ "flagging-user" ],
          "points" : "2",
          "tid" : "0",
          "entity" : [ "" ],
          "operation" : "addPoints",
          "display" : 1,
          "moderate" : "default"
        }
      }
    ]
  }
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.