Category: Hack/Doc Fest at Swarthmore

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

Registration open for Summer 2025 Moodle Hack/Doc Fest

Row of plants in front of four stone arches
Swarthmore’s Fragrance Garden in late fall. Photo credit: Swarthmore College

Registration is now open for the Summer 2025 Moodle Hack/Doc Fest, which will be held at Swarthmore College from June 10 through June 12, 2025. CLAMP’s Hack/Doc Fests are twice-yearly unconference-style events dedicated to improving the Moodle experience for liberal arts colleges.

For CLAMP schools, CLAMP will reimburse your first night’s stay at the Hampton Inn. There is no group rate for lodging.

Winter 2023 Hack/Doc at Swarthmore

Paper sign taped to glass door
Kohlberg Hall, our home away from home for the next three days

CLAMP returned to Swarthmore College for three days of intensive evaluation of Moodle 4.0 and Moodle 4.1. Overall, the group’s impression of Moodle 4.0 and 4.1 was favorable, echoing the impression of the Summer 2022 Hack/Doc at Carleton College. We also did not discover any unpleasant surprises with the upgrade process. Read on below for details of the various issues we discussed.

Text editors

A quote from King Lear typed into a text editor
TinyMCE 6.x in Moodle; it’s possible to disable the icon. Note the word count and contextual formatting.

Atto, a rich text editor developed in-house by Moodle, has been the default since Moodle 2.7. TinyMCE has been available as an alternative. Moodle is now changing course, and TinyMCE 6.x is now available on Moodle 4.1, and will eventually replace Atto as the default text editor. There are now three text editors available on Moodle:

  • Atto HTML editor
  • TinyMCE 6.x (branded as TinyMCE HTML editor)
  • TinyMCE 3.x (branded as TinyMCE HTML editor (legacy))

Overall TinyMCE provides a more streamlined experience than other editors. One feature we liked was that you can select a block of text and then use a pop-up menu to apply formatting, similar to Tumblr and WordPress. There are a few things to note:

  1. You cannot apply font colors to text. This follows from Atto, which significantly limited the available colors on accessibility grounds. It does not sound like Moodle intends to change this behavior.
  2. Embedding links to documents and images aren’t properly supported yet; it will be in Moodle 4.2 (MDL-76520). CLAMP may backport this fix to Moodle 4.1 if there’s interest.
  3. The site administrator cannot configure toolbar buttons, as you can with Atto and TinyMCE legacy. Moodle recommends using capabilities instead. CLAMP is working on a list of these.
  4. When copying and pasting from Microsoft Word, TinyMCE properly cleans up all the custom CSS.

CLAMP does not recommend making TinyMCE the default until the link plugin is available, which should be in Moodle 4.2 or sooner.

Boost

Menu showing topics that can be dragged and dropped to re-order them
Dragging a topic on the left-hand navigation menu to change the order.

We noticed a number of interesting changes to the default Boost theme:

  • Boxes can be removed by switching from default to plain in appearance
  • Menu items at the top can be customized in Boost admin settings
  • Sections can easily be rearranged in the Navigation menu, and this will renumber the Topics accordingly
  • The Navigation menu shows items within topic sections
  • The Block drawer is on the right and collapsed by default
  • A collapse/expand option is available at the top of the course, but not in the Navigation menu
  • The new move option (in the vertical three dots on right) is MUCH easier to use
  • You can easily show/hide the Navigation menu (left) and block menu (right)

Gradebook reports

The grade book has a new Single View interface. The functionality is the same as Moodle 3 but the navigation and some of the behavior are different. Single View has more descriptive navigation but may take more clicks to get where you want.

You can select or search for users or grade items. You need to turn on editing (top right) to make changes to grades (this is a change from Moodle 3). Overall there are more steps than in Moodle 3 but possibly clearer for new users. You have to find the override/exclude options under the Actions menu instead of at the top of the table, which may be more mobile-friendly.

Upgrade testing

We did not experience any significant issues upgrading a Moodle 3.11 instance to Moodle 4.1. CLAMP has published a Google Sheet showing the various supported versions of PHP, MySQL, MariaDB, and PostgreSQL.

Swarthmore vs Swarthmore

CLAMP investigated whether to pronounce “Swarthmore” with or without the first “r” before turning to more profitable tasks, like extra credit calculation in the gradebook.

Reverse chronological order

There was some discussion around ordering topic sections in reverse chronological order. This is popular at Bucknell University. This is a manual setup: Instructors create topics in reverse order. For example (in a ten-week term), Topic 1 will be Week 10, Topic 2 = Week 9, etc. When the topics are created, instructors can set Restrict Access to a Date and time, which will then be automatically shown after said date/time. Asynchronous (and possibly synchronous) instructions will be needed. CLAMP also discussed the possibility of a small plugin that can do a one-time reverse-ordering of topic sections.

Database presets

The Database activity has new presets that may make it easier to use for journals and other uses such as diaries. Presets simply create the fields for you, but they can be updated and more can be added after the fact – no other settings are affected by the presets. Moodle comes with the following presets:

  • Image database preset – fields are title, image, description (alt text is a forced field, but you can’t make it required) (for those using Domains, this might be a decent substitute for an image-based splot)
  • Journal preset – entries are not private- all students see all other students’ entries. Date shows up at the bottom of the entry. This makes it less useful as an actual diary for personal use unless moderation is turned on and the instructor doesn’t approve anything.
  • Proposals preset – fields for title, summary, and content and then a field for whether or not it was approved (presumably for the instructor to update)
  • Resources preset – fields are title, author, cover (image), description, weblink, drop-down (type of resource – have to go in and edit the dropdown items manually) (useful for a group resource creation assignment).

Course reuse

We revisited the new Course reuse page, which we also discussed at Carleton. Import, Backup, Restore, Copy course, and Reset are all grouped under the “Course reuse” navigation item in the Course navigation. Navigating there brings up the Import page; the other pages are available from a drop-down at left. You may want to customize the “Course reuse” language string, which you can do by navigating to Site administration > Language > Language customization > English (United States) ‎(en_us)‎ > Open Language Pack > moodle.php  and then searching  “Only strings containing” with “reuse”.

Label, we hardly knew ye

Our old friend the Label resource has been renamed to “Text and Media area” (MDL-72531). It still behaves as it did before. One important note: when you have editing enabled, the label is listed in the left-hand Navigation menu, for easy manipulation. It’s listed using a truncated part of the text. If you duplicate it, the duplicated item appears in the navigation with the same text and (copy) appended. You will then need to modify the resource to update this. The students won’t ever encounter this issue.

Activity instructions

Moodle Assignment now has two separate text boxes for description and instructions. The (?) icon describes instructions this way:

The actions you would like the student to complete for this assignment. This is only shown on the submission page where a student edits and submits their assignment.

  • Descriptions can be displayed on the course page or within the module
  • Instructions are only displayed once a student “Adds a submission” or “Begins assignment” (timed)
  • Instructions can be used if you want to hide a prompt until a students starts an assignment
    Or give nitty gritty details: upload in a PDF format, title you file X, etc.

Event monitoring

Sharon Strauss from Haverford presented on Moodle’s event monitoring feature. This is not a new feature in Moodle 4.1 but many of the attendees were unfamiliar with it. Moodle defines numerous events that can be triggered, such as for new forum posts, or assignment submissions. With the event monitoring feature, you can allow teachers and administrators to subscribe to given events and receive email notifications. This is separate from any other built-in notifications.

Tour of Swarthmore’s facilities

Michael Jones, the Director Of Language And Media Centers\Makerspace at Swarthmore, kindly took the Hack/Doc attendees on a tour of Swarthmore’s instructional spaces. We visited a classroom equipped for active learning, a podcasting studio, a studio equipped for recording remote lectures, and a maker space.

What’s next

CLAMP will release a beta of Moodle 4.1 with the Liberal Arts Edition towards the end of January. The regular LAE releases will come out the week of January 16th. The next Moodle Hack/Doc Fest, focusing on Moodle 4.2, is tentatively scheduled for mid-June 2023, location to be determined.

Registration open for Winter 2023 Hack/Doc Fest

Fall foliage and Parrish Hall on the campus of Swarthmore College on Tuesday, Oct. 29, 2013, in Swarthmore, Pa. (Laurence Kesterson / staff photographer)

Registration is now open for the Winter 2023 Hack/Doc Fest, which will be held at Swarthmore College from January 10 through January 12, 2023. CLAMP’s Hack/Doc Fests are twice-yearly unconference-style events dedicated to improving the Moodle experience for liberal arts colleges. The main focus of this event will be upgrading from Moodle 3.x to Moodle 4.x.