It’s finally Summer, so it’s time for a new major version of Numbas. This year I’ve been working on diagnostic testing, and other adaptive assessments. There are also some new question-level features, improved accessibility, and some new features in the LTI tool.
Here’s another update on Numbas development, covering February and March, 2021.
I’ve mainly been spending time on developing new features for Numbas v6 lately, so the published versions have mainly just had bugfixes, but there are a couple of new things.
Notable changes include the ability for students to choose their own colours in the default theme, and some new marking methods for “choose several from a list” and “match choices with answers” parts.
Time got the better of me again, so here’s a big development update covering December, January, and some of February.
You might notice this update was published in December: November was a busy month!
The Numbas runtime and editor mainly got bug fixes this month. There’s a big new feature in the LTI provider: the ability to automatically remark a resource after you update the exam package. This has already become invaluable for us, with more lecturers than ever setting Numbas assessments and misconfigured marking becoming more common. The remarking feature should be considered experimental: we’ve used it on a few assessments, but I expect to uncover bugs and limitations as we use it more often.
I’ve tagged version 5.2 of the Numbas runtime on GitHub.
- Enhancement: Custom part types check the data type of each of their input options, and automatically convert compatible types. (code)
- Enhancement: There is now a
diff:annotation for variable names, to render differentials. Thanks to Lorcan James for adding this. (issue, documentation)
- Enhancement: The entire Numbas runtime (the
- Enhancement: The labels “Rows” and “Columns” on a matrix input are localised. (issue)
- Enhancement: There’s a new display rule
timesDotto insist that a centred dot ⋅ is always used as the multiplication symbol rather than a cross ×. (issue)
- Enhancement: The
latexfunctions when applied to
expressionvalues now take an optional list of display rules to configure the rendering. (code, documentation)
- Change: Pattern-matching: if “gather as a list” is turned off, named terms inside lists aren’t returned in lists unless they match more than once. (code)
- Change: When displaying
rationalnumbers, they are reduced to lowest terms. (code for plain-text display, and in JME)
- Bugfix: The
range except Xoperation returns integers when appropriate. (code)
- Bugfix: The default value of true for the setting “Allow pausing?” is correctly applied when an exam only has one question. (issue)
- Bugfix: Leading minus signs are correctly extracted from nested expressions while pattern-matching. (code)
- Bugfix: Hopefully the last ever bug fixes related to Internet Explorer – I hope to drop support for it next year when Microsoft ends support. (code)
- Bugfix: Variables defined through destructuring are restored correctly when resuming a session. (code)
- Bugfix: When the scheduler halts, halt all signal boxes. (code)
- Bugfix: The checkboxes answer widget for custom part types deals better with being sent an undefined value. (code)
- Bugfix: The legend for matrix inputs isn’t shown for the expected answer. (code)
- Bugfix: Cleaning an answer of
undefinedfor a number entry part produces the empty string. (code)
- Bugfix: Slightly improved the rendering of the brackets around the matrix input on Safari. (issue)
- Bugfix: The mathematical expression part’s built-in marking algorithm has default value generators for
rationaldata types. (code)
I’ve tagged version 5.2 of the Numbas editor on GitHub.
- Enhancement: When you create an exam, it’s automatically set to use your preferred language. (issue)
- Enhancement: In the part marking algorithms tab, marking notes are shown even for invalid inputs. (issue)
- Enhancement: The Extensions and scripts tab of the question editor has been split into separate nested tabs for each of extensions, functions, rulesets and preambles. (code)
- Enhancement: The preview rendering of LaTeX while editing a content area uses display style when appropriate. (issue)
- Bugfix: Fixed an error when browsing a project but not logged in. (code)
- Bugfix: Access control is applied to the links to download source of exams and questions. (code)
- Bugfix: The preview and embed views for questions and exams scale properly on mobile devices. (code)
- Bugfix: I made some more changes to colours and keyboard navigation, to improve accessibility. (code)
Numbas LTI provider
I’ve tagged version 2.9 of the Numbas LTI provider on GitHub.
- Enhancement: Each resource now has a Remark tab, which provides an interface to rerun all or some of the attempts at the resource using the latest version of the exam package, and optionally save any changed scores to the database. This has been on the wish-list for a long time. At the moment, consider this experimental: I expect to encounter bugs as we use this on real data. (issue, documentation)
- Enhancement: I started work on automatically testing an exam package as it’s uploaded, to check for some obvious errors: that it starts correctly, the expected answers for each part are marked as correct, and a paused attempt at the exam can be resumed. It works on my development machine but we need to do some upgrades on our production LTI server, so it’s switched off by default at the moment. (issue)
- Enhancement: The attempt timeline view now groups items produced within one second of each other; the score column is only shown when the score changes; the whole thing now runs lots faster. (code)
- Enhancement: There’s now a global search tool for administrators. You can search for users, resources or contexts. (documentation)
- Enhancement: There is now a link to review an attempt from its timeline and SCORM data views. (issue)
- Enhancement: The “Maximum attempts per user” setting for resources now has some help text explaining that a value of zero means no limit. (issue)
- Enhancement: The colours used to represent incorrect, partially correct and correct answers to questions are the same for the attempts listing and the stats page, and a bit more readable. (issue)
- Documentation: I’ve added a page about data handling to the documentation, giving some detail on what data the LTI tool handles and how access is controlled.
- Documentation: I’ve added a note about web proxies to the installation instructions.
I went from paternity leave in September straight into the mêlée of our first entirely online semester. Here’s an update of development work on Numbas during the month of October.
The vast majority of changes are bug fixes, now that so many more people are using Numbas and discovering edge cases. (And I made a couple of mistakes when introducing Numbas v5, sorry!)
We’re continually working on Numbas, fixing bugs and adding new features. I thought that it would be a good idea to post more regularly about updates to the Numbas software, rather than waiting until each year’s major version release to list everything that’s changed.
I’m going to go into a bit more detail on changes than I normally would in major-release posts, to give an idea of what day-to-day development on Numbas looks like.
I’d like these posts to be monthly, but I’m about to embark on a month of paternity leave, so don’t expect another one until the end of October.
So, here’s what’s changed since Numbas v5.0 was released in June.
We’ve just released a minor new version of the Numbas LTI tool provider.
Changes in this version include:
- A global dashboard view, showing resources which are active today.
- An option to only show completed attempts when viewing the statistics for a resource.
- When the student ends their attempt, they’re shown an encoded receipt which they can use as evidence of their score, even if no receipt email is sent.
- Bug fixes around time zone handling, sending email receipts on attempt completion, cross-site security and text formatting.
We recommend updating any servers running the LTI provider as soon as possible, by following the upgrade instructions.
We’re releasing another major version of Numbas. This release incorporates a couple of exciting new developments, which greatly expand Numbas’ capabilities.
If you want to dive right in, have a go at the demo exam we’ve made to show off the new features.
The short story: We’ve written an extension to Numbas which adds a data type for handling quantities with associated units, and a custom part type which asks the student to enter a value with units.