Moodle APIs 4.3
Moodle 4.3.6 (Build: 20240812)
|
Interface that a question_definition must implement to be usable by the various automatic grading behaviours. More...
Public Member Functions | |
classify_response (array $response) | |
Categorise the student's response according to the categories defined by get_possible_responses. | |
get_hint ($hintnumber, question_attempt $qa) | |
Get one of the question hints. | |
get_right_answer_summary () | |
Generate a brief, plain-text, summary of the correct answer to this question. | |
get_validation_error (array $response) | |
In situations where is_gradable_response() returns false, this method should generate a description of what the problem is. | |
grade_response (array $response) | |
Grade a response to the question, returning a fraction between get_min_fraction() and get_max_fraction(), and the corresponding question_state right, partial or wrong. | |
is_complete_response (array $response) | |
Used by many of the behaviours, to work out whether the student's response to the question is complete. | |
is_gradable_response (array $response) | |
Use by many of the behaviours to determine whether the student has provided enough of an answer for the question to be graded automatically, or whether it must be considered aborted. | |
is_same_response (array $prevresponse, array $newresponse) | |
Use by many of the behaviours to determine whether the student's response has changed. | |
summarise_response (array $response) | |
Produce a plain text summary of a response. | |
un_summarise_response (string $summary) | |
If possible, construct a response that could have lead to the given response summary. | |
Interface that a question_definition must implement to be usable by the various automatic grading behaviours.
|
inherited |
Categorise the student's response according to the categories defined by get_possible_responses.
$response | a response, as might be passed to grade_response(). |
array | subpartid => question_classified_response objects. returns an empty array if no analysis is possible. |
Implemented in qtype_ddmarker_question, qtype_ddtoimage_question_base, qtype_gapselect_question_base, qtype_match_question, qtype_missingtype_question, qtype_multichoice_multi_question, qtype_multichoice_single_question, qtype_numerical_question, qtype_truefalse_question, question_graded_by_strategy, and question_with_responses.
question_automatically_gradable::get_hint | ( | $hintnumber, | |
question_attempt | $qa ) |
Get one of the question hints.
The question_attempt is passed in case the question type wants to do something complex. For example, the multiple choice with multiple responses question type will turn off most of the hint options if the student has selected too many opitions.
int | $hintnumber | Which hint to display. Indexed starting from 0 |
question_attempt | $qa | The question_attempt. |
Implemented in qtype_missingtype_question, qtype_multichoice_multi_question, and question_graded_automatically.
question_automatically_gradable::get_right_answer_summary | ( | ) |
Generate a brief, plain-text, summary of the correct answer to this question.
This is used by various reports, and can also be useful when testing. This method will return null if such a summary is not possible, or inappropriate.
string|null | a plain text summary of the right answer to this question. |
Implemented in qtype_ddmarker_question, qtype_missingtype_question, and question_graded_automatically.
question_automatically_gradable::get_validation_error | ( | array | $response | ) |
In situations where is_gradable_response() returns false, this method should generate a description of what the problem is.
string | the message. |
Implemented in qtype_ddmarker_question, qtype_ddtoimage_question_base, qtype_gapselect_question_base, qtype_match_question, qtype_missingtype_question, qtype_multianswer_question, qtype_multichoice_multi_question, qtype_multichoice_single_question, qtype_numerical_question, qtype_shortanswer_question, and qtype_truefalse_question.
question_automatically_gradable::grade_response | ( | array | $response | ) |
Grade a response to the question, returning a fraction between get_min_fraction() and get_max_fraction(), and the corresponding question_state right, partial or wrong.
array | $response | responses, as returned by question_attempt_step::get_qt_data(). |
array | (float, integer) the fraction, and the state. |
Implemented in qtype_ddmarker_question, qtype_gapselect_question_base, qtype_match_question, qtype_missingtype_question, qtype_multianswer_question, qtype_multichoice_multi_question, qtype_multichoice_single_question, qtype_numerical_question, qtype_truefalse_question, and question_graded_by_strategy.
|
inherited |
Used by many of the behaviours, to work out whether the student's response to the question is complete.
That is, whether the question attempt should move to the COMPLETE or INCOMPLETE state.
array | $response | responses, as returned by question_attempt_step::get_qt_data(). |
bool | whether this response is a complete answer to this question. |
Implemented in qtype_ddmarker_question, qtype_essay_question, qtype_gapselect_question_base, qtype_match_question, qtype_missingtype_question, qtype_multianswer_question, qtype_multichoice_multi_question, qtype_multichoice_single_question, qtype_numerical_question, qtype_shortanswer_question, and qtype_truefalse_question.
|
inherited |
Use by many of the behaviours to determine whether the student has provided enough of an answer for the question to be graded automatically, or whether it must be considered aborted.
array | $response | responses, as returned by question_attempt_step::get_qt_data(). |
bool | whether this response can be graded. |
Implemented in qtype_ddmarker_question, qtype_essay_question, qtype_gapselect_question_base, qtype_match_question, qtype_missingtype_question, qtype_multianswer_question, qtype_multichoice_multi_question, qtype_multichoice_single_question, qtype_numerical_question, and question_with_responses.
|
inherited |
Use by many of the behaviours to determine whether the student's response has changed.
This is normally used to determine that a new set of responses can safely be discarded.
array | $prevresponse | the responses previously recorded for this question, as returned by question_attempt_step::get_qt_data() |
array | $newresponse | the new responses, in the same format. |
bool | whether the two sets of responses are the same - that is whether the new set of responses can safely be discarded. |
Implemented in qtype_ddmarker_question, qtype_essay_question, qtype_gapselect_question_base, qtype_match_question, qtype_missingtype_question, qtype_multianswer_question, qtype_multichoice_multi_question, qtype_multichoice_single_question, qtype_numerical_question, qtype_shortanswer_question, and qtype_truefalse_question.
|
inherited |
Produce a plain text summary of a response.
array | $response | a response, as might be passed to grade_response(). |
string | a plain text summary of that response, that could be used in reports. |
Implemented in qtype_ddmarker_question, qtype_ddtoimage_question_base, qtype_essay_question, qtype_gapselect_question_base, qtype_match_question, qtype_missingtype_question, qtype_multianswer_question, qtype_multichoice_multi_question, qtype_multichoice_single_question, qtype_numerical_question, qtype_shortanswer_question, and qtype_truefalse_question.
|
inherited |
If possible, construct a response that could have lead to the given response summary.
This is basically the opposite of summarise_response() but it is intended only to be used for testing.
string | $summary | a string, which might have come from summarise_response |
array | a response that could have lead to that. |
Implemented in qtype_essay_question, qtype_missingtype_question, qtype_multichoice_multi_question, qtype_multichoice_single_question, qtype_numerical_question, qtype_shortanswer_question, qtype_truefalse_question, and question_with_responses.