ShvetsGroup archive

Активность пользователей сайта

· Все статьи

Read in English

activities.pngОдним из самых развиваемых направлений сайтостроения в последние годы являются социальные сети, главная задача такого сайта дать большему количеству людей площадку для общения. Количество пользователей сайта возрастает и уследить изменения которые они делают ставится все сложнее. Для удобного наблюдения за активностью сайта или пользователя существуют специальные модули, которые мы сейчас и рассмотрим.

Цель рассматриваемых модулей отследить действия пользователя и вывести в удобном виде. Чем больше действий модуль может фиксировать тем лучше. Другой важный показатель — интеграция с другими модулями и наличие развитого API.

Логика работы всех рассматриваемых модулей одинакова. Отслеживаем необходимый хук (hook) и записываем событие в свою таблицу базы данных. Все рассматриваемые модули работают в связке с Views, поэтому вывод результатов не вызывает сложностей — создается обычный вид и при необходимости его темизируем в своем модуле или теме.

Activity

http://drupal.org/project/activity
Актуальная ветка модуля 6.x-2.x (6.x-1.x более не поддерживается и нет возможности апгрейда к ветке 2.х). Зависит от модулей Token и Trigger. В комплекте с модулем есть под модуль Activity comments с помощью которого любое зафиксированное действие можно комментировать.

Готовые интеграции с другими модулями:

Модуль позволяет фиксировать такие действия пользователей:

Comment Triggers:

Nodeapi Triggers:

User Triggers:

Flag Triggers:

Og Triggers:

Модуль имеем качественный код и API, есть описание реализованных хуков и документация по использованию. В качестве примера можно рассмотреть уже готовые реализации для интеграции модулей. Модуль позволяет гибко настраивать права доступа к регистрации активности и просмотру.

Также в модулей есть интернационализация и поэтому все действия легко реализовать на необходимом языке сайта.

Данные хранятся в 4х таблицах:

Heartbeat

http://drupal.org/project/heartbeat
Достаточно мощный модуль в состав которого включено еще 10 под модулей: Flag heartbeat, friendlist activity, Heartbeat comments, Heartbeat displays, Heartbeat example module, Heartbeat rules, Heartbeat test helper, Heartbeat views, organic group activity, Shouts. Здесь полный набор от интеграции с другими модулям до тестов и модуля примера.

Интеграция с модулями: comment, node, user, flag, OG, system, taxonomy, flag_friend, friendlist, User relationships, выводит результаты через Views, связан с модулем Rule.

Этот модуль как выглядит мощно, так же мощно и реализован, почти для всего есть фиксация событий. Например, можно через админ страницы реализовать проверку на сколько процентов заполнен профиль пользователя и соответственно выводить сообщение: профиль создан; профиль заполнен на 30%, профиль заполнен полностью или сделать проверку заполнения обязательных полей и дополнительных.
Все данные записываются в таблицы:

Есть поддержка многоязычности и сообщения записываются сразу на нескольких языках. К сожалению сам модуль не переведен на русский и украинский языки, примерно 10% перевода в наличии, но это легко исправимая ситуация. Несмотря на интеграцию с большим количеством модулей, есть мощное и гибкое API c необходимой документацией для разработчика и модуль уже поддерживает Drupal 7.х.

Message

http://drupal.org/project/message
Несмотря на то что разработчики на странице модуля написали что модуль аналогичен activity и привели список отличий, на самом деле отличий намного больше, часть из которых необходимо записать в минус. Проблемы начали еще во время настройки появилась ошибка отсутствие функции i18nstrings_update() в модуле i18, как выяснилось позже эта функция добавлена в последних версиях i18, поэтому для начала необходимо обновиться.

В продолжение казусов у нас есть документация — видео, где показано как настроить модуль через подмодуль UI, но в новых версиях этого подмодуля уже нет, а сам модуль это API и из подмодулей есть в наличии Message example и Message follow.
По статистике drupal.org модулем пользуется около 20 человек.
Из интеграции есть связь с flag. Также модуль работает вместе с i18, Views, ctools, rule.
Сообщения хранятся в таблицах:

Для разработчика есть пример, модуля с использованием API, документации практически нет.

Итог

Из представленных модулей только первые 2 можно принимать к рассмотрению, message сыроват и ему не хватает поддержи разработчиков и сообщества (без наличия сопровождающей документации поддержка появится не скоро).

API первых двух модулей схож и с его помощью можно реализовать фиксацию любых действий пользователей или сайта.
По статистике использования модуль activity успел покорить 2000 человек против 1000 у heartbeat, хотя это скорее из-за рождения первого в ветке 5.x Друпала.

Если сравнивать удобство управления из админки, то модуль heartbeat на порядок сделан удобнее и функциональние, по остальным параметрам модули идут рядом друг с другом.