Background
While comparing the existing inQuiry question and question set metadata with QuML specs we found a few gaps. Below are the properties having some differences from the QuML specs:
Question metadata which
...
has some differences from the QuML specs are:-
responseDeclaration
media
responseDeclaration
Editor Changes
Currently, the Response Declaration declaration is currently stored in the below format but there are two properties that are not allowed in it, which are: maxScore
and outcomes
Code Block |
---|
"responseDeclaration": { "response1": { "maxScore": 1, // maxScore is not allowed here "cardinality": "single", "type": "integer", "correctResponse": { "value": "0", "outcomes": { "SCORE": 1 } // outcome is not allowed here, only property ‘value’ is allowed }, "mapping": [] } } |
Proposed Solution for responseDeclaration
Instead of keeping maxScore
and outcomes
in responseDeclaration
we can store it in outcomeVariables
as below:
...
Code Block |
---|
"responseDeclaration": { "response1": { "cardinality": "multiple", "type": "integer", "correctResponse": { "value": [0, 1], }, "mapping": [{ "response": 0, "outcomes": { "score": 1 } }, { "response": 1, "outcomes": { "score": 1 } } ] } }, "outcomeVariables": { "maxScore": 2, } |
Implementation approach
With Migration
we can do the data migration for the old questions and update the question with above mentioned format.
...
For the live questions - player will first check if the question have outcomeVariables and what’s the maxScore value present in it, if outcomeVariables is not found player will check the maxScore in responseDeclartion to pickup the maxScore.
...
media
Currently question metadata question contains media in this format:
...
we can do the data migration for the old questions and update the question with above mentioned format.
Without migration
For the new question creation we will store the media in new format.
...
For the live questions - player will first check if the question media have mediaType
property if not it will check in type
property.Questionset
...
QuestionSet metadata which have some differences from the QuML specs is :-
timeLimits
timeLimits
Time limits is currently being stored in the question set metadata in below format:
...
Code Block | ||
---|---|---|
| ||
timeLimits: { "description": "Time limits for the complete set and/or for each question in the question set.", questionset: { min: number, max: number }, question: { min: number, max: number } } |
Proposed Solution for timeLimits
We can set the limit for the complete question set as:
...