StackExchange 사이트와 비슷한 Drupal에서 배지를 사용하여 평판 기반 시스템을 구현하는 방법은 무엇입니까?


16

StackExchange에서 배지를 얻는 것은 재미 있습니다. 그러나 그 외에도 사용자와의 양질의 상호 작용을 촉진하고 스팸을 제거하는 데 도움이됩니다 (사이트에서 스팸 게시물을 본 적이 없습니다).

약 500 명의 활성 사용자가있는 커뮤니티 웹 사이트가 있지만 스패머가 더 많이 사용되기 시작했습니다.

동일한 품질의 대화 형 기능을 홍보하면서 사이트의 참여도를 높이고 자합니다.

목표 달성 시스템 뿐만 아니라 좋은 평판 시스템 을 어떻게 권장 하십니까?


원래 질문에서 언급 한 스패머와 관련하여 여전히 존재합니다. 따라서 이러한 스패머는 drupal.stackexchange.com/questions/121382/… 에 대한 Free Radical의 답변에서 제시된 제안에 따라 처리 할 수 ​​있습니다 .
gpruim

답변:


17

있다 포인트 사용자 모듈과 사용자 배지의 사용자 배지의 7.x의 버전 (2012 년 6 월로) 아직 생산에 적합 아니지만 모듈.

고맙게도 User Points는 Rules 모듈 과 통합되어 사용자가 포인트를 얻는 방법을 크게 사용자 지정할 수 있습니다.

다양한 안정성의 사용자 포인트위한 기여 모듈 모음도 있습니다 . 이러한 모듈을 사용하여 놀라운 것들을 확실히 설정할 수는 있지만 구현을 신중하게 테스트해야합니다. 모듈은 잘 작성되고 상당히 안정적이지만 여전히 잘못 될 수 있으므로 모든 것이 제대로 작동하는지 확인하십시오.


11

배지에는 Achievements 모듈이 있습니다.

업적 모듈은 Xbox 360, Playstation 3, Foursquare, Gowalla, GetGlue 등의 시스템과 유사한 업적과 배지를 생성하는 기능을 제공합니다. Drupal 사이트의 경우 이는 특정 횟수의 댓글 달기, 포럼 주제 시작, 매주 사이트 방문 또는 추적 및 코딩 가능한 다른 항목을 의미 할 수 있습니다.


1

귀하의 질문은 실제로 두 부분으로 구성됩니다.

  • 평판 시스템 특정 사용자에 대한 여러 사용자 평가 같다.
  • 목표 성취 시스템 다양한 작업을 완료 한 후 사용자를 보상처럼,,, 등의 도전

두 시스템 각각을 구현하는 방법에 대한 자세한 내용은 계속 읽으십시오.

목표 달성 시스템

이러한 종류의 시스템에 대해 일반적으로 선택할 수있는 두 가지 모듈이 있습니다.

  1. 성과는 이미 다른 대답에 제안, 모듈. 이 모듈은 많은 기능을 처리하기 위해 사용자 정의 코딩 에 크게 의존 합니다.

  2. 목표의 모듈 (공개 : 나는 그것의 메인테이너 해요) 관계를 생성하는 콘텐츠를 공유, 등의 투표로, 귀하의 사이트에 아무것도를 장려하는 데 사용할 수있는,,, 등

    목표작업 은 필드 가능한 엔터티를 사용하여 구현됩니다. 완료해야 할 작업의 예는 다음과 같습니다.

    • 연속 3 일 동안 하루에 한 번 사이트에 로그인하십시오.
    • 선택한 컨텐츠 유형의 여러 노드를 게시하십시오.
    • 사이트에서 친구 연결을 설정하십시오.
    • 기타.

    "필드 관리"및 / 또는 "디스플레이 관리"를 통해 목표를 사용자 정의 할 수 있습니다. 사이트 구축 기능만으로 모든 작업을 수행 할 수 있지만 (사용자 지정 코드는 포함되지 않음) 사용자 지정 코딩에 통합 할 수있는 후크도 있습니다. 너무 목표 모듈은 관리자 인터페이스의 구성을 사용하여 주위에 내장되어 있습니다. 또한 목표 모듈 내의 목표와 작업은 필드 가능한 엔터티이므로 필드를 추가하고 이러한 엔터티를 뷰에 통합 할 수있는 유연성이 있습니다 . 은 Using Goals Extras가 통합 서브 모듈 포인트 사용자 도 모듈을.

    다음 을 포함 하는 목표 비디오 로 이동하십시오 .

    • 모듈에 대한 일반적인 소개.
    • 설치, 구성 및 사용하는 데모.
    • 규칙 모듈을 사용하여 마법을 수행 하는 방법 (예 : 다양한 목표를 달성하기 위해 사용자의 진행 상황을 추적하는 방법) 샘플 .

평판 시스템

사용하여 답변의 모듈 : 당신이 "수 (공시 나는 그것의 (공동) 메인테이너 해요) 좋은 평판 시스템에 넣어 (당신의 문제로)". 다음은 프로젝트 페이지에서 이에 대한 세부 정보입니다.

답변은 Drupal 사이트에서 질문 및 답변 시스템을 구현할 수있게합니다. 사용자는 질문을 게시 할 수 있고 다른 사용자는 질문에 답변 할 수 있습니다.

자세한 내용은 프로젝트 페이지로 이동하십시오. 다음 의 보기 기반 목록에 대한 데모 (익명 사용자의 경우 읽기 전용 모드)를 보려면 데모 사이트 를 방문하십시오 .

"핵심"답변의 모듈은 콘텐츠 형식 수 있습니다 질문답변 답변은 그들과 관련된 질문 아래에 표시되는 반면,. 이 두 가지 컨텐츠 유형은 실행 가능하며 디스플레이 등을 관리 할 수 ​​있습니다.

하위 기능을 사용하여 선택한 기능 (사이트 요구 사항에 따라)을 활성화하십시오.

  • 정답 정답 . 특정 질문에 대한 정답을 최고 (허용) 정답으로 표시 할 수 있습니다 (각 정답의 왼쪽에 파란색 확인 표시가 표시되고 정답이 표시 될 때 녹색 확인 표시로 대체 됨) 가장 좋은 답변으로).
  • 답변 테마 질문의 (그리고지루한) 바닐라 표시(및 관련 답변 )를보다 매력적인 모양과 느낌으로 변환합니다. 질문 주위에 추가 된 주황색 거품과 같이 (문제를 더 잘 강조하기 위해)
  • 답변 알림 . 로그인 한 사용자가 선택된 질문에 가입 할 수 있도록하여질문에 대한 답변을받을 때알림을받을 수 있습니다 ( 메시지 스택 사용 ).
  • 답변 투표 , 질문 및 / 또는 답변 ( 평가 모듈 사용)을 공감 또는 하향 투표 하는 시스템을 구현합니다.
  • 답변의 Userpoints은 증가 또는 "감소하는 명성 포인트를 "(어떤이 사용 Userpoints 같은 업이나 다운 투표 질문이나 답, 또는 "와 같은 대답 표시의 이벤트에 모듈을) 우수 답변을 ".

많은 "비즈니스 로직"은 모든 종류의 구성 가능한 규칙을 통해 구현됩니다 ( 규칙 모듈 사용). 예를 들어, upvoted (또는 downvoted) 질문 (또는 답변)에 얼마나 많은 "사용자 포인트"가 부여되는지에 대한 기본 규칙에 동의하지 않는 경우 규칙 UI를 사용하여 귀하의 요구 사항에 이러한 포인트의 양. 예 : downvoting 질문은 실제로 자유로 워야합니다 (예 : downvoter가 그렇게 할 때 어떤 점을 풀어야합니까?).

완전성을 기하기 위해 다음은 규칙 (규칙 내보내기 형식)으로, 답변 작성자에게 '+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"
        }
      }
    ]
  }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.