Time tracking on Moodle platforms

An essential feature of learning platforms is tracking the time students spend in their learning process. How to do it in Moodle?

For organizations using Moodle, it is common to install the “Attendance Register” plugin, which calculates approximately the time students spend on the platform.

Although this extension meets most of the requirements, it is important to know how it works and its disadvantages before using it from a long-term perspective.

How does the “Attendance Register” plugin work?

The most important thing to know is that this extension does not calculate time in real time.

This plugin uses Moodle logs to perform an estimated calculation according to the interval of interactions that users perform within the courses where this activity is installed.

For the process to work properly, administrators must add this activity within each course, and configure the parameters so that the module can determine how it will count the sessions.

The calculation is performed asynchronously, which does not allow us to know the results of the measures in real time.

Calculations are performed by the Moodle™ scheduled task system, which can take several minutes depending on the volume of information, the number of courses, and the users to be considered.

That said, we must highlight two main problems:

  • It is impossible to access the data of time invested by students in a course in real time.
  • The calculations may take a great deal of time if you have a considerable number of courses and users.

We invite you to read a case study of one of our customers to understand in more detail what obstacles we may encounter when using this extension.

How to track time more efficiently in Moodle ™?

Many of our customers have had problems implementing this use case in their organizations.

This is why Solutto Consulting has decided to develop a package of extensions that complement each other to offer all required for proper time tracking.

Local Plugin

This is a system-wide extension, i.e. it tracks time globally for each user throughout their interaction with the entire platform.

Our extension allows you to define exceptions by role and user fields to skip time tracking for specific users.

Time tracking is performed synchronously, i.e., you do not have to wait to execute any scheduled task, and you do not need to perform complex calculations.

Course-level block:

This component shows students how much time they have spent within a course; this time is updated frequently (every 10 seconds), so students no longer need to wait for internal processes to run to view this information.

This block adds value to the student’s experience, as they no longer need to log in to any specific section to view their time.

Restriction of access to sections and activities:

Finally, this extension allows course administrators to restrict certain content and access only to users who have invested a certain amount of time in the course.

What if you are already using the “Attendance Record” extension?

Don’t worry; our customers have been doing it too.

We have added support for the “Attendance Record” tool, which means that we can take all the records generated with this extension, guaranteeing that you will have no data loss.

You can even leave the extension installed, and you won’t have to change the courses that already have it. Our set of extensions makes sure that everything continues to work correctly.


While this extension package is part of our Solutto LXP learning platform, it is possible to request a copy of these extensions and install them on other Moodle™ platforms; however, it is essential to note that these extensions have been tested on versions 3.11 and 4.0.

When we supply installers for Moodle ™, we consider these extensions to be in a Beta state and should be tested before being used in production environments.

Let's talk!

We are ready to assist you with your project, let's talk!