Skip to content

Roadmap and potential features

Marcus Green edited this page Mar 1, 2020 · 16 revisions

If there are any features that would be valuable to you consider approaching me about funding the work. If you don't have any funding ask me anyway.

Smart editing checkboxes

Only show appropriate settings when editing. When Dropdowns are being used the Regex and Gapsize settings makes no sense. Add to the current JS to toggle these off/disable when Dropdown is selected. Should be fairly easy. Maybe half a day. Came from this reported issue. https://github.com/marcusgreen/moodle-qtype_gapfill/issues/32

No shuffle

I have changed my mind since I wrote this as it would really need the ability to control the positions of distractors which is a bit tricky. I wrote some code that implemented it before realising this limitation. This was my original thought ...

This would present the answer options in the same order they were entered. This would be relatively straightforward to implement in the form of a new checkbox labeled shuffle answer options (or similar) which would be checked by default. Updating the backup/restore to include it would probably take longer than the actual functionality. Probably a day and a half from start to deploying to moodle org database.

Use once draggables

It would be nice if when a draggable was dropped it was removed from the candidates. I did consider this early in the development but decided to prioritise other features. I have had at least two requests for this but I am unlikely to be able to work on it until around mid 2019 at the earliest unless I get funding to work on it as part of my day job for Titus Learning (http://www.tituslearning.com). I estimate the total time to complete at around 3 days. To quote from one person requesting this "and only allowing an answer to be used once would help students make sure they have placed all the items."

My approach would be to add a new checkbox in the more options section of the question editing form edit_gapfill_form.php called something like 'Single use draggables". This would require modification of the backup code to ensure that this setting was stored and restored in backups.

Then modify the file dragdrop.js. When an option is clicked and dragged into a gap, the code would check if the gap contained the text of any existing draggables and if it did that draggable would be re-instated/made visible. Then the newly dropped draggable would be made invisible. This process would have to be implemented for the mobile app code as well. It would require at least one new behat test, but not necessarily require a phpunit test. The behat test would check that options disappear when dragged into a gap, that any existing fillings are re-instated as draggables if a new item is dropped and that the draggables are populated correctly if the users scrolls forward and backwards between questions in a quiz.

per gap response specific feedback

A setting that gave per gap feedback depending on what the response was. At the moment per-gap feedback only allows feedback based on if the response was correct or incorrect.

Content Validation

Most users will not use regular expressions. If the regex checkbox is set (the default), it should check to see if any gaps contain regex characters. If so the form should show a warning and Continue save/Canel option. It might also be good to validate to ensure there is no hidden html bits in the boxes as this is almost never what is wanted.

disregard spaces/whitespace

It might be good to have an option to disregard spaces so that with multi word answers accidentally adding spaces would not matter. This would be fairly easy to implement and I would do it by adding a new checkbox in the edit form, a new checkbox in settings.php (to allow it to be configured as a default), and a modification of the grading code so it discarded anything that was whitespace.

better quickimport

This Gapfill import plugin which uses a GIFT like syntax could be improved https://github.com/marcusgreen/moodle-qformat_gapfill_quick