Tag: quizzes

Summer 2026 Hack/Doc Fest at Kalamazoo

CLAMP held its Summer 2026 Hack/Doc Fest at Kalamazoo College in Kalamazoo, Michigan. This was CLAMP’s second visit to K College, after the Summer 2012 Hack/Doc Fest. The primary focus this time around was the new Moodle 5.2 release, plus continuing follow-up on the issues with the question bank in Moodle 5.0. In addition to this overview, please see our separate post on changes to the login page.

Issues specific to Moodle 5.2

Question bank

The ongoing changes to the question bank have featured in the last few Hack/Doc Fests. The changes we tested in 5.2 are principally cosmetic/quality-of-life, and they all worked as expected:

  • Make question bank categories collapsible: the child categories can be hidden and displayed below their parent categories.
  • In-place editing of question bank category names: clicking the pencil icon allows for immediate name modifications.
  • On the question bank page show amount of questions for each bank: what it says on the tin.
  • Move entire question categories, complete with questions and subcategories, to a different question bank: worked as described.
  • Align in-place editing of question names with activities/category name editing behavior: question names were editable in-place and aligned as expected.

Problems remain with importing large question banks from pre-Moodle 5.0 instances. As described in January’s report, importing category-level questions triggers numerous non-fatal warnings that look like errors. We also encountered a problem with asynchronous backup/restore and questions that will be described below.

Asynchronous backup/restore of quizzes

We tested restoring a large Moodle 4.5-era course with a large and complex question bank. The restore failed, and caused the development server to run out of memory and crash. There are two bugs in play here. One, is that the backup/restore subsystem can get stuck in a loop and run out of memory. A mitigation of that problem is described in MDL-81511. We tried both patches and they both worked.

The underlying problem is less clear. We think the issue comes down to the following category structure in the associated question bank:

  • Parent category 1 (1+ questions)
    • Sub-category 1 (1+ questions)
  • Parent category 2 (1+ questions)
    • Sub-category 2 (0 questions)
      • Sub-category 3 (0 questions)
        • Sub-category 4 (1+ questions)
        • Sub-category 5 (1+ questions)

Attempts to reproduce the issue with a bare-bones structure matching the above were unsuccessful. Modifying the original backup by adding a question to the first empty category did resolve the issue. We didn’t report the problem to HQ yet because we hadn’t narrowed it down sufficiently.

Marking workflow

Moodle is starting to make a push around the marking workflow feature (MDL-86006). We looked at this in 2014 and thought it could be “handy.” The marking workflow now supports multiple markers (read: graders) and grade calculation methods.

Enabling Marking workflow in an assignment provides a workflow that requires grades to go through a series of stages before they’re released to students. A mark is a separate value (a “provisional grade”) set by a “marker.” Markers need to have the role of teacher or non-editing teacher and they are allocated to mark (not grade) specific students. The new functionality in 5.2 is that you can now have multiple markers provide a mark for a single assignment.

This seems like it could be particularly useful in large courses with TAs. The marking workflow does not work with rubrics.

Completion conditions

The completion criteria, activity dates, and completion actions are reorganized to sit prominently at the top of the activity page. If you were to set a completion requirement for a forum that is also graded, students can check off the completed activity even though they didn’t actually complete the forum. They won’t get a grade. The instructor has to add the grade manually. So the completion requirement is just used as a checklist.

Documentation updates to consider for 5.2

In this section we’re flagging areas where you might want to update your internal documentation when upgrading to Moodle 5.2.

  • Q&A Forum: acts more like a live forum – could be used for polling
  • Marking Workflows for the Assignment Activity: doesn’t work for rubric grading.
  • New login screen: for schools not using SSO authentication methods
  • Question Bank: can edit categories directly now, drag and drop/move categories, can see questions used in course, move categories to another course, etc.
  • Completion Requirements: act more as a visual checklist. Can be tied to competencies.
  • Restricted Content: clearer information displayed. The process is still the same but may need to update screenshots to reflect the new display.
  • Subsection anchor links: screenshots may need to be updated to reflect the new look. The new option to duplicate subsections should be reflected

Other issues

Timeline/Calendar/Upcoming Event and overrides

We’ve noted before that there are inconsistencies related to the Timeline, Upcoming Event, and Calendar blocks and the presentation of user and group overrides in assignments. There are at least three tracker items addressing aspects of these problems:

  • MDL-77441: Activity overrides NOT display correctly in the Timeline block 4.1
  • MDL-79989: Group overrides dates/times do not display correctly in calendar, upcoming events, and timeline for students in courses IF they are enrolled elsewhere in the site as a teacher
  • MDL-81004: Timeline doesn’t check the group or individual exceptions dates in some date filters

We think we’ve identified the root problem and we’ve posted a patch to MDL-77441 for review. It’s complicated to explain, but at root the problem manifests if the you’re looking at a particular window (say the next 7 days), and the original event falls within that window but the override does not.

H5P activity accessibility

We’ve looked at H5P before, most notably at the Winter 2021 Hack/Doc Fest. This time around we looked the accessibility of various activities, and how to disable individual types at the site level. It’s important to note that you can download types from h5p.org that were not evaluated for WCAG 2.1 AA conformance and are not maintained by the core team. All content types are enabled (visible) by default, but not all are recommended by the core team.

You can disable (hide) a content type in Site administration > General > H5P > Manage H5P content types. There’s a significant caveat, however. The H5P Page type (formerly called “Column”), allows adding H5P types to itself and ignores whether the type is disabled at the site level. This is a long-standing bug (MDL-77675) and hasn’t yet been addressed.

Off-label uses of course import and restore

It’s possible when restoring a Moodle course from a backup file to advance the dates of the resources to match the start and end date of the target course. To do so, you need to make the following choices when restoring the course:

  1. From the restore menu select any of the options, noting that the options to create a course will require you to set a start date.
  2. For any restores into existing courses, Set “Overwrite Course Configuration” to “Yes”.
  3. Uncheck the overwrite checkboxes for short name, full name, and start date.

In this configuration, the restored resources will have start and end dates recalculated from the target course’s start and end date, as opposed to whatever was in the backup. This is an alternative approach to using the Edit Dates report to bulk-update dates after the restore.

All well and good. The challenge is that this workflow isn’t possible when importing from an existing course, which means it’s not available to faculty if their course backup size exceeds the maximum upload size for the server. This functionality has now been requested in MDL-89095.

Remove reliance on color to convey information in Calendar View

In the full calendar view (/calendar/view.php) there are three view options, Month, Day and upcoming events. The events key in the Block Drawer shows there are 6 types of events and each one has a corresponding color that the event will appear on the calendar/event in the different views. In Day and Upcoming Event View there is an indicator of what type of event it is being viewed:

Dialog describing an event

In the calendar view the only indicator of event type is the color unless you click an event and bring up the modal dialog which brings up a view similar to above:

Calendar view. There is an event indicated by color alone.

WCAG states color shouldn’t be the only means of conveying information. On the Calendar View, it would be ideal if this color information was backed up by an image or other form of secondary encoding. This would facilitate information transfer for color vision deficient (colorblind) users. We’ve reported it to HQ as MDL-89011.

H5p content types not available on clean install

Using h5p requires the content types. These need to be downloaded. There’s a monthly task for keeping these in sync (\core\task\h5p_get_content_types_task). This is scheduled to run at a random time on the first of the month, so you could potentially go a month without types available on a new install. There’s a tracker item (MDL-80031) but no workaround beyond running the task manually.

Summary

We took an informal poll of seven participating schools as the Hack/Doc Fest wrapped up. Four were planning on upgrading to Moodle 5.1 for the Fall 2026 semester, two were planning to stay on Moodle 4.5 for another year, and one was planning on upgrading to 5.1 or 5.2. No one had any real concerns about running on either 5.1 or 5.2. The relative lack of major issues in 5.2 permitted us to take some deep dives into longer-standing issues, such as the override display issue, H5P modules, and calendar accessibility.

Safe Exam Browser integration within Moodle

With some campuses seeing more interest by some instructors to employ lockdown browsers, a deeper dive back into Safe Exam Browser was done by a collective of Moodle HackDoc Winter 2026 participants: Jason Alley (Lafayette College), Gerard Gadigian (Connecticut College), Jim Nicnick (Lafayette College), and Andrew Ruether (Swarthmore College). CLAMP previously looked at this tool during the Winter 2021 Hack/Doc.

Overview

Safe Exam Browser (SEB) is a browser application that locks computers into a secure, full-screen mode for online quizzes and exams. Its purpose is to prevent access to unauthorized websites, applications, and system functions on a student’s device while engaging with the exam to eliminate the likelihood of cheating. While the browser is running in full-screen mode, keyboard shortcuts, screen capturing, internet browsing, and all applications not allowed by the exam configuration are disabled. The browser cannot be exited until the exam has been submitted if the instructor applies the setting in the configuration.

SEB is a free, open-source application intended for use on devices running on Windows, Mac, and iOS operating systems.

What worked well

SEB works only with the Moodle Quiz activity. Therefore, the user interface (UI) for SEB is available only within the Moodle Quiz activity. The standard functions behave as expected. Some functions to note:

  • Enabling access to the camera and microphone: this function provides students the ability to use their device’s camera and/or microphone to complete a Moodle Quiz question (i.e., using WebRTC). This is not used to proctor or surveil students.
  • URL filtering: To allow students access to specific websites, it’s possible to enable URL filtering. To achieve this, the instructor needs to enable URL filtering, which is off by default, and then enter the allowed URL(s) in the “Expressions allowed” field. Each allowed URL should be listed on its own line and omit the protocol (https://). Because the SEB does not provide Forward and Back navigation like a typical browser, it’s important to create allowed links in the Moodle Quiz question to open in a new window/tab. We discovered it’s also important when URL filtering is enabled, to also include one’s Moodle domain (e.g., moodle.lafayette.edu/*) with the asterisk wildcard serving as a catch-all for all sites on the Moodle domain.

What worked, but not so well

  • Unexpected computer behavior: When SEB launches, it closes many applications on one’s computer and can leave browser windows/tabs in odd states requiring a refresh. The macOS version does not warn the user ahead of time–the Windows version does–that many applications will be closed. It is recommended to give the students forewarning that many applications will close and to save work prior to starting the quiz.
  • Download site: The default SEB download site, after the download begins, redirects one to a confusing SourceForge page with links to what may be malware. The license for SEB looks to allow an institution to host its own download files.
  • SEB templates: There is an option for templates to be used when configuring SEB. This is complicated by the fact that you cannot use the SEB utility to set up the templates. You must configure a quiz manually from within Moodle, and then download the configuration file from the quiz. Then the config file can be uploaded by a Moodle admin via Administration > Plugins > Activity modules > Quiz > Safe Exam Browser templates.

What didn’t work

  • Manually customizing the .seb file: Because the Moodle interface provides limited configurations, we attempted, unsuccessfully, to customize the .seb file, which serves as the configuration file for Safe Exam Browser. We wanted to see if it was possible to customize the .seb file to allow for the launching of applications like Word, which is not a configuration setting in Moodle Quiz. In our experience, the only way to successfully change the .seb file was to update the Moodle Quiz SEB settings.
  • Safe Exam Browser on iOS: The SEB iOS app didn’t provide any lockdown functions.
  • Safe Exam Browser on Android OS: There is currently no official Android compatible version of SEB.

Recommendations for using Safe Exam Browser

  • Set up a practice, no or low-stakes quiz in one’s course to ensure the students are able to access and take the quiz. This may also help reduce any anxiety surrounding the use of SEB.
  • Remind students that when SEB is launched, it will close many applications on their computer, so they should save any work in progress to ensure nothing is lost.
  • Use for in-person, proctored exams to provide in-person support should questions arise.
  • Only use built-in Moodle Quiz Safe Exam Browser functions–don’t try to customize the .seb file manually.
  • If including links in questions, set them to “Open in new window” because Safe Exam Browser doesn’t include navigation buttons to go back. Use “Expressions allowed” to limit access to specific websites:
    • Don’t include https:// when adding URLs to the list
    • Each URL should be listed on its own line
    • Add /* after one’s Moodle domain to ensure access to all Moodle access is available (e.g., moodle.lafayette.edu/*)
    • Add /* after domain to allow for access to all pages on a site
  • Have a backup plan such as having extra computers on hand for those students who may not have a compliant device, or use Blue Books.

Summer 2025 Hack/Doc Fest at Swarthmore

Metal gates leading to a well-tended garden
The Dean Bond Rose Garden at Swarthmore College

This was CLAMP’s third visit to Swarthmore College, but the first time we’d gone there during the summer (see the 2020 and 2023 reports). After some rain on Tuesday morning, good weather moved in for the rest of the conference. Points of interest on campus included the Scott Amphitheater, the Dean Bond Rose Garden (pictured above), and “Crumhenge“, a Stonehenge-inspired art installation along the Crum Creek trail.

Indoors, we evaluated Moodle 5.0. The consensus among the attendees is that schools planned to upgrade to Moodle 4.5 for the forthcoming school year and give the Moodle 5.0 series (see below) time to develop. Please read on for a discussion of issues at this summer’s Hack/Doc Fest.

Issues specific to Moodle 5.0

Question Bank

We have a separate blog post detailing the various changes to the Question Bank in Moodle 5.0. These are over and above the fixes for the Question Bank import issue that CLAMP flagged in February. The short version is that courses may now have multiple question banks, questions created in quizzes may not be shared, and category-level question banks have been eliminated. Please see the linked post for further details and recommendations.

Version numbering

Moodle has a new version naming convention starting with the Moodle 5.0 release. In terms of the operational calendar, we can expect a new long-term support (LTS) release in the October of even-numbered years, and new major features in the April of odd-numbered years. Read on for a fuller explanation.

Previously, the first two numbers indicated the major version of Moodle, while the third number indicated the minor version. So, Moodle 4.5.0 would be the first release of Moodle 4.5, while Moodle 4.5.3 would be the fourth release of Moodle 4.5.

Going forward, the first number will indicate a series, the second number a version within that series, and the third number the patch version. Therefore, Moodle 5.0.0, released in April 2025, is the first release in Series 5. Moodle 5.0.1, the first patch release, was released in June. In October, Moodle HQ will release Moodle 5.1.0, the second minor release in Series 5. The fourth release in a series, in this case Moodle 5.3.0, will be a LTS release, and will be followed by Moodle 6.0.0, the first Series 6 release.

Plugin removals

The following plugins are no longer included in Moodle, beginning with Moodle 5.0:

As of writing, these plugins are published on various GitHub repositories but not available through the Moodle plugins database. They have not been explicitly tested on Moodle 5.0. If you intend to keep using one of them in Moodle 5.0, it’s important to ensure that you’ve downloaded the code before executing the upgrade, otherwise data from the plugins may be removed as part of the upgrade process.

Activities overview

The Activities overview has been redesigned for Moodle 5.0. This appears to be a partial reimplementation: supported modules include Assignment, Workshop, Feedback, Resources, but not Quiz, which still has the pre-5.0 page. The page is available to teachers and students. The information given for Assignments includes Assignment name, location of assignment within the course (section name), due date, number of submissions received, and quick actions/grading. There is no sort functionality although it’s been proposed. Entries are sorted in the order that they’re on the course page except all subsections fall after all sections. Moodle HQ has additional development planned for future releases.

Table listing an assignment with its due date, number of submissions, and a grading action.
Activities overview showing a teacher’s view of an assignment

TinyMCE drag-and-drop

Media can now be dragged-and-dropped into the TinyMCE editor. Depending on the size of the original image, you may need to resize the dimensions so that the image fits the size you’re looking to obtain. You can resize the image by clicking on the picture icon in the TinyMCE toolbar. The measurement is in pixels. You are not prompted to add alternative text but you can go back and add it later. It appears in some cases to pull alternative text from the image metadata but this behavior wasn’t consistent.

AI subsystem

The AI subsystem was introduced in Moodle 4.5, and we reviewed it at the Winter 2025 Hack/Doc Fest at Lafayette. A new feature is an “explain” button in addition to “summarize” on pages. The prompts that are sent along with text are different between explain and summary. Those are configured inside the Action Settings of a provider instance.

Both summarize and explain contain the instructions by default:

“Important Instructions:

    1. Return the summary in plain text only.
    2. Do not include any markdown formatting, greetings, or platitudes.
    3. Focus on clarity, conciseness, and accessibility.”

Explain has instructions along the lines of Elaborate, Simplify, Provide Context and Organize logically. Summarize is more concise; it includes “Condense and Simplify”.

You can also configure multiple providers, setting up the future possibility of using different providers for different tasks. Configurable options include rate limits and the model to use (gpt-4o is the current default). You can also use an OpenAI compatible API such as a locally-hosted Ollama instance.

SMS notifications

Moodle now supports SMS notifications as part of the Messaging system. This is a pluggable interface; core ships support for AWS SNS and Modica, while Twilio is available as a plugin. CLAMP doesn’t possess a suitable phone number so we only evaluated the configuration side. In General > Messaging > Notification settings, you can enable SMS. You can then scroll down to unlock SMS for assignment notifications only; that’s all that’s supported in this release. If you leave them off by default, users can choose to enable them.

We did find an interesting bug. If you have enabled SMS in Messaging but disabled all available gateways, various parts of the Moodle Messaging system don’t work properly.

Other issues

TinyMCE keyboard conflicts

When using TinyMCE as the editor and also typing in Hebrew on a Mac, a specific keystroke triggers the TinyMCE Help menu and does NOT type the intended character. The specific keystroke is alt-0 and in Hebrew it should appear as a small diacritic below the typed character. An aleph character without the diacritic looks like this: ש but with the diacritic, it looks like this: שְ. This is actually a bug in the upstream TinyMCE project and not specific to Moodle, but we’ve reported it in both places.

Forum attachment accessibility

Moodle allows you to upload images to the forum activity as attachments, instead of inserting them inline in the TinyMCE editor. When images are added in this way, they are displayed at the bottom of the post. However, there is no option for adding alternative text to images added in this way. We’ve reported this to the tracker, and we recommend for now that users not upload images (as opposed to other types of documents) to the forum as attachments.

Upload interface for forum attachments; there is no option to describe the image
Uploading a file as an attachment to a forum post

Disable Safe Exam Browser

There was interest in hiding the safe exam browser functionality from teachers. This can be accomplished by modifying the teacher role and setting the following capabilities to Prevent:

  • quizaccess/seb:bypassseb: Bypass the requirement to view quiz in Safe Exam Browser
  • quizaccess/seb:manage_seb:allowedbrowserexamkeys: Change SEB quiz setting: Allowed browser exam keys
  • quizaccess/seb:manage_seb:allowreloadinexam: Change SEB quiz setting: Allow reload
  • quizaccess/seb:manage_seb:requiresafeexambrowser: Change SEB quiz setting: Require Safe Exam Browser

Overrides don’t appear properly at times

At times users don’t see the correct overridden dates on the timeline and/or calendar (in various places). This appears to be the case primarily if a user is a student in one course and a teacher in another. See links below for related tracker issues.

All tracker items

Please see below for a list of all tracker items that we collected during the Hack/Doc Fest. Please be aware that Moodle migrated to JIRA cloud hosting the weekend after the conference and some users have reported challenges logging in since then.

The Question Bank in Moodle 5.0

In February 2025, CLAMP posted about serious question bank issues in Moodle versions 4.3.8, 4.4.4, and 4.5.0. While those issues were addressed, With the release of Moodle 5.0, the Question Bank has been radically revised and appears to be a work in progress.

Up through Moodle 4.5, the course Question Bank stored all quiz questions within a course. Teachers could either create or edit questions directly in the Question Bank or from within any quiz in that course. All questions created from within a quiz would also be available from the course Question Bank.

Starting with Moodle 5.0, a course can have multiple Question Banks. However, questions created within a quiz in this environment will not store questions in the course-level Question Bank; instead those questions are restricted to the context of that specific quiz.

It is still possible to add a question from the course-level Question Bank(s), and when you do, the question will display with a clear tag indicating the name of the Question Bank from which it is sourced.

List of questions in a quiz. The question from a course question bank is tagged as such.
Two quiz questions; one is tagged “Carly2 Course Question Bank” and is from a course-level question bank.

Further, a teacher can access any Question Banks to which they have been allowed access from any quiz or course. Access to Question Banks is granted to all teachers on a course.

How to add a Question from a Shared Question Bank

This is how you add a question from a Question Bank in another course in Moodle 5.0:

  1. From the Questions page in a quiz, click “Add“.
  2. Choose “from question bank”.
  3. In the pop-up window, click the “Switch bank” button.
Interface for question bank management. Filters are available for categories. The user may switch to a different bank.
Popup for switching to a different question bank.
  1. Choose the Question Bank you want to use.
Textual list of question banks available to a user. Question banks in a course are grouped together.
Screen showing question banks in the course and other recent question banks.

Roles in Question Banks

In Moodle 5.0, it is now possible to control access to your question banks separately through the Assign Roles feature.

Context menu for a question bank. Options include Edit settings, Assign roles, and Delete.
The menu for a question bank now includes role assignment.

There are three roles available to assign within a question bank: teacher, non-editing teacher, and student. Students in a question bank have no permissions within the bank, so assigning that role has no functional difference as having no role in a bank.

Users who are assigned a teacher or non-editing teacher role in a question bank are able to access the question bank within their separate courses when adding questions. However, the user must be enrolled in the course the question bank is native to in order to be assigned a question bank role. Users’ roles within the course and roles in the course question bank may be different and are assigned separately (i.e. a student in a course may be assigned as a teacher in the question bank for the same course).

Question bank changes when upgrading in place from Moodle 4 to Moodle 5

Within our Moodle 4.5 test environment, we added questions to question banks at the course level, the category level, and the site level to document their new place within Moodle 5.0. Upon upgrading, this is what happened to the questions and question banks within each level.

Course-wide question banks

The course-wide question bank questions are all added into a new question bank named “[course short name] shared question bank” with the description “This question bank was created automatically when the site was upgraded.” The name and description can be changed and the question bank can be renamed in the Edit settings page. Categories within the course question bank from before the upgrade are preserved (see below).

Drop-down selector with list of question categories in a question bank
Categories in an upgraded question bank

Category-wide question banks

One of the major changes to the question bank structure is the handling of category-wide question banks. Moodle no longer allows users to see the site-wide or category-wide question banks. When navigating to the edit categories section within the course, users are only able to see question categories for the course question bank.

Interface showing separate question categories for the system and category in Moodle 4.5
System and category question banks in Moodle 4.5
List of course question banks at the category level in Moodle 5.0.
In the category context, only course question banks are available in Moodle 5.0

If category-wide question banks exist, this prompts the creation of a course entitled Shared teaching resources for category: [Category name]. This course is created with no participants and no content besides the question bank. Users must be enrolled to access the question banks on the category level.

👉 It is important to note that even the authors of questions within category-wide question banks will not have access to these unless specifically enrolled in the newly- created teaching resources course. Once a user has been enrolled in this course, they can access these questions when populating quizzes with questions using the Switch bank function. The category question banks can only be updated within the newly-created course.

Site-wide question banks

Site-wide Question Banks function in a similar way as before—they are available on the site’s homepage under the Question banks tab (for admins, not all users on the course). This question bank is not available unless users have been assigned a teacher or editing teacher role in the question bank. All users are available in the role assignment page.

Recommendations

CLAMP has three specific recommendations for schools proceeding with Moodle 5.0, and we’ll explain each of them below:

  1. Enumerate system- and category-wide question banks and who they are shared with
  2. Encourage people to create questions in the question bank and not the quiz
  3. Do not import questions with categories into a Moodle 5.0 system

Before upgrading to Moodle 5+, CLAMP recommends you ensure you know about any system-wide or category-wide question banks/categories and with whom they were shared. While these will upgrade well, how they are shared will change. After upgrade, you will want to re-share those question banks/courses through assigning question bank roles and/or enrolling users in the appropriate courses.

Questions created within a quiz environment will not be added to the course question bank and will not be shareable or available outside of the quiz. Therefore, CLAMP recommends creating questions intended for reuse within the course question bank, rather than within the quiz.

CLAMP strongly recommends not relying on exporting questions with categories from the questions area of another site, and then importing that into your Moodle 5+ environment. If your questions export includes categories, Moodle 5+ will import each category as a separate Question Bank in your Moodle course, even if the category contains no questions.

Any questions export will import the questions into a new question bank, that will be named “System Shared Question Bank”, with the description of “This question bank was created automatically when the site was created.”