Module completion tracker

Reports ::: report_modulecompletion
Maintained by Sébastien Viallemonteil
The report_modulecompletion plugin is an essential tool for Moodle users who want to monitor the progress of their students. This plugin is designed to track the progression of students in all of their courses for a given period. The plugin is particularly useful for teachers and other educators who need to keep track of student progress and identify areas where students may be struggling.
Latest release:
159 sites
253 downloads
13 fans
Current versions available: 1

The report_modulecompletion plugin is an essential tool for Moodle users who want to monitor the progress of their students. This plugin is designed to track the progression of students in all of their courses for a given period. The plugin is particularly useful for teachers and other educators who need to keep track of student progress and identify areas where students may be struggling.

Reports view

Installation & Configuration

You can install this plugin like any other Moodle plugin although you must have Moodle 4 or above to use this plugin. Even though it was created (and was working) prior to Moodle 4 we only decided to support v4 and above to avoid too much maintenance.

Either download the package from the Moodle plugins repository page or from the Github page of the plugin.

Once installed, you will have to choose which modules/activities you would like to track on your platform; by default, all modules will be checked. Keep in mind that you will need to come back to the settings page and check any module/activity you might install in the future and want to track.

In order to be accessible by whomever needs access, administrators should create a new specific role with the following capabilities :

  • report/modulecompletion:view
  • moodle/site:configview (don’t worry, that won't give access to the whole administration)
  • moodle/cohort:view so they can access the list of cohorts when they are creating filters (read only access)
  • moodle/user:viewdetails so they can access the list of users when they are creating filters (read only access)

Users with access will then be able to use the plugin via Site administration > Reports > Tracking module completion (under “Module reports” category)


Usage

Filters

The entry point is through filters. They will allow you, as the name intends, to filter your results. You might want to follow specific students or a whole cohort or even track progression for a specific course. You can save, and duplicate your filters. You also can make a quick filter that you can save afterwards, or not.

Filters form

Here are all the filters explained:

  • Student: you can pick one or more students for whom you want to track module completion. Suspended users and teachers will not be listed.
  • Cohort: if you enroll your students via cohorts you can pick one or more cohorts you want to track.
  • Only fetch courses and modules for which selected cohorts are enrolled: simple “Yes or No” question. Check Yes if you only want to only display the courses associated with the selected cohorts. If you check No, you will also have courses for which selected cohorts’ students have completed modules and which (the courses) might not be associated with the selected cohorts.
  • Course: select only the courses you want to track
  • Starting date: you can only track progression for a specific period; you will have to pick a starting date for this period, for example the beginning of the year or the first day of the month.
  • Ending date: the ending date for the period. You can select a date future date, like the end of the year if you want to track an entire year or the end of the month for example.
  • Order: you can order the results either by student’s name, completion percentage or date of the last completion.
  • Direction: ascending or descending order.

Combining filters

If you decide to combine filters, more specifically students, cohorts and courses, you might have less results that what you were expecting. If you select students via the students and cohorts, they will combine fine. However if you add courses filter, you will restrict your results to only the selected courses, meaning that selected students who are not enrolled in selected courses will not appear in the results.

Important notes

  • Students with no completed modules/activities during the chosen period will not appear in the results.
  • Even though a given student might have completed all of their courses modules, if you have not selected the right period in your filter, the student’s progression will not be a 100%. Meaning the starting date should be before the student’s first completion, and the ending date after the last completion. Of course if you want to check what modules/activities a student has completed for let us say, a specific month, you should not be surprised that modules/activities completed before and after the chosen month won’t be present in the results.
  • This goes without saying BUT, the more students you select and the wider your period is, the longer it will take to load the results. Depending on your server configuration, you might run into timeout problems. In that case, you should consider splitting your filters.

Exports: you can exports your results in either in CSV or XLSX (Excel) if you need to deeper analyze students results with other tools. Note that it will take as much time to generate exports file as it take to load the results in Moodle.

Metadata

This plugin is compatible with the local_metadata plugin: https://moodle.org/plugins/local_metadata?lang=en_us

Even though the plugin has never been released in a stable state, we use it on a daily bases as it covers our needs. We need to keep track of the time spent on each module for our students, especially for those with financial aid. local_metadata allows us to affect time (in minutes) to each module. It took some time but every module that needed to have a hypothetical time now has it.

If you decide to use the metadata plugin (or that you are already using it), you will be able to combine it with this plugin, at least for modules metadata.

For administrators: Once the metadata plugin is installed, go to Site administration > Reports > Settings (under “Module reports”), you will have to check Use metadata plugin. Then go back to Reports, and click on Metadata settings (under “Module reports”). On this page, you shall be able to select which module metadata you wish to display in your reports. You will also be able to specify which of these metadata are numerical so you can perform conversion on them as it is explained in the settings description. We use it to convert our “time” metadata, which is by default in minutes, to hours. In the end, the conversion will be applied to each student and to each course. Modules will still display the unconverted value.

Reports with metadata

Contributing

If you wish to contribute, you can report bugs on the issue tracker and make pull requests.


Screenshots

Screenshot #0
Screenshot #1
Screenshot #2

Contributors

Sébastien Viallemonteil (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Plugins bot
    Fri, 24 Feb 2023, 11:02 PM
    Approval issue created: CONTRIB-9220
  • Peter Jonker
    Fri, 21 July 2023, 11:04 PM
    Hi Sébastien, great plugin! Really something that was missing in Moodle LMS to have a report that shows progress in multiple courses. I have tested it on a Moodle 4.1 site and it works ok for me as an Admin. However I am not succesful in granting access to a Teacher. I have added the capability to that role and enrolled a user in a course as teachers where I also have some students with progress. Logging in as the teacher I do not have any option like Site Administration etc. which seems ok to me because I do not want teachers to have something like that. Second thing I did was paste the link to the plugin page in the browser where I was logged in as teacher. That resulted in an error stating I do not have acccess. That was the same when I used the link directly to the report I created. Can you point me into the right direction?
  • Sébastien Viallemonteil
    Mon, 24 July 2023, 10:11 PM
    Hello Peter,
    I am sorry, I think there are some instructions missing in the description. In order for users to have access to the module completion tracker, they need to have the `report/modulecompletion:view` permission but it needs to be in the context system and not only for one course. And there is one permission that is missing in the description, if the user does not have access to the administration link in the navigation menu already, you will need to add that permission (again in the system context).
    The easiest way to accomplish all that is to create a new role which will be a system role and you can add the following permissions:
    - report/modulecompletion:view
    - moodle/site:configview (don’t worry, that won't give access to the whole administration
    - moodle/cohort:view so they can access the list of cohorts when they are creating filters (read only access)
    - moodle/user:viewdetails so they can access the list of users when they are creating filters (read only access)

    Finally, give that role to whomever needs access to the plugin.
    Hope that helps.
  • Miguel Angel de Pablo
    Tue, 29 Aug 2023, 3:35 PM
    I find very useful and well-designed interface, thanks
  • Pascal Tielkens
    Wed, 18 Oct 2023, 6:17 PM
    First of all. This is a wonderful plug-in! Keep up the good work!
    With the current code a user who can access this report can access all students and all cohorts.
    Are there plans to restric this access?
    1) restric access to cohorts that a user self is a member of.
    2) restric access to users you are linked to (like the parent role)
    These two modifications limit the full access to (sensitive) information and makes this plug-in even more deployable for teachers/mentors and parents.

    Kind regards!
  • Sébastien Viallemonteil
    Thu, 9 Nov 2023, 6:43 PM
    Hello Pascal,
    At the moment no it’s not in the works. To be honest this plugin was created so our educational assistants who are not always enrolled in courses and not associated with any cohort could track students’ progress. And in order to do that, they need reading access to all students, cohorts and courses.
    Moreover, everything is based on Moodle’s permissions and there is no permission specific enough so users would only have access to their own cohorts or users related them via a specific role which by the way could differ from one platform to another. I think it would be possible to restrict access to cohorts so users would only see their own but that would require some tweaking in the form autocomplete field. As for limiting the users list to "related" users like a parent role, I don’t how this could be done so it would be compatible for every instances of Moodle. Moreover, all of this should be optional and configurable from the plugin’s settings.
  • Ivan Oliveira
    Thu, 18 Apr 2024, 4:38 PM
    Hello Sébastien, fantastic plugin! Good job!
    We have our courses listed in a different website, connected via SSO. We would like to show the Course completion percentage there as well.
    Is there any way of accessing the plugin data via the API?
    Thanks.
  • Sébastien Viallemonteil
    Tue, 23 Apr 2024, 2:36 PM
    Hello Ivan,
    Thank you for your kind words and your feedback.
    As of today, there is no webservice implemented for this plugin but that would be a nice addition for sure. I am working on other projects at the moment but I will make an issue in the tracker.
Please login to post comments