This is an activity module for tracking time spent by Students (or other users) in a Course or in a related group of Courses.

Online activity is automatically tracked.Users may also (optionally) record "offline" sessions of work.

The module will show aggregate report by user, or detailed report at user's session level.Printable versions of all reports are available.

It also supports activity completion rules by minimum time in the Course.

By defaults, it tracks only activity in the Course the instance is in.You may change this behaviour by module instance configuration. You may track all Courses in the same Category or Courses "meta-linked" to this Course.

By default, it tracks only Student's activity.You may choose whose activity will be tracked by modifying Role Capabilities.

By default, only Teachers, Managers and Administrator may see other report of other user's activities.You may change this behaviory by modifying Role Capabilities.

The Module is currently translated in English and Italian.

Documentation and an FAQ (small - work in progress) are available in English only.

Notethis module is based on the idea of the old Register module for Moode 1.x, but it is notan update of this module.You cannot upgrade or restore Register data from Moodle 1.9 using this Attendance Register module.

Important note about Moodle >2.7 compatibility

The newest version of this plugin supports the new logging system introduced by Moodle 2.7

Potential privacy issues

By modifying default Roles Capabilities, you may allow some monitoring of other users activities, beyond normal Moodle's restrictions (i.e. only Teachers, Manager and Admin may see other user's reports)

Comments

My company is interested in maintaining this plugin on behalf of a client. It looks like Lorenzo reported in January that he does not have plans to maintain this plugin. Are there other interested parties that may be interested in supporting the development effort to maintain this plugin? Or does anyone know if this has already been taken up by other folks? I don't see any github forks that would seem to indicate that, but perhaps I have missed something.

Hi all,
has anyone long tested the update kindly published by chun-hsien wu?
I'd be glad to publish it as released version, but I see it's marked as beta.
Unfortunately I've no chance for proper testing on the field and I prefer not to publish an untested version.

Hi everybody,
I've just published an upgraded version (2016.06.05.00) of mod_attendanceregister compatible with Moodle 2.7+ (without legacy logging!)
This upgrade is thanks to the great work by CINECA ELearning (https://github.com/CinecaElearning) that added the support for the new logging system, and other fixes required for being used on Moodle 2.7+

This newest version has been fully tested with Moodle 2.7, but it is probably compatible with Moodle 2.8 and 2.9

Please note that while this version is in use in production systems by a university, I've received some feedbacks that the previous update, posted by chun-hsien wu, was not stable.

Hi Sya,
we will update the plugin for moodle 3.2, but we haven't yet planned the release. We give priority to moodle LTE versions.
Anyway, we haven't already tested the plugin with 3.2, but usualy the plugin works well from a minor release to another. If you can, in a dev environment, I suggest you to install it and to do some tests, probably the plugin would work fine.
If you'll do some test, please send us a feedback.
Thank you very much.
Alberto

Really good plugin and i confirm it still works in moodle 3.2. One issue tho:

About:
"It also supports activity completion rules by minimum time in the Course."
and
"Sessions are updated by Moodle Cron
The last session of a User is not calculated until a given time passes after the last User's action"

If you create a certification (or any other) activity based on the attendance register activity completition, the student would end up having completed the course but in need to wait Moodle cron and "a given time" passed after last user's action. So he would end up not being able to go on with the course till next login... any ideas on how to make it to flag the attendance register activity as completed right after the set time has passed?

It is not possible, due to the way the plugin measure the time online. There is no timer measuring the time the user spend on pages, but it calculates an estimate based on user activities recorded in the log.

The algorithm that calculates work sessions must wait a certain time after the last registered activity (after the user has gone away) to decide whether the session has ended or is continuing.
The new session is added only after it is detected as ended, so some time after the user has left.

This makes impossible to mark the course as completed "by duration" on real time.
As I said, there is no timer ticking that may trigger an event exactly after X minutes has passed.

thanks for Your answer, I read all the documentation/faq and i was trying to accomplish this by myself but can't get ahead of it!

I was wondering if it would be possible to have something like this:

activity completion time set to 8 hours;
timeout set to 10 minutes;
total online sessions for the user are at 7 hours and 30 minutes;
user logged in and is doing stuff on the course for 1 hour, but timeout is still not elapsed;
cron runs and, while checking for completion, it should consider active online session since user got on the course till last logged activity on course. Just for eventually setting COMPLETION_COMPLETE.

What do you think? would it be hard to implement? Would it make sense?

In theory it is possible, but the change is not trivial and requires calculating the duration of the current session.
The former version of this plugin, for Moodle 1.x, was showing the running session but it ended up as a source of several bugs, especially in corner cases.

ok, Lorenzo. Thanks for your support... i'm getting to a working solution for my need. On another side, i just understood plugin is not calculating time spent on a SCORM package, it basically doesn't count logs like:
The user with the id '5' submitted the element 'cmi.core.score.raw' with the value of '87.5' for the attempt with the id '2' for a scorm activity with the course module id '21'.
The user with the id '5' submitted the element 'cmi.core.lesson_status' with the value of 'completed' for the attempt with the id '2' for a scorm activity with the course module id '21'.
The user with the id '5' submitted the element 'cmi.core.lesson_status' with the value of 'completed' for the attempt with the id '2' for a scorm activity with the course module id '21'.
and so on.
Would it be quite difficult to include them in the attendance calculation?