15

I wonder how to track and display user activities in a Drupal site. Examples of such activities are:

  • posts.
  • comments.
  • page posts.

I've found some modules that track the users' activites all over the social media, but I need something much more local (within the site).

I was also thinking about using Views to create a block with this kind of filters, but I have never seen filters as specific as users. Is there a way to achieve this?

3 Answers 3

16

There are a few modules that could help you out (quotes included are from their project pages):

  • Activity:

    ... keeps track of the things people do on your site and provides mini-feeds of these activities in blocks, in a specialized table, and via RSS. The module is extensible so that any other module can integrate with it. The messages that are produced are customizable via the admin interface and are context sensitive.

  • Heartbeat

    ... displays user activity on a website. This module is an API to log activity. The logged data contains message structures, attributes and variables. Once the activity messages exist in the database, they will be parsed and build into activity streams.

  • User Activity

    ... calculates an activity index based on a user's logins, page impressions, created nodes and comments. The weight for each value is adjustable by an administrator. It provides an activity-o-meter on the user's profile page, a block with the most active users and an overview page of users sorted by activity.

  • User Stats

    ... provides commonly requested user statistics for themers, IP address tracking and Views integration.

Which one(s) you choose really depend on what exactly you want to accomplish (use Views or not, display only post info or login stats, etc). I'm sure there are more out there that I am missing.

Activity stream modules (on Groups.Drupal.org) contains a comparison about the functionality and architecture of some activity modules.

2
  • THanx Laxman13. I'll give them a look.
    – MauF
    Commented Jul 21, 2011 at 17:30
  • Actually, I found Message module which does what I need to the closest, but I found it through your help, Laxman, thanx.
    – MauF
    Commented Jul 23, 2011 at 16:51
8

For simple use cases, core provides the often overlooked Tracker module, which is what Drupal.org uses (although, if you're on Drupal 6, the Tracker2 contrib module is more performant, and made its way into Drupal 7).

1

The Goals module is a possible solution to answer this question. It can be used to incentivize anything on your site, such as voting, sharing content, creating relationships, etc.

Goals and Tasks are implemented using fieldable entities. So you can customize Goals via "Manage Fields" and/or "Manage display". And it integrates very well, out-of-the-box, with the Views module also.

Head over to the Goals video which includes:

  • a general introduction to the module.
  • a demonstration to install, configure and use it.
  • samples of how it uses the Rules modules to do its magic (i.e. to track the progress of a user to achieve the various goals).

Using the Goals Extras sub-module it integrates with the User Points module also.

For more details, refer to its Community Documentation, which also includes a summary of what this module is really about, ie (quote from that page):

What is a "Goal"?

A "goal" is a set of one or more tasks a user must complete. A goal is a container for tasks. Once a user completes all tasks for a goal, the goal is automatically marked complete.

By creating a number of goals that align with behaviors encouraged on a site, a gamification system can quickly be established which is easy to administer, highly customizable, and tailored to the needs of the site.

What is a "Task"?

A "task" is any action that site users must complete one or more times. In addition to simply counting the number of times an action is performed, administrators have the ability to place constraints on the timeframe in which an action is performed. Examples of tasks created by site administrators include:

  • A user "Likes" another user’s post.
  • A user contributes three posts of content within a week.
  • A user logs in to the site for three consecutive days.

Disclosure: I'm the maintainer of this module.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.