Assignment submissions : Changes
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 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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 <http://www.gnu.org/licenses/>.
- Tested with Moodle 3.3+
- Requires the plugin
local_changeloglibhttps://github.com/hwuerz/moodle-local_changeloglib which depends on the command line tools poppler-utils and diff
- Install the dependency local_changeloglib with the required command line tools (See readme.md in the changeloglib repository.)
- Clone the repo inside MOODLE_HOME/mod/assign/submission/changes
cd path/to/moodle/home git clone https://github.com/hwuerz/moodle-assignsubmission_changes.git mod/assign/submission/changes
- Browse to Site Administration -> Notifications and allow the database upgrades to execute
- 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:
- Install PHPUnit on your system and configure moodle. See https://docs.moodle.org/dev/PHPUnit for more information.
- Install the plugin.
- 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.
- Go to
Allow detection of changes in student submissionsto 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.
Max filesize in MB for diff detectionto 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
Enable Changelog by defaultand
Enable Difference Detection by defaultto 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.
- Go to
Edit settingsof an assignment or create a new one.
- Scroll to
- Enable the submission type
Changesif you want to create a changelog of uploads in this assignment.
- Enable the checkbox
Auto detect diffif 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.