...
We are proposing that, in this mode, the player uses a new API for questionSetHierarchy, the existing question list API and a the existing Content State Update API without passing “score” & “pass” & Content State Update will fetch “score“ & “pass“ using new submitAssessment API.
...
This API would handle selection of a subset of questions and randomization (currently done by player) as indicated by the metadata in the questionSet. The API will also return a “QuestionSetToken“ which is a signed token which has user-id, content-id, collection-id,attempt-id+selected_questionid_list recieved as part of hierarchy payload. This token will further be used to validate the request during the passed to Content State Update & to new submitAssessment API from Content State Update.“QuestionSetToken“ will be validated by submitAssessment API call on server.
Code Block |
---|
"questionSet": { "timeLimits": "{\"maxTime\":\"3600\"}", "questionSetToken": "", //#Question Set token to be generated at hierarchy read API with combination of "Question Set ID + userID" "serverEvaluable": true //#true for Server Side Valuation Default:#false for client side validation } |
...
Question Read API : Any Question Associated with serverEvaluable behaviour to trim off response declaration from Question Set and other answer displayed reference parameters in the response.
Code Block |
---|
"serverEvaluable": true, "responseDeclaration": { "response1": { "maxScore": 1, "cardinality": "single", "type": "integer", -- To be Trimmed off ---- "correctResponse": { "value": "0", "outcomes": { "SCORE": 1 } }, -- To be Trimmed off -- } }, |
...
Code Block |
---|
{
"request": {
"userId": "843a9940-720f-43ed-a415-26bbfd3da9ef",
"questionSetToken": "",
"assessments":[
{
"assessmentTs": 1681284869464,
"batchId": "0132677340746629120",
"collectionId": "do_213267731619962880127",
"userId": "843a9940-720f-43ed-a415-26bbfd3da9ef",
"attemptId": "5486724f41afb4997118e6d97695684f",
"contentId": "do_2129959063404544001107"
},
"events":[],
responses:[{
"identifier":"<question-id>",
"questionType": "",
"userResponse":[""]
}]
}],
"contents": [
{
"contentId": "do_2132671468826214401203",
"batchId": "0132677340746629120",
"status": 2,
"courseId": "do_213267731619962880127",
"lastAccessTime": "2023-04-12 12:56:45:687+0530"
},
]
}
} |
...