Commit Graph

50 Commits

Author SHA1 Message Date
Tim Hunt 06c63f7aa1 MDL-75727 question regrading: fix each attempt builds on last
This fixes a regression caused by MDL-74752. If you regraded
a subsequent quiz attempt in a quiz using the 'Each attempt
builds on last' option, then the student's response could get lost.
2022-10-12 11:10:55 +01:00
Tim Hunt 39abc01197 MDL-74752 question regrading: implement the required hooks
This commit implements the necessary core hooks to ensure we only
allow a regrade of a quetion attempt to take place if the new and old
versions of the question are sufficiently similar.

It will be followed by commits to each question type where the
new method needs to be implemented.

Automated tests will be included in the first of those (mulitple choice)
becuse we need a question type that implements the hooks to test
the core changes.
2022-05-31 09:22:22 +01:00
Safat Shahin 3008edd366 MDL-71696 core_question: Implement question status change
This commit implements the status change pop up for a question
in the base view. This feature update will allow the change of
status of a question without creating a new version.
This commit also implements the status as a char rather than
an int value.
2022-02-03 22:22:50 +11:00
Guillermo Gomez c6cfca2a08 MDL-71696 core_question: Changes for versioning
This commit adds the changes in questiontype base
to work with new question tables and the new structure in the
databse. Also needed for versioning.
This implementation will also introduct the question status
which allows a question to be in draft and ready status.
I also introduces changes to the base view where it shows
the latest version of the questions. The view of versions
for a question is not implemented in this commit.
This implementation will also introduce changes in the core
qtype plugins to support versioning and the changed
db schema.
2022-02-03 22:22:44 +11:00
Matt Porritt 556e2f1aec MDL-72553 qbank_customfields: Add custom fields for question types
Custom fields can now be added to question types.
Site administrators can configure the custom fields and
filed types available. Teachers and question creators can
then use these fields for extra question metadata when
creating questions. Question creators can control if
the fields are displayed to students when they are
taking a quiz or not.
This features uses the core Moodle custom field API.

Co-Authored-By: Matt Porritt <mattp@catalyst-au.net>
Co-Authored-By: Safat Shahin <safatshahin@catalyst-au.net>
Co-Authored-By: Marc-Alexandre Ghaly <marc-alexandreghaly@catalyst-ca.net>
2021-12-07 18:32:41 +11:00
Juan Leyva caddb8f175 MDL-69823 mod_quiz: Return question options via WS 2020-11-10 19:16:24 +01:00
Tim Hunt 7d2c7fed74 MDL-65296 questions: field should be declared
It was already being set, but IDE autocomplete etc did not know that.
2019-04-08 12:19:13 +01:00
Simey Lameze 5c0654d7ff MDL-63185 mod_quiz: change APIs to handle attempts on behat
Thanks to Tim Hunt for all the help.

Part of MDL-62610
2018-09-28 11:07:21 +08:00
Luca Bösch 94cb5a662a MDL-58411 qtype_essay: Add file type validation in essay question type 2018-04-03 07:27:56 +02:00
Tim Hunt c28bfbef24 MDL-57587 question file access: fix regression caused by MDL-53744 2017-01-26 18:53:16 +00:00
Tim Hunt cf0b9432d8 MDL-53744 question file access: fix access checks 2016-11-10 16:15:31 +08:00
Tim Hunt 299d77dd5a MDL-50028 qtype_match: fix correct answer display
Atto's stupid tendency to create HTML like
<p>You don't need a br at the end of a paragraph!</br></p>
was breaking it.
2015-04-28 13:07:26 +01:00
James Pratt 58794ac948 MDL-44690 core_questions : download of question steps data as csv file 2014-03-21 12:32:00 +07:00
Tim Hunt c4efeb2b4b MDL-32188 question CBM: fix typos in comments.
Also one method name.
2013-10-04 17:52:24 +01:00
Tim Hunt 4e3d829350 MDL-42105 questions: let attempts have a max fraction > 1.
This parallels question_attempt->minfraction, which allows the
fractional mark to go below zere.

This is needed to allow the certainty-base marking behaviours to work
better.
2013-10-04 17:52:19 +01:00
Tim Hunt f3460297a9 MDL-32188 question engine: behaviour static methods -> new classes
It was always a bit of a hack to use static methods on the
qbehaviour_whatever classes to return metadata about the behaviour. It
is better design to have real qbehaviour_whatever_type classes to report
that metadata, particularly now that we are planning to add more such.

For example, inheritance works better with real classes. See, for
example, the improvements in
question_engine::get_behaviour_unused_display_options().

This change has been implemented in a backwards-compatbile way. Old
behaviours will continue to work. There will just be some developer debug
output to prompt people to upgrade their code properly.
2013-10-04 12:15:01 +01:00
Tim Hunt e2b388c1a4 MDL-39507 questions: fix pluginfile URLs before format_text.
This commit build's on Jean-Michel's work, tidying up a few lose ends.
2013-08-12 10:32:02 +01:00
Jean-Michel Vedrine 6c23d0d403 MDL-39507 questions: fix pluginfile URLs before format_text. 2013-08-08 10:05:48 +01:00
Jamie Pratt 388f047345 MDL-40543 convert from simulated responses
to post data
2013-07-23 15:00:02 +08:00
Jamie Pratt 01c898ecec MDL-40171 question saving test 2013-07-09 15:08:01 +08:00
Tim Hunt d4a666029d MDL-39728 List all the classes in question/type/questionbase.php
This should make it easier for people to understand the type hierarchy.
2013-05-18 09:16:05 +01:00
ppichet 3d9645ae6e MDL-38792 Update question/type in-line comments to codechecker standards
Correct bad formated infiles in question/type directories
2013-04-08 19:59:51 -04:00
M Kassaei da22c0127b MDL-31306 question preview: disable 'Fill correct' for qtypes that can't 2012-01-24 13:26:44 +08:00
Tim Hunt 24400682a0 MDL-31065 question stats: fix analysis of responses not matching a given answer
When shortanswer, numerical, calculated and calculatedsimple questions
did not have a '*' match-anything answer, then any student response that
did not match any of the teacher-given answers were classified as
'[No response]', which was not right.

This patch fixes that. Such responses are now classified as
[Did not match any answer].

While I was doing this, I noticed that the display of tolerance
intervals for numerical questions in the response analysis was horrible,
so I improved it.
2012-01-20 17:44:22 +00:00
Tim Hunt e5b0920e48 MDL-28612 Quiz statistics report does not always show the 'Actual response' column when it should 2011-08-04 18:14:31 +01:00
Tim Hunt 35c9b65274 MDL-24594 Fix some issues with the display of HTML choices.
The most significant issue is that the HTML editor alwasy wraps <p> tags round the input, but that is not appropriate for the choices. It is especially not appropriate because we want to display the choices in a <lable> for accessibility and usability reasons. In valid HTML label can only contain inline elemnts. Therefore, I introduced a make_html_inline method, with a minimal implementation. (It could be improved in future.)

Long term, I think the best option would be a new form field type, editorinline, or something like that. That would be a smaller version of TinyMCE that only lets you enter inline elements.
2011-06-17 18:41:15 +01:00
Tim Hunt 1da821bbde MDL-27649 support question variants as a first-class concept in the question engine. 2011-05-26 21:23:56 +01:00
Tim Hunt e35ba43c91 MDL-20636 make syncronised datasets work for calculated* questions. 2011-05-19 19:06:07 +01:00
Tim Hunt 9c197f4445 MDL-20636 Fix some more codechecker issues. 2011-05-14 22:53:25 +01:00
Tim Hunt eaeb6b513a MDL-20636 Fix codechecker issues in the question type base classes. 2011-04-08 05:39:16 +01:00
Tim Hunt b36d2d0643 MDL-20636 Start supporting different response formats in essay. #216 2011-03-31 12:44:43 +01:00
Tim Hunt c7df5006b9 MDL-20636 Add lots of missing public/protected/private. 2011-03-23 16:22:25 +00:00
Tim Hunt 22cebed503 MDL-20636 Review and fix the format parameter to all calls to format_text. 2011-02-24 20:18:16 +00:00
Tim Hunt ef31a28343 MDL-20636 Split question_definition::init_first_step into start_attempt and apply_attempt_state. 2011-02-24 19:12:42 +00:00
Tim Hunt 2daffca554 MDL-20636 Fix 30 TODOs 2011-02-24 17:47:51 +00:00
Tim Hunt f7970e3ca7 MDL-20636 Eliminate integer and boolean in PHPdoc comments. should be int and bool. 2011-02-23 16:25:25 +00:00
Tim Hunt a17b297d60 MDL-20636 Add missing defined('MOODLE_INTERNAL') || die(); 2011-02-23 16:00:20 +00:00
Tim Hunt 7764183a4a MDL-20636 Fix @package names and PHPdoc layout. 2011-02-23 13:38:16 +00:00
Tim Hunt 0ff4bd0877 MDL-20636 Fix new stdClass -> stdClass(), and trailing whitespace. 2011-02-21 18:10:19 +00:00
Tim Hunt b04a4319d6 MDL-20636 Remove &copy; from all PHPdoc comments, and tidy them up a bit. 2011-02-21 14:51:02 +00:00
Tim Hunt 56e82d993d MDL-20636 Images in questions now work in quiz attempts. 2011-02-09 20:33:51 +00:00
Tim Hunt 1c2ed7c501 MDL-20636 Conversion of the OU multi-response question type. 2011-01-18 19:23:26 +00:00
Tim Hunt 5f7cfba7fa MDL-20636 Question XML export unit tests now all pass. 2011-01-18 14:36:40 +00:00
Tim Hunt 93cadb1ede MDL-20636 Conversion of the match question type. 2011-01-13 20:24:33 +00:00
Tim Hunt ec3d4ef543 MDL-20636 Actually, passing to get_question summary is silly. Revert. 2011-01-13 18:36:03 +00:00
Tim Hunt 7a7197482d MDL-20636 Fix if the use of the File API so images work in questions. 2011-01-13 18:35:57 +00:00
Tim Hunt 068b4594ba MDL-20636 Conversion of the shortanswer question type to the new question engine.
This commit includes minor bug fixes elsewhere in the system.
2011-01-13 18:35:49 +00:00
Tim Hunt c76145d3e4 MDL-20636 Previewing a truefalse question in deferred feedback mode now works. 2011-01-13 18:35:43 +00:00
Tim Hunt 2b7da64586 MDL-20636 It is now possible to save a truefalse question you have created.
This includes all the necessary DB upgrades.

Also all unit tests in question/type/simpletest and question/type/truefalse now pass.
2011-01-13 18:35:41 +00:00
Tim Hunt d1b7e03d5d MDL-20636 Current work-in-progress converting the question engine to Moodle 2.0 2011-01-13 18:35:29 +00:00