Рейтинги пользователей и материалов на drupal 7
Есть сайт http://ast.prcube.ru Работает на Drupal 7. Нужно сделать 2 вида рейтингов для этого сайта: рейтинг материалов и рейтинг пользователей. У материалов рейтинг должен быть чем-то вроде параметра (он потом будет использоваться во views), у пользователей – чем-то вроде кармы, которая будет возрастать и убывать в зависимости от определенных событий. Ниже примерное описание работы рейтингов.
Пока для рейтинга материалов видится использование отдельного нумеровонного поля. Для рейтинга пользователей думается имеет смысм использовать userpoints + rules
Сразу прошу пишите сроки и цены (пусть они пока будут приблизительные).
1. По рейтингу пользователя:
Имеем параметры по которым отслеживаем активность пользователя :
1. Количество опубликованных авторских материалов (параметр - более 1-го материала в день, вес - 0,5)
2. Кол-во своих комментариев на чужие материалы или комментарии (параметр - более 3-х комментариев в день, вес - 0,3)
3. Кол-во чужих дисскусионных откликов на собственный авторский материал (параметр -более 3-х откликов в день, вес 0,1)
4. Кол-во чужих дисскусионных откликов на собственный комментарий (параметр -более 1-го отклика в день, вес - 0,1)
Все эти параметры вместе составляют 100% дневной нормы повышения рейтинга для каждого участника. Допустим, что 100%=10 баллов
Далее по принципу KPI
Например, пользователь оставил 1 авторский материал, на который пришло более 10 комментариев. Сам пользователь оставил 2 комментария, но на один комментарий откликнулись 5 откликами. Итого считаем от базы 100% - 10 баллов. По п.1 - 5 баллов, по п.2 - 0 баллов, по п.3 - 1 балл, по п.4 - 1 балл . Таким образом за данный день активности пользователь получит 7 баллов:
Плюс к этому вводим снижающий параметр - если человек не проявляет вообще никакой активности более 30 дней то от его рейтинга начинает отниматься по 1 баллу каждые два следующих дня. Тогда через 50 дней отсутствия активности (а это может быть просто посещение ресурса сайта (например прочтения всех текущих новостей , не обязательно оставление комментариев и т.д.) получим 50 - 30 = 20:2 = минус 10 баллов.
2. По рейтингу материала (новость, публикация, интервью, видеоматериал):
Цель здесь я думаю понятна и так. Выявить наиболее интересный (активно обсуждаемый) с точки зрения пользователя материал.
База 100% - 10 баллов
1. Количество просмотра материала в день (параметр - более 30 просмотров, вес - 0,3 )
2. Количество комментариев на сам материал (параметр - более 3 комментариев, вес - 0,3 )
3. Количество дискуссионных откликов на все комментарии к материалу (параметр - более 10, вес - 0,2)
4. Количество добавлений материала в Избранное (параметр - более 5, вес - 0,2)
Отклики на комментарии материалов не дискуссионные в рейтингах не участвуют (голосование +/-)!
Также по рейтингу материалов сверх дневной нормы начисляются следующие баллы:
1. Просмотры материалов всеми пользователями.
За каждые 100 просмотров материала – 1 балл, за каждые 500 и более просмотров – 5 баллов, за каждые 1000 просмотров и более 10 баллов, за каждые просмотры более 1000 – 15 баллов
• Для этого необходимо чтобы под каждым материалом на странице постоянно обновлялось число просмотров, как, например, здесь внизу статьи (над значками соц. сетей):
http://novved.ru/2011-09-23-11-23-12/20144-polnye-sunduki
2. Лайки соцсетей и перепосты.
Более 50 лайков и перепостов – 1 балл,
Более 100 лайков и перепостов – 2 балла
Более 200 лайков и перепостов – 3 балла
Более 400 лайков и перепостов – 5 баллов
Под каждым материалом на нашем сайте должны стоять кнопки для экспорта заглавия записи и ссылки на материал.
А также кнопки, на которых бы сразу было видно число лайков и перепостов, как здесь:
http://www.adme.ru/vdohnovenie-919705/krutoj-dizajn-zontov-297155/
В ЖЖ, эта панелька кнопок учитывает даже тех, кто перепостил материал уже из самой соц сети, не заходя на сайт. Нужно сделать также.