Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
question_manually_gradable Interface Reference

Interface that a question_definition must implement to be usable by the manual graded behaviour. More...

Inheritance diagram for question_manually_gradable:
question_automatically_gradable question_with_responses qtype_missingtype_question question_automatically_gradable_with_countback question_graded_automatically qtype_essay_question question_graded_automatically question_graded_automatically_with_countback qtype_multichoice_base qtype_numerical_question qtype_truefalse_question question_graded_automatically_with_countback question_graded_by_strategy qtype_multichoice_base qtype_numerical_question qtype_truefalse_question question_graded_automatically_with_countback question_graded_by_strategy

Public Member Functions

 classify_response (array $response)
 Categorise the student's response according to the categories defined by get_possible_responses.
 
 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.
 

Detailed Description

Interface that a question_definition must implement to be usable by the manual graded behaviour.

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ classify_response()

question_manually_gradable::classify_response ( array $response)

Categorise the student's response according to the categories defined by get_possible_responses.

Parameters
$responsea response, as might be passed to grade_response().
Return values
arraysubpartid => 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.

◆ is_complete_response()

question_manually_gradable::is_complete_response ( array $response)

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.

Parameters
array$responseresponses, as returned by question_attempt_step::get_qt_data().
Return values
boolwhether 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.

◆ is_gradable_response()

question_manually_gradable::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.

Parameters
array$responseresponses, as returned by question_attempt_step::get_qt_data().
Return values
boolwhether 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.

◆ is_same_response()

question_manually_gradable::is_same_response ( array $prevresponse,
array $newresponse )

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.

Parameters
array$prevresponsethe responses previously recorded for this question, as returned by question_attempt_step::get_qt_data()
array$newresponsethe new responses, in the same format.
Return values
boolwhether 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.

◆ summarise_response()

question_manually_gradable::summarise_response ( array $response)

Produce a plain text summary of a response.

Parameters
array$responsea response, as might be passed to grade_response().
Return values
stringa 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.

◆ un_summarise_response()

question_manually_gradable::un_summarise_response ( string $summary)

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.

Parameters
string$summarya string, which might have come from summarise_response
Return values
arraya 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.


The documentation for this interface was generated from the following file: