Background
We want to implement Arrange Sequence Question in the Questionset Editor and the QuML Player.
Before starting the implementation we need to decide Arrange sequence Question data model which is to be as per the QuML spec.
Proposed Data Model of Arrange Sequence Question
body
<div class='question-body' tabindex='-1'>
<div class='asq-title' tabindex='0'>
<p>Arrange the fruits in alphabetic order</p>
</div>
<div data-order-interaction='response1' class='asq-vertical/asq-horizontal'></div>
</div>responseDeclaration
Proposed format1 (Recommended)
Pros: We will not have to save long options text in the responseDeclaration, when the options will be having images the text of options will become to long and data will become un-readble.
Cons: We will not get to see the options value in the responseDeclaration
Proposed format2
outcomeDeclaration
{
"maxScore": {
"cardinality": "ordered",
"type": "integer",
"defaultValue": 1
}
}interactions
{
"response1": {
"type": "order",
"options": [
{
"label": "<p>Apple</p>",
"value": 0
},
{
"label": "<p>Banana</p>",
"value": 1
},
{
"label": "<p>Grapes</p>",
"value": 2
},
{
"label": "<p>Orange</p>",
"value": 3
}
],
"validation": {
"required": "Yes"
}
}
}answer
<div class='answer-container'>
<div class='answer-body'>
<p>Apple</p>
</div>
<div class='answer-body'>
<p>Banana</p>
</div>
<div class='answer-body'>
<p>Grapes</p>
</div>
<div class='answer-body'>
<p>Orange</p>
</div>
</div>editorState
templateId
"templateId": "asq-horizontal" / "asq-vertical"primaryCategory
"primaryCategory": "Arrange Sequence Question"qType
"qType": "ASQ" // This will need spec changeinteractionTypes
"interactionTypes": ["order"] // This will need spec change