Moodle Quiz Archiver

Plugin Showcase and Development Status Report



Niels Gandraß

Niels.Gandrass@haw-hamburg.de  mail

Björn Dittmann

mail  Bjoern.Dittmann@haw-hamburg.de


2026-03-19

Motivation

Why do we even need a complex solution for archiving Moodle quiz attempts?


gavel  We are legally required to archive exams
folder_zip  Moodle backups are not suited for long-term archiving
print  We hate printing every attempt to PDF by hand

Challenges and
Existing Solutions

Archiving Moodle quiz attempts can't be that hard, right?

Challenges

pending_actions  Archives must be readable in 10 years

chevron_right ... while ensuring the archived data is static and displays the same way as before

chevron_right ... without requiring an ancient Moodle instance and long unmaintained plugins

check_circle  Archive tasks must be complete, traceable, and correct
policy  Data must be stored tamper-proof and digitally signed
widgets  Support for all used question types, including third-party plugins

chevron_right Not only HTML, but also file submissions, (external) images, ...

chevron_right Dynamically rendered components: MathJax formulas, GeoGebra applets, ...

play_circle  The archiving process must be simple to use
format_paint  Quiz reports must be customizable

Existing Solutions

Various ways to export quiz attempts already exist out there ...


Quiz archive report (quiz_archive) Quizattemptexport (local_quizattemptexport) QuizExport (quiz_export) exportresults (quiz_exporttesults)
Moodle attempt review page (manually printing to PDF)

...

Problems with existing solutions


  • Dynamic content, such as MathJax formulas, is not supported, or attempts are not rendered as originally shown to the student
  • Missing customization options, e.g., to export with(-out) example solutions
  • PDFs must be exported manually or require additional technical knowledge
  • Systems fail when quizzes have a large number of attempts
  • Installation of additional software on the Moodle web server and security problems
  • Archiving process is unclear or prone to human error

The Moodle Quiz Archiver

A modern Moodle plugin that archives quiz attempts as PDF files
for long-term storage independent of Moodle

Quiz archive content overview

Created quiz archives contain various data.
Contents are freely configurable.

assignment  Attempt exports (attempts/)

  • PDF export
  • HTML source files
  • Attachments

folder_zip  Moodle backups (backups/)

  • Quiz activity
  • Full course

data_table  Attempt metadata (.csv)

data_check  Checksums for all files (.sha256)

Attempt report examples

  

User interface

    

Creating a new quiz archive

Archive settings and global presets

settings  Quiz archives can be customized in a variety of ways

  • General and individual feedback
  • Correct answers / example solutions
  • Answer history
  • Moodle backups and file attachments
  • Paper size
  • Variable based filenames
  • ...

construction  Each setting has a preset value that can be configured globally within the plugin admin settings

lock  Individual settings can be locked to their global preset

Global archiving presets

Sources

The quiz archiver plugin is available on GitHub
and via the Moodle Plugin directory!


https://moodle.org/plugins/quiz_archiver

https://github.com/ngandrass/moodle-quiz_archiver

Plugin Architecture and
Process Overview

What happens when I hit the "Archive quiz" button?

Quiz archiving process overview

User and administrator documentation

An extensive online documentation helps in configuring all features of the plugin
and can guides users through the archive creation process.


https://quizarchiver.gandrass.de/

Upcoming Features

What we are currently working on!

PDF/A-3b compliance

PDF/A is an ISO-standardized version of the PDF format that is designed for
long-term archiving and preservation of electronic documents


policy  Required by many organizations for exam documents and theses
preview  Ensures that PDF files are displayed equally among different PDF viewers
event_upcoming  Guarantees that PDF files can still be read in 10 years, even if software environments change
box  Includes everything needed for displaying a PDF (e.g., fonts) inside the PDF file itself
settings  PDF output format can be configured within the archive worker

Parallel archive job processing

Until now, only a single quiz archive job could be processed at a time.
This can lead to long waiting times when multiple archives are created at the same time.


speed  Archive jobs can be run in parallel to increase the throughput
settings  Amount of parallel jobs is configurable within the archive worker and can thereby be adapted to the institutional needs
energy_savings_leaf  Resource usage guidelines will be available upon release

Improved file upload

Working with very large quizzes can induce challenges during the file upload process.
We are currently working on improving this process to make the quiz archiver even easier to use.

The Bigger Picture

Automation, Connection to CMS / DMS, Support for additional activities, Flexibility, ...

What we did so far ...

The new archiving subsystem for Moodle

Dive in and keep updated

The whole archiving subsystem, including its components and features, is well documented in our online docs. Developers moreover find extensive technical documentation.


https://archiving.gandrass.de/

Q&A Session

Now it's time for your questions!

You can find all slides of this talk at
globe https://gandrass.de