Releases

Development update, November 2024

Here’s another round-up of development work on the Numbas project in the past couple of months.

Numbas runtime

I’ve tagged v8.1 of the Numbas runtime on GitHub.

Enhancements

  • Zach Potthoff took on a “good first issue” from the GitHub repository and added an input hint for number entry parts when the student needs to write a fraction. (issue)
  • The element numbas.review_allowed from SCORM is used to decide whether to enter review mode on resuming a finished attempt. (code)
  • Fixed a bug which led to a blank space next to the answer input box when there’s no feedback icon. (issue)
  • Part feedback messages are always shown when there’s only one part in the question. (code)
  • The part feedback summary shows when the feedback has changed. (code)
  • The layout of the part submit and feedback area has changed: on wide viewports, the feedback messages are shown to the left of the “save answer” button and score display. (code)
  • When auto-submitting a part because the user moved focus away from the input box by clicking inside the same part, the feedback messages are shown. (code)
  • The objects in Numbas.storage.inputWidgetStorage are documented. (code)
  • The main question content tries to be as wide as possible, rather than fitting tightly to the content. (code)
  • In “match choices with answers” parts, the whole cell around a checkbox is clickable. (code)
  • Some improvements to screen reader part feedback. (issue)
  • HTML elements with data-interactive="false" can be safely copied and embedded multiple times in the question content. (issue)
  • The “save all answers” button at the bottom of each question has been removed. It’s unnecessary when answers are automatically submitted, and we thought it was better to always have a “save answer” button next to each part. (issue)
  • The offline analysis tool now has the ability to review attempts. (code, issue)

Bug fixes

  • The final part feedback message summing up the the marks awarded is treated separately to messages produced by the marking algorithm, so can be hidden when appropriate. (code)
  • Somanshu Rath updated the link to the documentation in the README. (code)
  • Fixed a recently-introduced bug, so expected answers are shown when the question is revealed. (issue)
  • Fixed the display of questions in print. (issue)
  • The menu mode question menu no longer overflows horizontally. (code)
  • When showing part feedback messages but not answer state, positive or negative messages aren’t shown. (code)
  • Fixed a bug in the simplification rules for removing brackets involving subtraction. (code)
  • The gauss_jordan_elimination function always puts the matrix into reduced row-echelon form when possible. (issue)
  • Parts aren’t generated until rulesets have been generated. (code)
  • The align attribute on images in question content is translated into corresponding CSS rules on the container when the lightbox button is added. (issue)

Extensions

  • Geogebra: when linking gaps to geogebra objects, the parent part’s HTML element is used for event handling. (code)
  • Polynomials: Fixed a typo on Polynomial.pow. (code)
  • Programming: Submitting with ctrl+enter opens the feedback. (issue)

Numbas editor

I’ve tagged v8.1 of the Numbas editor on GitHub.

  • When re-uploading a custom part type, the short name isn’t changed. (code)
  • The first_setup script sends the correct Content-Type header for HTML. (code)
  • Updated the installation instructions. (code)
  • The exam: editor loads the ‘enter review mode immediately’ setting. (code)
  • Fixed a bug with statuses on item queue entries. (code)
  • You’re notified when someone is assigned to an item you put in a queue and when they review it. (code)
  • The warning about interactive HTML elements is only shown in the variable editor for HTML elements not marked as non-interactive. (code, issue)

Numbas LTI provider

I’ve tagged v4.1 of the Numbas LTI provider on GitHub.

The main change is an improvement to how scores are reported through LTI 1.3. The completion status of attempts is reported and the “submitted at” time correctly reflects the time the student ended the attempt.

  • Improved the layout of the access change and resource settings forms. (code)
  • Improved the Blackboard LTI 1.3 upgrade management command. (code)
  • Now uses the parser from the compiler to read .exam files. (code)
  • Fix a regular expression syntax error. (code)
  • When re-opening an attempt, a RemarkedScormElement object is created so it shows up in the attempt timeline. (code)
  • When a student re-opens an attempt, they’re sent straight to that attempt. (code)
  • The student progress view copes with there being no LTI launch or no line item. (code)
  • The routine to remove an access token silently copes with there being no token to delete. (code)
  • Fixed the logic around the grade shown in the student progress view. (code)
  • When running an attempt, the numbas.review_allowed SCORM element is set, to determine if full review is allowed. (code, issue)
  • Updated the feedback summary tables for the new feedback settings. (code)
  • When reporting scores, it silently copes with attempts with no SCORM elements. (code)
  • Improved the display of the cookie check page. (code)
  • Changed availability times are sent to clients when access changes are saved or deleted. (code)
  • Slightly lightened the danger button background colour. (code)
  • The “discount parts” view is available even when there are no attempts. (code, issue)
  • LTI access tokens are cached, to avoid making redundant requests to the consumer platform. (code)
  • Fixed a bug when comparing line item start and end times. (code)

Development update, September 2024: Numbas v8.0

Here’s an update on Numbas developments since March. We made a separate post announcing the release of v4.0 of the Numbas LTI provider.

We’ve just released v8 of Numbas. There are a couple of technically small but highly noticeable changes to the Numbas runtime: auto-submission of answers and a revamp of the exam feedback settings.

Read the rest

Numbas LTI provider v4.0

We’ve just released a new major version of the Numbas LTI provider.

This release adds support for LTI 1.3. This is a new version of the LTI protocol, supported by all major virtual learning environments and providing new features.

We’ve also taken the opportunity to completely redesign the user interface from scratch, with a focus on accessibility and ease of use.

I’ve made a short video describing the changes in this version:

Read the rest

Development update: March 2024

Here’s a development update, covering everything that’s changed since November.

Most of my work has been on adding LTI 1.3 support to the Numbas LTI provider. We hope to have that ready to use by the summer, in time for the next academic year.

The rest of the development work has been mainly bug fixes, with a couple of new features in the Numbas runtime.

Read the rest

Development update: November 2023

Here’s a development update, covering everything that’s changed since July.

I spent a lot of time on the Summer working on our other project, Chirun. I wrote a new LTI 1.3-compliant tool, to make it easier to embed Chirun material in our virtual learning environment. That’s now in use at Newcastle, and I’m looking for other institutions to test it with virtual learning environments other than Canvas or Moodle. Our intention is to make our server available to everyone, since it won’t handle any personally identifying information.

So it’s been a while since I had time to do a Numbas development update. There have been quite a few bug fixes and an encouraging number of contributions from other people. The main news is that the Numbas runtime is now WCAG 2.1 AAA compliant.

Read the rest

Development update: July 2023

Here’s a development update, covering everything since the release of Numbas v7 last December.

Progress on Numbas has continued fairly quietly, while I’ve had to split my attention between this, Chirun, and other stuff at Newcastle.

I gave a talk at EAMS 2023 with an update on developments over the last year:

Read the rest

Numbas v7 and our own lockdown app

Collage of screenshots showing new Numbas features

It’s been a while since our last development update. The reason for that is that we’ve been working on some big changes to every bit of the Numbas software. We’ve released v7 of the Numbas app and editor, and a new lockdown app to integrate with the LTI provider which ensures that students can only access assessments in a restricted environment. There’s also a Safe Exam Browser integration, for in-person invigilated exams.

Laura Midgley has joined the team, replacing George Stagg, who left for an exciting job with RStudio.

Four people stood in a line, facing the camera
The e-learning unit now: from left to right, Chris Graham, Christian Lawson-Perfect, Laura Midgley and Aamir Khan.
Read the rest

Development update: August 2022

Sorry for the long gap since the last development update: the user meeting, EAMS, and work at Newcastle have consumed all of my time. Now it’s the summer, and I can take a moment to reflect on what I’ve done since March.

We had two student interns working for us for a couple of weeks in July: Will McNestry and Aleksas Bagdonas. They each contributed a few new features to the Numbas runtime, tackling some things that had been on the to-do list for a while.

I’ve mainly spent my time trudging through the ever-growing list of issues on GitHub, adding features and fixing long-standing bugs.

George Stagg left us at the end of June to work at RStudio. We’re interviewing his replacement in a couple of weeks – the new role will have a lot more time dedicated to Numbas development.

Read the rest

Development update: March 2022

Here’s an update on Numbas development, covering December 2021 to March 2022. Sorry about the long gap between posts – holidays, strikes, exams and finally catching covid didn’t leave me much time for blogging!

In February, I wrote about our new extension for assessing programming. In order to implement this, I added a framework for running asynchronous tasks before marking a question part, and for defining new kinds of input method. These should both open up all sorts of possibilities beyond the programming extension.

In the editor, I’ve been working on adding a “queues” feature to projects. The main motivation is to support the Open Resource Library, but I’ve already thought of a few other use cases for it.

Read the rest