Assignment submissions ::: assignsubmission_changes
Maintained by Hendrik Würz, Guido Roessling
This plugin provides a changelog for student submissions. You can see when a file was updated and the changed pages in PDF submissions.
Latest release:
12 sites
10 fans
Current versions available: 2

Assign Submission Changes Plugin for Moodle

This plugin provides a changelog for student submissions. You can see when a file was updated and the changed pages in PDF submissions.


Copyright (c) 2017 Hendrik Wuerz

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <>;.



  1. Install the dependency local_changeloglib with the required command line tools (See in the changeloglib repository.)
  2. Clone the repo inside MOODLE_HOME/mod/assign/submission/changes
    cd path/to/moodle/home
    git clone mod/assign/submission/changes
  3. Browse to Site Administration -> Notifications and allow the database upgrades to execute
  4. After installation define your admin settings to customize the plugin behaviour. See the chapter Features of this document for more information.


This plugin provides tests for the main features. To run them please follow the next steps:

  1. Install PHPUnit on your system and configure moodle. See for more information.
  2. Install the plugin.
  3. Run the tests
    cd /path/to/moodle/home
    php admin/tool/phpunit/cli/init.php
    vendor/bin/phpunit --group assignsubmission_changes


This plugin can generate a changelog for assignments. This changelog includes the timestamp and the old filename. Optionally a search for changed pages in PDF submissions can be performed. The results are visible in the detail view of each submission. The overview displays the changes after the last grading.

The features have to be enabled by the moodle administrator and a teacher must activate them is an assignment.

As a moodle administrator you can control whether the functionality should be available in your installation.

  1. Go to Site administration -> Plugins -> Activity modules -> Assignment -> Submission plugins -> Changes
  2. Set Allow detection of changes in student submissions to true if you want to enable the functionality in your installation. If this value is unchecked, no options will be displayed in assignments and no changelog is generated.
  3. Set Max filesize in MB for diff detection to 20. This will allow the analysis of changed pages in PDF documents up to 20MB. If you set this value to zero, teachers can not enable the detection of differences in assignments. The feature requires the command line tools poppler-utils and diff as described in the changeloglib Plugin
  4. Set Enable Changelog by default and Enable Difference Detection by default to true if you want to enable the changelog and the detection of changed pages in new assignments by default.


As a teacher you can activate the generation of a changelog and the detection of changed pages for an assignment in your course if the moodle admin has allowed it.

  1. Go to Edit settings of an assignment or create a new one.
  2. Scroll to Submission types.
  3. Enable the submission type Changes if you want to create a changelog of uploads in this assignment.
  4. Enable the checkbox Auto detect diff if the plugin should search for changed pages in new PDF submissions.


In the overview page of an assignment you can see a new column which indicates whether there are ungraded changes for a student. The detail view lists all updates in the assignment with date and filename. If you enabled the diff detection, the changed pages are included as well.



As a student you can see the generated changelog for your submission. If there are mistakes in the auto generated entries, you can edit (but not delete) the data.



Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4


Hendrik Würz (Lead maintainer)
Guido Roessling: Maintainer
Please login to view contributors details and/or to contact them

Comments RSS


  • Sun, Sep 3, 2017, 6:00 AM
    Approval issue created: CONTRIB-7030
  • Sun, Dec 17, 2017, 2:13 AM
    This is one thing major that is missing from Moodle overall. If a student doesnt tell me they changed a submission there is no way to know. Will this be upgraded for Moodle 3.4?
  • Sun, Dec 17, 2017, 2:25 AM
    Thanks for your comment. I'm still in the process of making some improvements while testing for Moodle 3.4. However, the current version would probably still work without problems. You can expect an update of the plugin before the end of the year.
  • Tue, Jan 2, 2018, 1:55 PM
    Hi Hendrik. The functionality offered by this plugin sounds perfect for our needs (and is much needed in Moodle core, imo) - many thanks for making it available! Re. the currently offered versions: I'm just wondering if you know of any technical reasons why the 3.4+ version wouldn't work under Moodle 3.3? I ask because we'd like to take advantage of the new features of the 3.4+ version, but won't be upgrading to Moodle 3.4 until later this year. Again, many thanks for your efforts in sharing this with the community.
  • Tue, Jan 2, 2018, 8:27 PM
    Hi Roland, thanks for your kind words. Concerning the versions: I do not think that there are any technical restrictions and that you could install the version for Moodle 3.4 under 3.3. Unfortunately, I do not have the time to test this extensively, which is why only 3.4 was specified for the update. If you try the plugin on a test installation first, then there should not be any problems.
  • Wed, Jan 3, 2018, 5:22 PM
    Many thanks for the reply Hendrik, and just to confirm that we have now installed the 3.4+ version on a 3.3-based server and can happily report that so far in our testing both the installation and the functionality of the plugin seem to work flawlessly. Again, this is a vitally important addition to Moodle, imo - so thank you very much for making it available!
  • Wazza
    Mon, Jun 18, 2018, 9:06 PM
    I agree this should be Moodle-core. How do we get it to be noticed as such smile
  • Tue, Mar 30, 2021, 3:45 AM
    Is it available for working on 3.10 ?
  • Wed, Mar 31, 2021, 6:36 PM
    The main developer is no longer working for/with me, alas. We have it running on our 3.10.* installation, so it should work, but I cannot run all the tests etc. myself...
Please login to post comments