Table of Contents | ||||
---|---|---|---|---|
|
...
Question metadata which has some differences from the QuML specs are:-
responseDeclaration
media
responseDeclaration
Currently, the response declaration is stored in the below format but there are two properties that are not allowed in it, which are: maxScore
and outcomes
...
The player will check if the question is having the
outcomeVariables
in the metadata of the question and what’s themaxScore
value present in it.if the
outcomeVariables
property is found then the player will use it as is it.If the question does not have the
outcomeVariables
property in the metadata then the player will look property in theresponseDeclartion
.
media
Currently, Question metadata contains media in the below format:
...
QuestionSet metadata which has some differences from the QuML specs is:-
timeLimits
timeLimits
Time limits are currently being stored in the question set metadata as below:
Code Block | ||
---|---|---|
| ||
timeLimits: { "maxTime": "240", "warningTime": "60" } |
The use of maxTime
is showing to show the timer on the QuML player and the use of warningTime
is used to show the timer in red color indicating you are left with only these few minutes indicate the time remaining to complete the questionsetquestion set.
...
But as per the QuML schema, it should be stored in the below format:
...
Proposed Solution for timeLimits
Editor Changes:
We can set the limit for the complete question set as:
Code Block | ||
---|---|---|
| ||
timeLimits: { questionset: { min: number, max: number, warn: number // update the QuML specs } } |
If we have a time limit for each of the questions we can will store the time limit to the question set metadata as:
Code Block | ||
---|---|---|
| ||
timeLimits: { question: { min: number, max: number, warn: number // update the QuML specs } } |
If we want to store max
and warn
value but don't want to store min
value we can store the data in the below format:
Code Block | ||
---|---|---|
| ||
timeLimits:
{
questionset: {
min: null,
max: 240,
warn: 60
}
} |
Editor Changes:
Note: The timer field in the question set editor is part of the common form which is taking maxTime
and warningTime
as input.
We can keep on using the same configuration for the field in the form configuration keeping maxTime
and warningTime
and . And in the editor code we can handle maxTime
with max
and warningTime
with min
warn
.
With Migration
we can do the data migration for the old questions and update the question with above mentioned format.
...
The player will first check if the question has timeLimits.questionset
it will take the min
and max
warn
value for from there, if timeLimits.questionset
is undefined and timeLimits
directly contains maxTime
and warningTime
it will take the value for from there.