Archives quiz attempts as PDF and HTML files for long-term storage independent
of Moodle. If desired, Moodle backups (.mbz
) of both the quiz and the whole
course can be included. A checksum is calculated for every file within the
archive, as well as the archive itself, to allow verification of file integrity.
Archives can optionally be cryptographically signed by a trusted authority using
the Time-Stamp Protocol (TSP).
Comprehensive archive settings allow selecting what should be included in the
generated reports on a fine-granular level (e.g., exclude example solutions,
include answer history, ...).
Generated quiz attempt reports include all elements of the test, even complex ones like MathJax formulas, STACK plots, GeoGebra applets, and other question / content types that require JavaScript processing. All PDF and HTML files are fully text-searchable, including rendered MathJax formulas. Content is saved vector based, whenever possible, to allow high-quality printing and zooming while keeping the file size down.
Quiz archives are created by an external quiz archive worker service to remove load from Moodle and to eliminate the need to install a large number of software dependencies on the webserver. It can easily be deployed using Docker.
The Quiz Archiver is available via the Moodle Plugin Directory:
More information and detailed installation / setup instructions can be found in the official documentation:
- Archiving of quiz attempts as PDF and HTML files
- Support for file submissions / attachments (e.g., essay files)
- Quiz attempt reports are accessible completely independent of Moodle, hereby ensuring long-term readability
- Customization of generated PDF and HTML reports
- Allows creation of reduced reports, e.g., without example solutions, for handing out to students during inspection
- Support for complex content and question types, including Drag and Drop, MathJax formulas, STACK plots, and other question / content types that require JavaScript processing
- Quiz attempt reports are fully text-searchable, including mathematical formulas
- Moodle backups (
.mbz
) of both the quiz and the whole course are supported - Generation of checksums for every file within the archive and the archive itself
- Cryptographic signing of archives and their creation date using the Time-Stamp Protocol (TSP)
- Archive and attempt report names are fully customizable and support dynamic variables (e.g., course name, quiz name, username, ...)
- Fine granular permission / capability management (e.g., only allow archive creation but prevent deletion)
- Allows definition of global archiving defaults as well as forced archiving policies (i.e., locked archive job presets that cannot be changed by the user)
- Fully asynchronous archive creation to reduce load on Moodle Server
- Automatic deletion of quiz archives after a specified retention period
- Data compression and vector based MathJax formulas to preserve disk space
- Technical separation of Moodle and archive worker service
- Data-minimising and security driven design
Archive jobs are execute via an external quiz archive worker service. It uses the Moodle webservice API to query the required data and to upload the created archive.
This plugin prepares the archive job within Moodle, provides quiz data to the archive worker, handles data validation, and stores the created quiz archives inside the Moodle filestore. Created archives can be managed and downloaded via the Moodle web interface. A unique webservice access token is generated for every archive job. Each token has a limited validity and is invalidated either after job completion or after a specified timeout. This process requires a dedicated webservice user to be created (see Configuration). A single job webservice token can only be used for the specific quiz that is associated with the job to restrict queryable data to the required minimum.
You can find detailed installation and configuration instructions within the official documentation.
It guides you through the whole setup process from installing the Moodle plugin to creating your first quiz archives. It also explains how to use advanced features like image compression, automatic deletion of archives, and automated cryptographic signing of quiz archives.
If you have problems installing the Quiz Archiver or have further questions, please feel free to open an issue within the GitHub issue tracker.
The quiz_archiver Moodle Plugin and its corresponding Quiz Archive Worker both use Semantic Versioning 2.0.0.
This means that their version numbers are structured as MAJOR.MINOR.PATCH
. The
Moodle plugin and the archive worker service are compatible as long as they use
the same MAJOR
version number. Minor and patch versions can differ between the
two components without breaking compatibility.
However, it is recommended to always use the latest version of both the Moodle plugin and the archive worker service to ensure you get all the latest bug fixes, features, and optimizations.
Moodle Plugin | Archive Worker | Compatible |
---|---|---|
1.0.0 | 1.0.0 | Yes |
1.2.3 | 1.0.0 | Yes |
1.0.0 | 1.1.2 | Yes |
2.1.4 | 2.0.1 | Yes |
2.0.0 | 1.0.0 | No |
1.0.0 | 2.0.0 | No |
2.4.2 | 1.4.2 | No |
Special development versions, used for testing, can be created but will never be
published to the Moodle plugin directory. Such development versions are marked
by a +dev-[TIMESTAMP]
suffix, e.g., 2.4.2+dev-2022010100
.
2024 Niels Gandraß [email protected]
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 https://www.gnu.org/licenses/.