Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current Restore this Version View Page History

« Previous Version 16 Next »

Bulk Upload Questions

https://project-sunbird.atlassian.net/browse/SB-22801

Teachers have a large pool of questions they would have already created for conducting tests, quizzes, and exams. We want to leverage all these assets available in abundance in the community of educators through ecosystem participation.

Sunbird enables creation of question sets through various workflows enabled in Sourcing solution. We plan to complement those workflows by enabling bulk upload of questions in following workflows (in order of priority)

  1. Bulk upload questions within a question set, where the question set might be created in a target collection driven sourcing project or in a taxonomy driven sourcing project.

  2. Bulk upload questions within a question set, where the question set is the target object in a sourcing project.

  3. Bulk upload questions in a framework driven sourcing project.

To enable the above capabilities fundamentally requires

  1. Ability to bulk upload questions

  2. Link them to a question set

We will be enabling bulk upload of questions and linking them to a question set considering CSV (comma separated values) input. Users are likely to use tools such as Google Sheets, Microsoft Office Excel, and other spreadsheet editing tools. Detailing out the key milestones below

Milestone 1: Bulk Upload Questions

The goal is to upload questions with its associate media (images)

  1. Support Multiple Choice Question (MCQ) with validations such as

    1. Minimum 2 options, maximum 8 options

    2. At least and only one correct option

  2. Question and Options can have images. Google Drive path for image is provided by user which is extracted by system (bulk upload tool). This is already available as a component. Read more here.

  3. Every question can have following details (metadata)

    1. Name

    2. Taxonomy Framework Categories: Board, Medium, Class, Subject, Topic, Learning Outcome. These will derived from the Question set if questions are being uploaded within a question set.

    3. Keywords

    4. Author

    5. Attributions

  4. User provides CSV in the prescribed format filled with required details

  5. Basic validations such as

    1. Text contains only unicode characters

    2. Any cell does not contain any images

    3. All mandatory columns are filled for a particular row in CSV

  • Kartheek Palla Please share a final format of CSV for Bulk Uploading Questions similar to bulk upload content

Milestone 2: Link Questions to a Question Set which are being bulk uploaded

The goal is to link questions at relevant place in a question set hierarchy structure

  1. Level 1 Question Set Unit

  2. Org_FW_topics

  3. Target_FW_Medium

  4. Target_FW_gradeLevel

  5. Target_FW_subject

  6. Target_FW_topic

Reference material

  1. Bulk Upload Content related /wiki/spaces/DO/pages/1581350917

    1. https://project-sunbird.atlassian.net/browse/DP-18

    2. https://project-sunbird.atlassian.net/browse/DP-947

    3. https://project-sunbird.atlassian.net/browse/DP-1480

    4. https://project-sunbird.atlassian.net/browse/DP-967

    5. https://project-sunbird.atlassian.net/browse/DP-1480

Implementation details

  1. 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.

    1. This logic exists today ingrained in the Question creation component. It needs to be extracted out and made available as API / something.


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