{"id":2151,"date":"2024-11-14T15:38:16","date_gmt":"2024-11-14T15:38:16","guid":{"rendered":"https:\/\/www.numbas.org.uk\/?p=2151"},"modified":"2024-11-14T15:41:41","modified_gmt":"2024-11-14T15:41:41","slug":"development-update-november-2024","status":"publish","type":"post","link":"https:\/\/www.numbas.org.uk\/theme-testing\/blog\/2024\/11\/development-update-november-2024\/","title":{"rendered":"Development update, November 2024"},"content":{"rendered":"\n<p>Here&#8217;s another round-up of development work on the Numbas project in the past couple of months.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Numbas runtime<\/h2>\n\n\n\n<p>I&#8217;ve tagged <a href=\"https:\/\/github.com\/numbas\/Numbas\/releases\/tag\/v8.1\">v8.1 of the Numbas runtime on GitHub<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Enhancements<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zach Potthoff took on a &#8220;good first issue&#8221; from the GitHub repository and added an input hint for number entry parts when the student needs to write a fraction. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1069\">issue<\/a>)<\/li>\n\n\n\n<li>The element <code>numbas.review_allowed<\/code> from SCORM is used to decide whether to enter review mode on resuming a finished attempt. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/bcca1d12\">code<\/a>)<\/li>\n\n\n\n<li>Fixed a bug which led to a blank space next to the answer input box when there&#8217;s no feedback icon. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1123\">issue<\/a>)<\/li>\n\n\n\n<li>Part feedback messages are always shown when there&#8217;s only one part in the question. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/f80467f1\">code<\/a>)<\/li>\n\n\n\n<li>The part feedback summary shows when the feedback has changed. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/d6856b66\">code<\/a>)<\/li>\n\n\n\n<li>The layout of the part submit and feedback area has changed: on wide viewports, the feedback messages are shown to the left of the &#8220;save answer&#8221; button and score display. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/3c29dd1e\">code<\/a>)<\/li>\n\n\n\n<li>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. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/258f9ccb\">code<\/a>)<\/li>\n\n\n\n<li>The objects in <code>Numbas.storage.inputWidgetStorage<\/code> are documented. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/33c5e757\">code<\/a>)<\/li>\n\n\n\n<li>The main question content tries to be as wide as possible, rather than fitting tightly to the content. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/42f68320\">code<\/a>)<\/li>\n\n\n\n<li>In &#8220;match choices with answers&#8221; parts, the whole cell around a checkbox is clickable. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/98fd38a9\">code<\/a>)<\/li>\n\n\n\n<li>Some improvements to screen reader part feedback. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1122\">issue<\/a>)<\/li>\n\n\n\n<li>HTML elements with <code>data-interactive=\"false\"<\/code> can be safely copied and embedded multiple times in the question content. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1120\">issue<\/a>)<\/li>\n\n\n\n<li>The &#8220;save all answers&#8221; button at the bottom of each question has been removed. It&#8217;s unnecessary when answers are automatically submitted, and we thought it was better to always have a &#8220;save answer&#8221; button next to each part. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1118\">issue<\/a>)<\/li>\n\n\n\n<li>The offline analysis tool now has the ability to review attempts. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/b17b89a4\">code<\/a>, <a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1105\">issue<\/a>)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Bug fixes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>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. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/c0176082\">code<\/a>)<\/li>\n\n\n\n<li>Somanshu Rath updated the link to the documentation in the README. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/57308088\">code<\/a>)<\/li>\n\n\n\n<li>Fixed a recently-introduced bug, so expected answers are shown when the question is revealed. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1115\">issue<\/a>)<\/li>\n\n\n\n<li>Fixed the display of questions in print. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1114\">issue<\/a>)<\/li>\n\n\n\n<li>The menu mode question menu no longer overflows horizontally. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/2b0d111c\">code<\/a>)<\/li>\n\n\n\n<li>When showing part feedback messages but not answer state, positive or negative messages aren&#8217;t shown. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/1ec6d12f\">code<\/a>)<\/li>\n\n\n\n<li>Fixed a bug in the simplification rules for removing brackets involving subtraction. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/4a6464a7\">code<\/a>)<\/li>\n\n\n\n<li>The <code>gauss_jordan_elimination<\/code> function always puts the matrix into reduced row-echelon form when possible. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1125\">issue<\/a>)<\/li>\n\n\n\n<li>Parts aren&#8217;t generated until rulesets have been generated. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/commit\/d72fb1f4\">code<\/a>)<\/li>\n\n\n\n<li>The <code>align<\/code> attribute on images in question content is translated into corresponding CSS rules on the container when the lightbox button is added. (<a href=\"https:\/\/github.com\/numbas\/Numbas\/issues\/1107\">issue<\/a>)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Extensions<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Geogebra: <\/strong>when linking gaps to geogebra objects, the parent part&#8217;s HTML element is used for event handling. (<a href=\"https:\/\/github.com\/numbas\/numbas-extension-geogebra\/commit\/73655b6\">code<\/a>)<\/li>\n\n\n\n<li><strong>Polynomials:<\/strong> Fixed a typo on <code>Polynomial.pow<\/code>. (<a href=\"https:\/\/github.com\/numbas\/numbas-extension-polynomials\/commit\/5b27900\">code<\/a>)<\/li>\n\n\n\n<li><strong>Programming:<\/strong> Submitting with ctrl+enter opens the feedback. (<a href=\"https:\/\/github.com\/numbas\/numbas-extension-programming\/issues\/1116\">issue<\/a>)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Numbas editor<\/h2>\n\n\n\n<p>I&#8217;ve tagged <a href=\"https:\/\/github.com\/numbas\/editor\/releases\/tag\/v8.1\">v8.1 of the Numbas editor on GitHub<\/a>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When re-uploading a custom part type, the short name isn&#8217;t changed. (<a href=\"https:\/\/github.com\/numbas\/editor\/commit\/b2701dca\">code<\/a>)<\/li>\n\n\n\n<li>The <code>first_setup<\/code> script sends the correct Content-Type header for HTML. (<a href=\"https:\/\/github.com\/numbas\/editor\/commit\/220456d2\">code<\/a>)<\/li>\n\n\n\n<li>Updated the installation instructions. (<a href=\"https:\/\/github.com\/numbas\/editor\/commit\/1fd6b9ed\">code<\/a>)<\/li>\n\n\n\n<li>The exam: editor loads the &#8216;enter review mode immediately&#8217; setting. (<a href=\"https:\/\/github.com\/numbas\/editor\/commit\/eda7116e\">code<\/a>)<\/li>\n\n\n\n<li>Fixed a bug with statuses on item queue entries. (<a href=\"https:\/\/github.com\/numbas\/editor\/commit\/b1d95344\">code<\/a>)<\/li>\n\n\n\n<li>You&#8217;re notified when someone is assigned to an item you put in a queue and when they review it. (<a href=\"https:\/\/github.com\/numbas\/editor\/commit\/f47e7590\">code<\/a>)<\/li>\n\n\n\n<li>The warning about interactive HTML elements is only shown in the variable editor for HTML elements not marked as non-interactive. (<a href=\"https:\/\/github.com\/numbas\/editor\/commit\/fef503b2\">code<\/a>, <a href=\"https:\/\/github.com\/numbas\/editor\/issues\/1120\">issue<\/a>)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Numbas LTI provider<\/h2>\n\n\n\n<p>I&#8217;ve tagged <a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/releases\/tag\/v4.1\">v4.1 of the Numbas LTI provider on GitHub<\/a>.<\/p>\n\n\n\n<p>The main change is an improvement to how scores are reported through LTI 1.3. The completion status of attempts is reported and the &#8220;submitted at&#8221; time correctly reflects the time the student ended the attempt.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Improved the layout of the access change and resource settings forms. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/3201b90\">code<\/a>)<\/li>\n\n\n\n<li>Improved the Blackboard LTI 1.3 upgrade management command. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/ce12778\">code<\/a>)<\/li>\n\n\n\n<li>Now uses the parser from the compiler to read .exam files. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/dca27a2\">code<\/a>)<\/li>\n\n\n\n<li>Fix a regular expression syntax error. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/89667b6\">code<\/a>)<\/li>\n\n\n\n<li>When re-opening an attempt, a RemarkedScormElement object is created so it shows up in the attempt timeline. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/de67e15\">code<\/a>)<\/li>\n\n\n\n<li>When a student re-opens an attempt, they&#8217;re sent straight to that attempt. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/c95c7b0\">code<\/a>)<\/li>\n\n\n\n<li>The student progress view copes with there being no LTI launch or no line item. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/2d214d4\">code<\/a>)<\/li>\n\n\n\n<li>The routine to remove an access token silently copes with there being no token to delete. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/3c200c9\">code<\/a>)<\/li>\n\n\n\n<li>Fixed the logic around the grade shown in the student progress view. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/5850bc6\">code<\/a>)<\/li>\n\n\n\n<li>When running an attempt, the <code>numbas.review_allowed<\/code> SCORM element is set, to determine if full review is allowed. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/118f441\">code<\/a>, <a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/issues\/795\">issue<\/a>)<\/li>\n\n\n\n<li>Updated the feedback summary tables for the new feedback settings. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/53afc48\">code<\/a>)<\/li>\n\n\n\n<li>When reporting scores, it silently copes with attempts with no SCORM elements. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/c425be9\">code<\/a>)<\/li>\n\n\n\n<li>Improved the display of the cookie check page. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/7f0884e\">code<\/a>)<\/li>\n\n\n\n<li>Changed availability times are sent to clients when access changes are saved or deleted. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/5b03c4b\">code<\/a>)<\/li>\n\n\n\n<li>Slightly lightened the danger button background colour. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/5595d36\">code<\/a>)<\/li>\n\n\n\n<li>The &#8220;discount parts&#8221; view is available even when there are no attempts. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/fddb029\">code<\/a>, <a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/issues\/344\">issue<\/a>)<\/li>\n\n\n\n<li>LTI access tokens are cached, to avoid making redundant requests to the consumer platform. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/c3a5fea\">code<\/a>)<\/li>\n\n\n\n<li>Fixed a bug when comparing line item start and end times. (<a href=\"https:\/\/github.com\/numbas\/numbas-lti-provider\/commit\/0cdfa43\">code<\/a>)<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s another round-up of development work on the Numbas project in the past couple of months. Numbas runtime I&#8217;ve tagged v8.1 of the Numbas runtime on GitHub. Enhancements Bug fixes Extensions Numbas editor I&#8217;ve tagged v8.1 of the Numbas editor on GitHub. Numbas LTI provider I&#8217;ve tagged v4.1 of the Numbas LTI provider on GitHub. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[],"_links":{"self":[{"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/posts\/2151"}],"collection":[{"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/comments?post=2151"}],"version-history":[{"count":4,"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/posts\/2151\/revisions"}],"predecessor-version":[{"id":2155,"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/posts\/2151\/revisions\/2155"}],"wp:attachment":[{"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/media?parent=2151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/categories?post=2151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.numbas.org.uk\/theme-testing\/wp-json\/wp\/v2\/tags?post=2151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}