Tag: quizzes

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.”

Winter 2025 Hack/Doc Fest at Lafayette

CLAMP held its Winter 2025 Hack/Doc Fest at Lafayette College in Easton, Pennsylvania. The primary focus of the event was evaluating Moodle 4.5. We’re happy to report that we encountered no major issues and no blockers to upgrading to Moodle 4.5 this year, although you should take careful note of the new image redaction functionality. Please read on below for for details of the various issues we discussed.

Issues

Subsections

Sub-sections (mod_subsection) are a new feature in Moodle 4.5. This is a great way to organize materials within a topic block. In the past, you needed to use labels and indented items to group items within a section. With this feature, you can create a subsection that is collapsible within the section. We found it difficult to drag-and-drop items from a local folder directly into the subsection, but it is easy to move items into the subsection once they have been added to the topic block itself. You can click on “Add an activity or resource” within the subsection to add content directly to the subsection. You can have multiple subsections within the topic block, but you can’t nest another subsection within an existing subsection.

Scrolling across pages when annotating Assignments

Assignment annotation allows only for clicking through multiple pages. This is cumbersome when trying to flip across multiple pages when annotating. A proposal to allow scrolling instead made some headway in 2020 before the author abandoned it. CLAMP has updated and resubmitted the fix and will work with Moodle HQ to get this feature added.

Image redaction

There is a separate blog post discussing the new image redaction feature in Moodle 4.5. The short version: if you enable it, make sure that you also install exiftool and configure Moodle to use it.

Assignment submission default order

The first time you view submissions in an assignment, they’re sorted by the internal Moodle userid of the submitter. It appears non-deterministic and can confuse faculty. Once you’ve sorted by something else (last name, submission date) that choice persists through logout, but the initial presentation is confusing. CLAMP has submitted a feature request and patch to change this behavior to last name of the submitter.

New notifications

Moodle 4.5 adds new options to notify students of upcoming assignments and quizzes. By default, each user decides what notifications they want. Administrators can change this default. New notification options include the following:

  • Assignment due in 7 days
  • Upcoming assignment due (48 hours before the due date)
  • The assignment is overdue.
  • Quiz opens soon

There is no way for an individual instructor to configure these options or to force a push.

Optional questions for Quiz

Carleton was interested in a Quiz-like activity where students have the option to answer specific questions within a category. They would only be graded for the questions they answered. This is an example point system:

  • 15 multiple choice questions worth 2 points each
  • 5 essay questions about terms (only 3 are required)
  • 5 more essay questions (only 4 are required)

We looked at ways of accomplishing this:

  • A teacher can add a multiplier to the Quiz activity only if all questions are worth the same number of points
  • Changing the Maximum grade to be below the total number of points will only cause the question points to be recalculated in the Results page
    • It still counts all the optional questions
    • Unlimited Grading does not fix this issue
  • Workaround: Create Quiz questions listing all potential question prompts a student can answer.
    • Example: three essay questions with all five essay prompts.
    • Students have to write out what question they are answering

Other avenues to explore:

  • Try lesson activity
  • Maybe branching (conditional formatting)
    • Branching depends on whether want to give students the option to answer all questions for extra credit.
    • Branching is available within a Questionnaire, but not within a Quiz. However, the Questionnaire does not appear to have any auto-grading features (beyond assigning a grade for completion).

Exploring Competencies in Moodle

We took another look at Competencies, a perennial topic at these events. Coming out of Butler in 2016 we called them “a complicated new system with an inherent workflow that isn’t well documented.” Occidental published some documentation about them at Smith in 2019. We took another look at them as an offshoot from the optional Quiz questions work. Findingss:

  • Administrators can build a site-wide template: Site administration > General: Competencies > Competency frameworks
  • Taxonomies are just labels for nesting: 4 level options.
  • Teachers cannot create competencies; they can only pull competencies out of existing frameworks.
  • Teachers can assign competencies to specific activities and resources or just add the competencies to their course in general.
  • This could be useful for programs with a graduation requirement. An example is Carleton’s Writing Portfolio where students upload 3–5 pieces of writing from different courses plus a reflective essay.

We helped unearth two bugs while looking at Competencies this time around: MDL-84147 and MDL-84148.

UX changes to the assignment submissions page

The assignment submissions page has new menus, filters, and headers (See https://moodledev.io/general/releases/4.5#assignment-improvements—phase-1 for a full list). More changes are planned. We liked the new assignment options. All the selection options moved to the top. You can filter by submission status (i.e. submitted, not submitted, draft).

Moodle assignment interface with filters active

AI subsystem

There is a separate blog post discussing the new AI subsystem in Moodle 4.5. OpenAI and AzureAI are supported; we were able to evaluate OpenAI.

Open Badges 3.0

Moodle is working toward supporting Open Badges 3.0. This work will be spread across multiple releases. Two improvements landed in Moodle 4.5:

  • MDL-43938: The uniqueness requirement for badge names has been removed.
  • MDL-82057: Badges can be imported from one course to another using Course Reuse> Import. The imported badge has all the metadata of the first badge, but none of the issuing criteria. It’s also not active. The image is properly deduplicated.

Report Builder

We evaluated numerous improvements to Moodle’s Report Builder, all of which worked as advertised. The biggest is the ability to delete multiple cohorts at once:

  • MDL-52046: this is the option for deleting multiple cohorts at one time.
  • MDL-81330: can now filter based on the cohort within the class participants window.
  • MDL-80123: admin preset reports now work correctly (previously, there was a bug around deleting presets).
  • MDL-82331: time filtering can now go down to the minute (previously could only go down to the hour). It passes.
  • MDL-82529: adding the option to filter cohorts by custom fields.
  • MDL-81399: The relational database now has fields for users’ time zones and languages. As a result, it’s possible to use these to filter custom reports.
  • MDL-82114: Can now filter by the plugin when creating a custom report from the “Files” source.
  • MDL-82512: Can now filter by the plugin when creating a custom report from the “Author” source.

Audio-video recording in TinyMCE

Tiny MCE offers built-in features for recording audio and video. These updates expand the offerings so users can create screen recordings and recordings can be paused and resumed.

  • MDL-81212: Tiny/RecordRTC: Add Screen-recorder button.
  • MDL-81111: Tiny/RecordRTC: TinyMCE conversion – add a “Pause” button for recording A/V.

Completion tracking

Restoring old courses brings up a weird assortment of completion tracking settings. Sharon Strauss from Haverford created this short video about completion tracking to show people what these settings are and how they can quickly change the settings:

What’s next?

Save the date! The Summer 2025 Hack/Doc Fest will be at Swarthmore College in Swarthmore, Pennsylvania, from June 10-12.

Winter 2021 Hack/Doc: Day 2

The participants filter in Moodle 3.9

Work on the task list continued during Day 2 of the Winter 2021 Moodle Hack/Doc Fest as our attendees juggled Moodle and the meetings from which Hack/Doc no longer provides any escape.

From the task list

Participants filter

Core has continued its improvements to the participants page. You can now filter participants using various criteria such as enrollment method, role, status, keyword, and group membership (if the course has groups).  You can also chain filters together using OR or AND, but not a mixture. One weird aspect is that once you select a filter field (eg, Role, Enrollment Method), you can’t change that directly from the dropdown — you have to delete the filter row and recreate.

Activity chooser

The activity chooser is configurable now. It supports a tabbed interface with five groupings: Starred, All, Activities, Resources, and Recommended. Starred is per-user, similar to starred courses. Recommended is defined by the site administrator, allowing you to promote certain activities and resources over others.

Go to top

There is now a “go to the top of the page” button. This can help with the “scroll of doom” problem on very long courses. We tested it on desktop, mobile, and tablet environments:

  • On the desktop and iPad, the Go to top button only appears when you’ve scrolled a lengthy enough distance AND only when you’ve reached the bottom.
  • On mobile, the Go to top button only appears when you’ve scrolled a lengthy enough distance AND only when you’ve reached the bottom. The button sometimes doesn’t display when you’ve hit the bottom. For instance, when Safari hides its bottom navigation toolbar to give a full-screen view, the button didn’t always display.

Scrolling timer for your quiz

Moodle 3.10 adds a scrolling timer for quizzes. The timer displays as a timer inside of a red box within the quiz. It doesn’t disappear until the quiz is submitted. It stays at the top of the screen even as you scroll through a page of questions. With 16 seconds remaining, the timer begins displaying a red background and gets darker each second. With 6 seconds remaining, the text changes to white and the background gets even deeper red. We did think the default styling could be improved.

The scrolling timer in a quiz

Previous activity with completion

As of Moodle 3.9, it is possible to base restricted access on the completion of the “previous activity with completion“. Rather than specifying an activity by name, you can now effectively specify “the one before this one.” When editing is on, the teacher can see whether the dependency is absolute (a specific activity) or relative (the previous activity). If there is no previous activity, Moodle will tell us that we are missing a referent. This is calculated without regard for activity visibility. There are various reasons why an individual student might not see an activity: the activity could be hidden or it could be accessible only to students in a certain group. The option to base dependency on a previous activity with completion does not appear until the course has at least one activity with completion.

Previous activity with completion in Moodle 3.9

Better task management

Moodle 3.10 adds a “Tasks running now” link in the Site Administration > Server > Tasks page. This is useful for checking long running tasks or potentially correlate system slowness with background task processing. There is an AJAX refresh button on this screen. There is also now in Site Administration > Server Tasks > Task Processing the option to disable cron from the interface. This would be useful when doing maintenance tasks.

Course copy

Moodle 3.9 added the ability to “copy” or duplicate courses from the web interface. This uses the ad-hoc task and backup functionality and therefore requires that corn is enabled and that you not alter the course once you trigger the copy. By default, this feature is restricted to managers and administrators. It does not enforce naming conventions, unlike Course merge helper and similar plugins. Our impression is that copying a course is faster than importing a course. We think a good use case would for copying template courses in non-for-credit scenarios, such as committees or student groups. It does bring over grade book weighting, and you can choose whether to copy user data. For those schools that use the templated course creation plugin, these two features do not conflict, because this feature does not trigger the course creation event.

Copying a course in Moodle

Winter 2021 Hack/Doc Fest: Event page | Day 1 | Day 2 | Day 3