avatar
+0.15
0.410

Рейтинг и сила — как это должно работать

Выношу сюда стихийно возникшее обсуждение

И вот еще статьи по теме:
Механизм подсчета рейтинга и силы
Сила и рейтинг
Рейтинг юзеров и блогов

Опишу реализацию, к которой я склоняюсь:
1) Модуль рейтингования выделяется в отдельный плагин. Алгоритм подсчета — это отдельный разговор, он может быть какой угодно. Можно в стандартном комплекте движка два плагина поставлять — хабраподобный (потому что он уже есть), и простой (реализуется быстро и просто).
2) В конфиге плагина задавать: за что юзеры могут «лайкать», могут ли они «дизлайкать». Плюс могут задаваться какие-то доп.параметры (напр., «весовые коэффициенты и проч.)
3) Сами кнопки голосования за сущности — топики, юзеров, комменты и проч. — сделать в виде виджета. И вставлять этот виджет в шаблоне, где это нужно. Тогда внешний вид „голосовалки“ может легко изменяться в зависимости от конфигурации плагина, и сторонние плагины его тоже могут изменять. А если плагин рейтингования отключен, то эти кнопки вообще не будут выводиться.