Discourse 用户反馈

您希望您的社区成员能够对其他社区成员进行评价和评分吗?现在您可以为您的社区启用此功能!

概述

Discourse 用户反馈插件允许每个用户对其他社区成员进行评分和反馈。

每个用户都可以向包括管理员在内的其他社区成员提供反馈。

此功能可以帮助那些了解其受众对其他用户看法的社区。

它对于提供 Marketplace 类型服务的社区等很有帮助。

用户可以访问 用户个人资料反馈 来向其他用户提供反馈。

平均评分可以根据站点设置显示在用户卡片上、帖子上用户名旁边以及用户个人资料页面上。

用户个人资料

用户卡片

帖子用户名旁边

设置

:link: 仓库链接

:link: 如何安装插件

配置

您可以配置以下站点设置:

  • user feedbacks enabled 启用插件。
  • user feedbacks allow reviews 允许用户为他人提供评价。
  • user feedbacks display average ratings beside username on post 在用户帖子的用户名旁边显示平均用户评分。
  • user feedbacks display average ratings on profile 在用户个人资料上显示平均用户评分。
  • user feedbacks display average ratings on user card 在用户卡片上显示平均用户评分。
  • user feedbacks hide feedbacks from user 向非管理员用户隐藏反馈。

:warning: 注意

请在将插件用于实时论坛之前进行测试。

24 个赞

喜欢这个。有机会成为“官方”吗?:pray:

5 个赞

我对此无法置评。这完全取决于团队是否想接管。

4 个赞

我添加了一个匿名化用户反馈的功能:

  • 只有管理员才能查看用户收到的来自其他成员的评分+评论。
  • 普通用户只能查看他们给其他人的评分。
  • 平均评分对所有人可见。

这可以解决用户之间的“评分大战”问题,并匿名化提供反馈的用户身份。

请更新插件并启用 user_feedbacks_hide_feedbacks_from_user 设置。

3 个赞

一如既往,Ahmed 的插件很棒。

对于 marketplace 类型服务,该插件应具有限制到组的功能,只有指定的组成员才能收到评论。

3 个赞

感谢 @Mr.X_Mr.X

这是正确的,但它只适用于将 Marketplace 类别限制给任何组的论坛。我还没有见过有这样的论坛,但如果有些用户需要这个,我会将其添加到插件中。

2 个赞

你好!我喜欢你做的东西。我在 Github 仓库里没有看到许可证,请问可以如何使用?

3 个赞

感谢 @Ocarune
它采用 MIT 许可证,我稍后会添加许可证,但感谢提醒!

3 个赞

非常感谢! :slight_smile:

3 个赞

谢谢!

您是否考虑过为内部参考设置一个专用字段?这可以用于链接到销售该商品的某个主题,或者类似的东西。

1 个赞

我将对此进行回复,看看 @Ahmed_Gagan 是否有任何想法?

我还想建议将 ${count} 视为三个字符串,而不是一个字符串。

  • 无反馈
  • 1 条反馈
  • 多于 1 条反馈

另外,还有一件事:
如果能有“切换”来选择显示评分的位置,那就太好了。假设我有一些类别叫做:“我想购买 X”和“我想出售 Y”。在这里,我想标记这两个类别,这样评分就会显示在用户旁边,而不是显示在所有其他不相关的类别中。

我还想听听您对版主应如何删除任何不需要的反馈的看法? :slight_smile:

再次感谢您的付出。 :partying_face:


简而言之:

我希望看到以下改进:

  • 链接字段到内部引用
  • 添加“在特定类别中显示平均用户评分”
  • 添加零条、一条或多条反馈的措辞
1 个赞

很高兴看到有人开源这个

1 个赞

您好 @Ahmed_Gagan

这很遗憾地破坏了 Discourse 的原生功能:
https://meta.discourse.org/t/cant-get-who-liked-a-post-post-action-type-id-2-returns-error-500/223800/2?u=exetico

您知道这件事吗?我也想知道插件是如何破坏 Discourse 的原生路由的。

1 个赞

您好 @exetico

我曾在 swapd.co 论坛上看到过类似的功能,但还没有时间将其添加到插件中。它在我的路线图中。

添加此功能后,我会通知您。

听起来不错,但我们可以允许 tl4+管理员+版主删除不相关的反馈。

感谢您的反馈,我将添加所有 3 个选项。

这听起来是个不错的功能,我将添加一个设置,管理员可以选择要在其中显示评分的类别。

感谢您报告此错误,我将在明天添加修复程序。

感谢您使用此插件,伙计 :blush:

5 个赞

您好,

感谢您的积极回复。关于 Bug 和改进的进展如何?:clap: :blush:

它在前进吗?

在存储库中未找到更改,但我还是想问一下 :slight_smile:

1 个赞

@exetico
我已经在外面旅行了20天,将在接下来的5-6天内修复它

帖子点赞者通常返回的端点在我们的论坛上返回 500 错误。

GET 请求:

https://domain.com/post_action_users?id=512345&post_action_type_id=2

响应:

{"status":500,"error":"Internal Server Error"}

我们正在使用:

2.9.0.beta3 (be519d2aec)

通过使用“数据探索器”插件,“点赞”详情按预期找到。

所以我想知道最新版本是否存在问题?

1 个赞

这不幸地与以下内容有关:

Rails 日志

Started GET "/post_action_users?id= 512345&post_action_type_id=2" for <clientIp> at 2022-04-09 16:57:10 +0000
Processing by PostActionUsersController#index as JSON
  Parameters: {"id"=>"512345", "post_action_type_id"=>"2"}
Completed 500 Internal Server Error in 23ms (ActiveRecord: 0.0ms | Allocations: 8877)
NoMethodError (undefined method `feedbacks' for nil:NilClass)
(eval):12:in `_fast_attributes'
app/controllers/application_controller.rb:497:in `serialize_data'
app/controllers/post_action_users_controller.rb:41:in `index'
app/controllers/application_controller.rb:400:in `block in with_resolved_locale'
app/controllers/application_controller.rb:400:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:358:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'

所以与主解决方案中的任何内容都无关。
我将转到另一个专门讨论该插件的帖子。

3 个赞

您好 @exetico :slight_smile: 我已将您的 Bug 报告移至相关的插件主题,希望能让相关人员看到。:crossed_fingers:

编辑: 不过,我好像没有仔细阅读,您已经做过类似的事情了。@Ahmed_Gagan,抱歉打扰了 :pray:

4 个赞