...
...
...
...
...
...
Bulk Upload Questions
Teachers have a large pool of questions they would have already created for conducting tests, quizzes, and exams. We want to leverage (1) Bulk upload questions and (2) link them to a question set.
Milestone 1: Bulk Upload Questions
Support Multiple Choice Question with validations such as
Minimum 2 options, maximum 8 options
At least and only one option correct
User provides CSV in the prescribed format filled with required details
Implementation details
Create a generate QuML API for various interaction types such that it takes required parameters as input and generate a QuML output. For example, Multiple Choice Question fundamentally contains Question, Options, and Correct Answer. The API takes these 3 as inputs in HTML or JSON format and generates a QuML spec. This also allows QuML to evolve rapidly as just by updating this ‘Generate QuML’ API with latest QuML spec, we can upgrade various places where Questions & Question sets are getting created such as Question Set Editor, Bulk Upload Questions & Question sets.
This logic exists today ingrained in the Question creation component. It needs to be extracted out and made available as API / something.
...
Bulk Upload Question Set
https://project-sunbird.atlassian.net/browse/SB-22801
...
Columns / Information to be provided by Contributor | Description | In which version |
---|---|---|
QUESTION DETAILS | ||
Question Name / Title * | Human readable / relatable Name or Title or any identifying value for searching and retrieval later | V1 |
Question Primary Category * | MCQ | V1 - MCQ |
Question Additional Category | Derived from target collection or question set | |
Framework categories - Org & Target FW (If K-12, then B,M,C,S, Topics, LO If TPD, then Subjects, Topics) | Should be able to create questions for any of the frameworks. If uploaded within a target collection, then relevant metadata (B,M,C,S) is derived from it. Additional metadata (Topics, LO) can be provided. | V1 - B,M,C,S |
Question Body * | Body or stem of the question | V1 |
Question Image | Image to be used for the question body User provides Google Drive path. System will insert at the beginning of the text, small size, left aligned | |
Options | Should support min 2 & max 8 options | V1 - Only 4 |
Option Images | Should support Google Drive link for the images. Insert images always at the beginning of the question text in small size & left alignment | V1 |
Option Layout | Support Horizontal, Vertical, and Grid layout. Default = vertical. | V1 |
Answer | Should be a number between 1 - 8 for MCQ. | V1 |
Solution Text | V2 | |
Solution Image | V2 | |
Solution Video | V2 | |
Author | Provide if not same as user name of the creator ID on the platform | |
Attributions | ||
Copyright | Default = Tenant name ? | |
License | Default / Always = CC BY … ? | |
QUESTION SET DETAILS 👇🏽 | ||
Question set ID | Any unique ID to group the questions | V1 |
Question set name | ||
Question set category | ||
Question set framework | Derived from target collection | |
Question set settings: Shuffle | On / Off | |
Question set settings: Display | Any number < 0 and < total number of questions in the set | |
Question set settings: Feedback | On / Off | |
Question set settings: Submit | On / Off | |
Question set settings: Attempts | 0 < Attempts < 25 | |
Author | Provide if not same as user name of the creator ID on the platform | |
Attributions | ||
Copyright | Default = Tenant name ? | |
License | Default / Always = CC BY … ? |
...
Upload as draft or Submit for review (on / off)
Question set category: (list of primary categories in the project) [Should this be a column in the sheet?]
Decision tree
Upload question sets in the project
Format for each question type
Format for all question types
Upload questions in a question set
Format for each question type
Format for all question types
Open questions
Should user upload Question set in a sourcing project or Upload questions in a Question set?
Should we have separate CSV formats for each question (interaction) type (primary category) or one single format supporting all types?
Expectation is that each question is checked for validation before uploading
Should Images be supported? What are the limitations?
Questions and Question sets should be in separate sheets - Yes / No?
Benefits of using individual formats is that we can do client side validations such as.. Validations during upload (real-time) for Content upload
Name of the columns
Mandatory column cannot be blank
Maximum 300 content per sheet
Other validations that happen async on server
URL Validation while downloading from source (Google Drive)
Framework values matching
Primary category
File Size limit
..
...
Question Set APIs:
http://docs.sunbird.org/latest/apis/questionapi//#tag/QuestionSet-APIs
Question APIs:
http://docs.sunbird.org/latest/apis/questionapi//#tag/Question-APIs