Як запровадити систему, засновану на репутації, із значками в Drupal, подібними до сайтів StackExchange?


15

Заробляти значки на StackExchange - це, приємно. Але окрім цього, це сприяє якісній взаємодії з користувачами та допомагає вилучити спам (я ніколи не бачив повідомлення про спам на сайті).

У мене є веб-сайт спільноти з близько 500 активних користувачів, але спамери починають набирати більше плода.

Мені б хотілося зробити сайт більш привабливим, просуваючи ту ж якість інтерактивності.

Як би ви рекомендували ввести систему гарної репутації , а також систему досягнення цілей ?


Щодо спамерів, про які згадувалося в оригінальному питанні: вони все одно будуть там. Тож із цими спамерами можна впоратися, дотримуючись пропозиції, зроблених у відповіді, наданій Free Radical на сайті drupal.stackexchange.com/questions/121382/… .
gpruim

Відповіді:


17

Існує модуль « Користувацькі точки» та модуль « Значки користувачів» , хоча версія 7.x «Значки користувачів» ще не підходить для виробництва (станом на 4 червня 2012 р.).

На щастя, User Points інтегрується з модулем Правила , що дозволяє значно налаштувати способи, які користувачі отримують (або, можливо, втрачають) бали.

Існує також колекція внесених модулів для точок користувача різної стабільності. Ви, звичайно, можете налаштувати деякі дивовижні речі за допомогою цих модулів, але переконайтесь, що ретельно перевірите свою реалізацію - хоча модулі добре написані та досить стабільні, все ще багато може піти не так, щоб переконатися, що все працює належним чином.


11

Для значків існує модуль Досягнення .

Модуль Досягнення пропонує можливість створювати досягнення та значки, подібні до систем, що спостерігаються на Xbox 360, Playstation 3, Foursquare, Gowalla, GetGlue тощо. Для сайту Drupal це може означати коментування певної кількості разів, початок теми форуму, відвідування сайту кожен день тижня чи будь-що інше, що можна відстежувати та кодувати.


1

Ваше запитання дійсно складається з 2 частин, тобто про те, як реалізувати:

  • система репутації , яка, як оцінки декількох користувачів про користувача конкретного.
  • система досягнення цілей , які, як нагородження користувача після виконання різних завдань, проблеми і т.д.

Детальніше про те, як реалізувати кожну з обох систем, читайте далі.

Система досягнення цілей

Типово є два модулі, які ви можете вибрати для такого типу системи, тобто:

  1. Модуль Досягнення , як це запропоновано в іншій відповіді. Цей модуль в значній мірі покладається на спеціальне кодування для обробки багатьох функцій.

  2. Модуль Цілей (розкриття інформації: я підтримую її), який можна використовувати для стимулювання будь-якого на вашому сайті, наприклад голосування, обміну вмістом, створення стосунків тощо.

    Цілі та завдання реалізуються за допомогою суттєвих об'єктів. Деякі приклади завдань, які слід виконати, можуть бути:

    • Увійдіть на сайт один раз на день протягом трьох днів поспіль.
    • Опублікуйте декілька вузлів вибраних типів вмісту.
    • Зробіть дружнє з'єднання на сайті.
    • І т.д.

    Цілі можна налаштувати за допомогою "Керування полями" та / або "Керування дисплеєм". Все можна зробити лише за допомогою функцій побудови веб-сайтів (не задіяний спеціальний код), хоча також є гачки для їх інтеграції у спеціальне кодування. Таким чином, модуль Цілі побудований навколо, використовуючи конфігурацію адміністратора інтерфейсу. Крім того , цілі і завдання в рамках цілей модуля є fieldable суті, тому у вас є можливість додавати додаткові поля і включити ці об'єкти в Перегляди . Використовуючи Goals Extrasпідмодуль, він також інтегрується з модулем User Points .

    Перейдіть до відео "Цілі", яке включає:

    • загальне вступ до модуля.
    • демонстрація її встановлення, налаштування та використання.
    • вибірки того, як він використовує модулі Правил, щоб зробити свою магію (тобто відстежити прогрес користувача для досягнення різних цілей).

Репутаційна система

Використовуючи модуль відповідей (розкриття інформації: я є (спільним) обслуговуючим персоналом), ви можете " поставити систему гарної репутації " (як у вашому питанні). Ось декілька деталей про це (зі сторінки проекту):

Відповіді дозволяють впровадити систему запитань і відповідей на сайті Drupal. Користувачі можуть розміщувати питання, а інші користувачі можуть відповідати на них.

Щоб отримати докладнішу інформацію, перейдіть на сторінку проекту. Відвідайте його демо - сайт для демонстрації (в режимі читання тільки для анонімних користувачів) з Переглядів списків на основі з:

Модуль "Основні" відповіді дозволяє містити типи вмісту " Питання та відповіді" , тоді як відповіді відображаються нижче питання, до якого вони стосуються. Ці 2 типи вмісту можна поправити, ви можете керувати їх відображеннями тощо.

Використовуйте його підмодулі, щоб увімкнути вибрану функціональність (виходячи з вимог сайту), тобто:

  • Відповіді Найкращий відповідь , який дозволяє позначити будь-яку відповідь на певне запитання як найкращу (прийняту) відповідь (відображати сині галочки зліва від кожної відповіді, і яка замінюється зеленою галочкою, коли відповідь позначена як найкраща відповідь).
  • Тема відповідей , яка перетворює (досить нудний) показ ванілі на питання (та пов'язані з ним відповіді під ним), у спосіб більш привабливий зовнішній вигляд. Наприклад, помаранчевий міхур, який додається навколо питання (щоб краще виділити його).
  • Повідомлення відповідей , щоб дозволити користувачам, які ввійшли в систему, підписатися на вибрані запитання, щоб вони отримували сповіщення (використовуючи стек повідомлень ), коли запитання отримували відповіді.
  • Відповіді Голосування , щоб запровадити систему, яка б викликала або знижувала питання або запитання та / або відповіді (для яких використовуєтьсямодуль Rate ).
  • Відповідає Точками користувачів , щоб збільшити або зменшити " точки репутації " (для яких використовуєтьсямодуль Userpoints ) на такі події, як голосування вгору або вниз за запитання чи відповідь, або позначення відповіді як " найкращий відповідь ".

Досить багато його «бізнес-логіки» реалізовано за допомогою всіляких настроюваних правил (за допомогою модуля « Правила» ). Наприклад, якщо ви не погоджуєтесь із нестандартними правилами щодо того, скільки "точок користувача" надано на запитання (або відповідь), які не використовуються, ви просто використовуєте інтерфейс правил, щоб настроїти кількість таких балів до ваших вимог. Напр.: Чи справді питання про заборону дій повинні бути вільними (тобто: Чи повинен суднорепортаж втратити будь-які точки при цьому?).

Для повноти нижче наведено правило (у форматі експорту правил), яке використовується для надання «+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"
        }
      }
    ]
  }
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.