Отзывы пользователей Discourse

Хотите, чтобы участники вашего сообщества оставляли отзывы и оценки другим участникам? Теперь вы можете включить эту функцию для своего сообщества!

Обзор

Плагин Discourse User Feedbacks позволяет каждому пользователю оценивать и оставлять отзывы другим участникам сообщества.

Каждый пользователь может оставлять отзывы другим участникам сообщества, включая администраторов.

Эта функция будет полезна сообществам, которые хотят понять мнение своей аудитории о других пользователях.

Она особенно полезна для сообществ, предлагающих услуги типа 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: Внимание

Пожалуйста, протестируйте плагин перед использованием на рабочем форуме.

29 лайков

Супер! Есть ли шанс стать официальным? :pray:

6 лайков

Я не могу ничего сказать по этому поводу. Всё полностью зависит от @team, хотят они взять это под контроль или нет.

4 лайка

Я добавил функцию для анонимизации отзывов пользователей:

  • Просмотр рейтингов и отзывов, полученных от других участников, доступен только администраторам.
  • Обычные пользователи могут видеть только свой собственный рейтинг для любого другого пользователя.
  • Средние рейтинги видны всем.

Это поможет решить проблему войны рейтингов между пользователями и обеспечит анонимность автора отзыва.

Пожалуйста, обновите плагин и включите настройку user_feedbacks_hide_feedbacks_from_user.

3 лайка

Отличный плагин, как всегда от Ahmed.

Для услуг типа marketplace плагин должен иметь функцию ограничения по группе, чтобы отзывы могли оставлять только члены определённой группы.

3 лайка

Спасибо, @Mr.X_Mr.X

Это верно, но это будет применяться только к тем форумам, у которых категория Marketplace ограничена для определённых групп. Я не видел форумов с такой настройкой, но если есть пользователи, которым это нужно, я добавлю эту функцию в плагин.

3 лайка

Привет! Мне очень нравится то, что вы создали. Однако в репозитории на GitHub я не вижу лицензии. Какое использование разрешено?

3 лайка

Спасибо @Ocarune
Это распространяется под лицензией MIT. Я добавлю информацию о лицензии чуть позже, спасибо за напоминание!

3 лайка

Спасибо большое! :slight_smile:

3 лайка

Спасибо!

Вы рассматривали возможность добавления отдельного поля для внутреннего справочника? Это можно было бы использовать для ссылки на тему, в которой был продан товар, или на аналогичный элемент.

1 лайк

Я подниму эту тему, чтобы узнать, есть ли у @Ahmed_Gagan какие-либо мысли по этому поводу?

Также я хотел бы предложить, чтобы ${count} имел три варианта текста вместо одного:

  • Нет отзывов
  • 1 отзыв
  • Более 1 отзыва

Кроме того, ещё один момент:
Было бы очень логично добавить переключатель для выбора, где отображать рейтинг. Например, у меня есть категории: «Я хочу купить X» и «Я хочу продать Y». В этом случае я хочу отметить эти две категории, чтобы рейтинг отображался рядом с пользователем именно в них, но не во всех остальных категориях, где это было бы неуместно.

Также хотел бы услышать ваше мнение о том, как, по вашему замыслу, модераторы должны удалять нежелательные отзывы? :slight_smile:

Ещё раз спасибо за создание этого! :partying_face: !


Краткая суть:

Было бы здорово увидеть следующие улучшения:

  • Поле ссылки на внутреннюю ссылку
  • Добавить «Отображать средний рейтинг пользователей в конкретных категориях»
  • Добавить формулировки для нуля, одного или нескольких отзывов
2 лайка

Рад, что кто-то открыл исходный код этого

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+администраторам+модераторам удалять нерелевантные отзывы.

Спасибо за сообщение, я добавлю все три варианта.

Звучит как хорошая идея. Я добавлю настройку, где администраторы смогут выбирать категорию, в которой хотят отображать рейтинги.

Спасибо за сообщение об ошибке, я исправлю её до завтра.

Спасибо, что используете плагин, друг :blush:

5 лайков

Привет,

Спасибо за отличный ответ. Как продвигаются дела с исправлением ошибки и внедрением улучшений? :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)

С помощью плагина «Data Explorer» детали лайков находятся, как и ожидалось.

Поэтому я теперь задаюсь вопросом, есть ли проблема с последней версией?

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: Я перенёс ваш отчёт об ошибке в соответствующую тему плагина, чтобы, надеюсь, он попал в поле зрения нужных людей. :crossed_fingers:

Редактирование: Хотя, похоже, я не прочитал его достаточно внимательно, и вы уже сделали нечто подобное. Извините за шум @Ahmed_Gagan :pray:

4 лайка