Discourse 사용자 피드백

커뮤니티 구성원들이 서로에게 리뷰와 평가를 할 수 있도록 하고 싶으신가요? 이제 이 기능을 커뮤니티에 활성화할 수 있습니다!

개요

Discourse User Feedbacks 플러그인은 각 사용자가 다른 커뮤니티 구성원에게 평가와 피드백을 남길 수 있도록 합니다.

각 사용자는 관리자(Admin)를 포함한 다른 커뮤니티 구성원에게 피드백을 남길 수 있습니다.

이 기능은 다른 사용자에 대한 청중의 의견을 이해하는 데 도움이 되는 커뮤니티에 유용합니다.

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개의 좋아요

아흐메드의 플러그인은 언제나 훌륭합니다.

마켓플레이스 유형의 서비스의 경우, 플러그인에는 특정 그룹 멤버만 리뷰를 받을 수 있도록 하는 그룹 제한 기능이 있어야 합니다.

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: !


요약하면:

다음과 같은 개선 사항이 반영되면 좋겠습니다:

  • 내부 참조를 위한 링크 필드 추가
  • “특정 카테고리에서 평균 사용자 평가 표시” 추가
  • 피드백이 0개, 1개, 여러 개인 경우의 문구 추가
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+관리자+모더레이터가 관련 없는 피드백을 삭제할 수 있도록 허용하겠습니다.

리포트해 주셔서 감사합니다. 3가지 옵션을 모두 추가하겠습니다.

좋은 기능 제안입니다. 관리자가 평점을 표시할 카테고리를 선택할 수 있는 설정을 추가하겠습니다.

버그를 보고해 주셔서 감사합니다. 내일까지 수정하겠습니다.

플러그인을 사용해 주셔서 감사합니다, 친구 :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개의 좋아요