Math4Team/RIT/Projects/Question Support API/API Design: Difference between revisions
Add description of the proposed API. |
Add information about the response reporting as an interface to the reporting team. |
||
| (One intermediate revision by the same user not shown) | |||
| Line 35: | Line 35: | ||
;Question.answer | ;Question.answer | ||
:Returns the answer the student has currently selected, or None if no answer has been entered. | :Returns the answer the student has currently selected, or None if no answer has been entered. | ||
;quizdata.write_responses(questions, file_object, objective=None) | |||
:Writes to file_object the CSV formatted information about the list of questions passed. The CSV is formatted as follows: macaddress, nickname, learning_objective, correctness. The macaddress field is to be only 12 hexadecimal digits, normalized to lower-case. The learning_objective field can be supplied for all questions, or the write_responses function will simply leave the column blank if not supplied. | |||
===URL Design=== | |||
As the example URLs above (in the documentation of quizdata.open) show, any number of possible scheme and resource-path implementations are possible, pending development time to implement them. The URLs will need to conform to certain constraints on parameters, in order to satisfy basic API requirements. Most importantly, a required "format" specifies what parsing backend to use for the retrieved data. Initially the following formats are being targeted: | |||
* [[http://docs.moodle.org/en/GIFT Moodle GIFT]] | |||
* [[http://docs.moodle.org/en/Moodle_XML Moodle XML]] | |||
* A native format (probably sqlite-based). | |||
Additional parameters could include the following: | |||
;level | |||
:The board grade-/other- level of the question(s) | |||
;difficulty | |||
:The relative difficulty of the question, in comparison to other questions of the same level. | |||
;category / tag | |||
:A general taxonomic filter. Possibly specified multiple times, if so, result is the *intersection* of the separate result sets (AND, not OR). | |||
More evaluation is necessary for the filtering functionality, perhaps a separate mechanism for filtering is needed. | |||
===Implementation Issues=== | ===Implementation Issues=== | ||