在StackExchange上获得徽章很有趣。但是除此之外,它还可以促进用户之间的高质量互动,并有助于清除垃圾邮件(我从未在该网站上看到垃圾邮件)。
我有一个大约有500位活跃用户的社区网站,但是垃圾邮件发送者开始变得越来越多。
我希望有一种方法可以使网站更具吸引力,同时促进相同质量的交互性。
您将如何建议建立良好的声誉系统以及目标达成系统?
在StackExchange上获得徽章很有趣。但是除此之外,它还可以促进用户之间的高质量互动,并有助于清除垃圾邮件(我从未在该网站上看到垃圾邮件)。
我有一个大约有500位活跃用户的社区网站,但是垃圾邮件发送者开始变得越来越多。
我希望有一种方法可以使网站更具吸引力,同时促进相同质量的交互性。
您将如何建议建立良好的声誉系统以及目标达成系统?
Answers:
尽管有7.x版本的User Badges(用户徽章)尚不适合生产(从2012年6月4日开始),但有User Points模块和User Badges模块。
幸运的是,用户积分与“ 规则”模块集成在一起,它使您可以极大地定制用户获得(或可能失去)积分的方式。
还提供了一些集合的模块,用于不同稳定性的用户点。您当然可以使用这些模块设置一些令人惊奇的东西,但是请务必仔细测试您的实现-尽管这些模块编写良好且相当稳定,但仍有很多地方可能出问题,因此请确保验证所有功能正常。
您的问题实际上包括两部分,即有关如何实现的部分:
继续阅读有关如何实现这两个系统的更多详细信息。
对于这类系统,通常可以选择2个模块,即:
该成果模块,作为另一个答案建议了。该模块严重依赖于自定义编码来处理许多功能。
该目标模块(披露:我是它的维护者),可用于在您的网站激励任何东西,如投票,共享内容,创建关系,等等。
目标和任务是使用可实地实体实现的。要完成的任务的一些示例可能是:
您可以通过“管理字段”和/或“管理显示”自定义目标。一切都只能通过网站建设功能完成(不涉及自定义代码),尽管也可以使用钩子将其集成到自定义代码中。因此,目标模块是使用管理界面配置构建的。另外,“目标”模块中的目标和任务是可现场设置的实体,因此您可以灵活地添加其他字段并将这些实体合并到“ 视图”中。使用Goals Extras
子模块,它也与用户点模块集成在一起。
转至目标视频,其中包括:
通过使用答案模块(公开:我是它的(共同)维护者),您可以“ 放入良好的信誉系统 ”(如您的问题所示)。以下是有关它的一些详细信息(来自其项目页面):
通过Answers,可以在Drupal站点中实施“问答系统”。用户可以发布问题,其他用户可以回答问题。
请访问其项目页面以获取更多详细信息。访问其演示站点,以演示基于View的列表(以匿名用户的只读模式):
在“核心”答案模块使内容类型的问题和答案,而答案显示它们涉及到问题的下方。这两种内容类型是可靠的,您可以管理它们的显示等。
使用其子模块来启用选定的功能(基于站点的要求),即:
它的许多“业务逻辑”都是通过各种可配置的规则(使用“ 规则”模块)实现的。例如,如果您不同意关于已批准(或已否决)问题(或答案)获得多少“用户点”的现成规则,则只需使用“规则”用户界面来调整这些点的数量符合您的要求。例如:投降票的问题真的应该是免费的(即:投降票的人是否应该放任自流?)。
为了完整起见,以下是一条规则(以“规则”导出格式),用于将“ +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"
}
}
]
}
}