Note: You are currently viewing documentation for Moodle 2.3. Up-to-date documentation for the latest stable version is available here: Timetrack block.

Timetrack block

From MoodleDocs


The Timetrack Block allows Admin and Teacher users to log entries of activities undertaken, such as Tutorials, Assignment marking, to the database. The date, task, quantity and pre-defined payment value will be logged.

The Block also allows reporting on the values logged, filtered by a date range. This report can be exported to CSV,

It was developed by Enovation Solutions.


  • Extract and upload code to the blocks/ directory
  • Log in to Moodle as the administrator and visit the Notifications page
  • timetrack and timetrack_options tables will be created
  • Permissions will be created which provide system roles of teachers and editing teachers with access
  • If the timetrack_options table is empty it will be populated with some values
  • Click the Turn Editing On button
  • Add the Tutor Time Tracking block to the page
  • The permissions added by this block allow teachers and editing teachers access to the block. Administrators also have access to the block.
  • The make the block accessible to the teachers/tutors, the relevant users should have been added to the teacher/editingteacher system groups.

To add a teacher to the system group

  • Click on the Moodle Menu Users > Permissions > Assign System Roles
  • Click on the system group (Teachers or Editing Teachers)
  • Add the users to the system group

To set the block content

The block contains three content elements: the title, the link text and the footer text. These can be set by turning edit mode on and clicking on the configuration icon which will appear in the block in edit mode.


Tutor Time Tracking Entries

  • The Block provides access to a single page, block/timetrack/add.php (the Task entry page).


  • The entry page contains 5 rows consisting of Users Name, Date, Task Allocation dropdown, Quantity input
  • The user completes as many rows as they desire and submits them.
  • Upon submit They are then presented with confirmation screen which allows them to cancel and return to the entry page, or confirm their entries and write them to the database.
  • Some of the teacher tasks require a quantity entry. If these quantities are not entered, the user will be asked to enter them prior to the confirmation screen
  • Some other teacher tasks do not require a quantity - these will default to a quantity of 1 and the user will go directly to the confirmation screen

timetrack entryscreenerror.jpg

  • After the user confirms the entries, the value totals are calculated, and the data is written to the database, the user will be returned to add.php and a success message displayed.

Tutor Time Tracking Reports

  • The Time Tracking reports are accessed through add.php. add.php contains a link to view.php.
  • The time tracking report page have two date selection points, the start of the report period and the end of the report period.
  • Once a date range has been selected, pressing the Find Tracking Entries button will produce the report on screen.
  • The report contains the teacher's name, date, task allocation, quantity, rate for the task, total
  • A button titled 'Export to Excel' is located at the bottom of the report. This will offer a CSV file for download.
  • The CSV file contains the same data that is visible on screen, with one addition column containing the teacher's name.

timetrack reportscreen.jpg

Test cases

Admin data entry

  • Log in as admin
  • Turn editing on
  • Add the Tutor Time Tracking block
  • Click on the link in the Tutor Time Tracking Block
  • Select task allocations, from 0 allocations to 5
  • Enter integer quantities
  • Some quantities must be entered for some (currently Assignments and Special Event) task allocations
  • Click Submit times

Admin report

  • Log in as admin
  • Use the steps above to add the block if it has not already been added
  • Click on the link in the block
  • Click on the link 'View Time Tracking History'
  • Select a day, month and year for the start of the report period
  • Select a day, month and year for the end of the report period
  • Select a tutor from the dropdown list (if any). This will default to the current user, and will only list users who have entered time tracking data. Only admin users should see this dropdown selection of tutors, the tutors themselves will only see their own name.
  • Click on the button titled 'Find tracking entries'
  • At the bottom of the report (if any) click on the button titled 'Export to Excel'
  • A CSV file should be offered for download containing the report data, plus an additional column (col 1) containing the user's name

Teacher with a system role data entry and report

  • Log in as a teacher (any user assigned the system role of 'Teacher' or 'Editing Teacher' : Users > Permissions > Assign system roles)
  • Repeat the steps above to enter Tutor Time Tracking Data and generate reports
  • The Block should function in the same way for Teachers as it does for admins, with the exception that teachers can only view their own report and cannot select a different user's report

Teacher WITHOUT a system role data entry and report

  • Log in as a teacher who has not been assign a system role, but has been assign the role of 'Teach' or 'Editing Teacher' in a single course
  • Repeat the steps above (Admin Report) to enter Tutor Time Tracking Data and generate reports
  • The Block should function in the same way for Teachers as it does for admins, with the exception that teachers can only view their own report and cannot select a different user's report


  • Log in as a student
  • The Tutor Time Tracking block should not be displayed
  • A student should not be able to access:
    • /blocks/timetrack/add.php
    • /blocks/timetrack/view.php
    • /blocks/timetrack/excel.php

Known issues and TODO

Please report bugs on Moodle tracker. We happily accept the patches, source code is tracked in github.

  • Download excel data as the administrator. The current setup may be sufficient (the admin can select a tutor), but they may want to download data across selected multiple teachers, or all data for all tutors.
  • Once data is submitted and confirmed, the tutor is returned to the data entry page. They may need to be redirected to the report, or the moodle homepage, or the course homepage.
  • Once data is submitted, it is written to the database after the tutor clicks the 'confirm submission' button. This may be unclear; instructions could be entered to make this clearer and save the loss of data.
  • Very high quantity values (9999999999999999999999999) will hit the system upper limited and become (9223372036854775807). Sane max values should be enforced.