StackExchangeでバッジを獲得するのは楽しいです。ただし、ユーザーからの質の高いやり取りを促進し、スパムの排除に役立ちます(サイトにスパムの投稿を見たことはありません)。
約500人のアクティブユーザーがいるコミュニティWebサイトを持っていますが、スパマーはますます多くなり始めています。
同じ品質の双方向性を促進しながら、サイトをより魅力的にする方法が欲しいです。
優れた評判システムと目標達成システムを導入することをどのようにお勧めしますか?
StackExchangeでバッジを獲得するのは楽しいです。ただし、ユーザーからの質の高いやり取りを促進し、スパムの排除に役立ちます(サイトにスパムの投稿を見たことはありません)。
約500人のアクティブユーザーがいるコミュニティWebサイトを持っていますが、スパマーはますます多くなり始めています。
同じ品質の双方向性を促進しながら、サイトをより魅力的にする方法が欲しいです。
優れた評判システムと目標達成システムを導入することをどのようにお勧めしますか?
回答:
ありますポイントは、ユーザーモジュールとユーザーバッジのユーザーバッジの7.xのバージョンは(2012年6月4日の時点で)まだ生産には適していないですが、モジュールは、。
ありがたいことに、ユーザーポイントはルールモジュールと統合されているため、ユーザーがポイントを獲得する(または失う可能性がある)方法を大幅にカスタマイズできます。
さまざまな安定性のユーザーポイントのために提供されたモジュールのコレクションもあります。これらのモジュールを使用して確かに素晴らしいものをセットアップできますが、実装を慎重にテストしてください。モジュールは十分に記述されており、かなり安定していますが、まだ多くの問題が発生する可能性があるため、すべてが正しく機能することを確認してください。
あなたの質問は本当に2つの部分から成り立っています。すなわち、実装方法についてです。
両方のシステムのそれぞれを実装する方法についての詳細を読んでください。
通常、この種のシステムには2つのモジュールから選択できます。
実績は、すでに別の回答で提案されているように、モジュール。このモジュールは、多くの機能を処理するためにカスタムコーディングに大きく依存しています。
目標のモジュール(情報開示:私はそれのメンテナだ)関係を作成するコンテンツを共有、投票など、あなたのサイト上で何かを奨励するために使用することができ、など
目標とタスクは、フィールド化可能なエンティティを使用して実装されます。完了するタスクの例は次のとおりです。
[フィールドの管理]や[表示の管理]で目標をカスタマイズできます。カスタムコードに統合するためのフックを使用できますが、すべてはサイト構築機能のみで実行できます(カスタムコードは含まれません)。したがって、目標モジュールは、管理インターフェイス構成を使用して構築されます。さらに、Goalsモジュール内の目標とタスクはフィールド化可能なエンティティであるため、フィールドを追加してこれらのエンティティをViewsに組み込む柔軟性があります。Goals Extras
サブモジュールを使用すると、ユーザーポイントモジュールとも統合されます。
以下を含む目標のビデオをご覧ください。
使用して回答のモジュールに(情報開示:私はそれの(共)メンテナだが)あなたは「できる良い評判システムに入れて(あなたの質問のように)」。以下に、プロジェクトページからの詳細を示します。
Answersを使用すると、Drupalサイトに質疑応答システムを実装できます。ユーザーは質問を投稿でき、他のユーザーは質問に回答できます。
詳細については、プロジェクトページをご覧ください。デモサイトにアクセスして、ビューベースのリストのデモ(匿名ユーザーの読み取り専用モード)をご覧ください。
「コア」回答のモジュールは、コンテンツタイプができ質問と回答の回答は、彼らがに関する質問の下に表示されているのに対し、。これら2つのコンテンツタイプはフィード可能であり、表示などを管理できます。
そのサブモジュールを使用して、選択した機能を有効にします(サイトの要件に基づいて)、すなわち:
その非常に多くの「ビジネスロジック」は、(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"
}
}
]
}
}