Question Paper: Creation, Sourcing, and Printing

1. Admin will create Question Paper structure through Workspace

1.1 Create a new Collection category - Question paper
Create Question Paper Design Flow - https://saketsinha847338.invisionapp.com/console/share/4Z21W3TCQU/497390837

Planned Delivery - 12th Jan 2021

Implementation Approach:

  1. Define a new primary category [ Use the Collection creation API suggested in this GitHub discussion thread ]

  2. Add Blueprint variables in schema - only for Collection - Question paper

-------------------------------------------------------------------------------------------------------------------

<To be reviewed>

  • Workspace should include a new Collection category for Question Paper.

    • Define new Collection category for Question Paper. Share definition for review.

      • Must include visibility, printable, and print status attributes. Add Printable and Print Status to Collection schema.

    • Workspace should show it for user with role CREATOR. Any changes required? Configuration change for Workspace page configuration?

  • Collection creation flow remains as-is. Admin will save it as draft (include in Program user manual)

 

Clarifications:

  1. API details updated on Github thread: https://github.com/project-sunbird/sunbird-community/discussions/26

 

2. Admin to create a sourcing project which includes Content-type ‘Exam Questions’, Target collection ‘Question Paper’ and provision to add values for blueprint variables for this project

Planned Delivery - 15th Jan 2021

Implementation Approach:

  1. Update Schema to include 'Exam Question' in Content-Type

  2. Update schema to include in 'Question Paper' in Target collection list

  3. Popup - To add blueprint variables for the project [ Design Link- https://saketsinha847338.invisionapp.com/console/share/SH21W554JV/497391177 ]

------------------------------------------------------------------------------------------------------------------------------------------

<To be reviewed>

Project creation: settings to be used by Admin:

  • Nomination disabled

  • Two-step review enabled (Not to Skip)

  • Project scope: Content Types (categories) to include Exam Questions
    When contributor clicks “Create New” they will see “Exam Questions” in the selection popup. On selecting “Exam Questions” the will get question type selection. They will be able to create one or more questions of the selected type.

    • Exam Questions as a new Content category. Share definition for review.
      mimeType: ECML, Question format: QuML,
      visibility: private, and ..
      sourcingConfig": { "editor" : [ { "mimetype": "application/vnd.ekstep.ecml-archive", "type": "question" } ] }

    • Target Collection should include collections of category Digital Textbook and Question Paper while creating a project. Configuration update for Creation portal?
      Admin can search the ‘Question Paper’ created earlier, include it in the sourcing project so that contributors create ‘Exam Questions’ and reviewers can review them.

3. Admin assigns or invites Contributors and Reviewers for the project

 

4. Contributor creates questions of various types and submits for review

 

5. Reviewer-1 can Accept or Request for Changes for each ‘Exam Questions’ content (containing one or more questions)

6. Reviewer-2 (Question Paper creator)

6.1 - Can Accept or Reject or Request for Changes for each ‘Exam Questions’ content (containing one or more questions)

6.2 - Can view progress against the blueprint

6.3 - Print Preview - For Question Paper creator (Sourcing Reviewer)

 

Reviewer 2 will review each of the ‘Exam Question’ content against the ‘Question Paper’ collection through the “Sourcing” portal.
On ‘accepting’ the ‘Exam Question’ will be published in sourcing and consumption repository with visibility = private (set in category definition)
Now Reviewer 2, after completion of review, goes to Workspace. From Workspace, ‘Question Paper’ can be edited and submitted for Review.
User with ‘Question Paper’ review role (Reviewer 3) can publish the ‘Question Paper' (should not be same as the person who created the ‘Question Paper’)
On publishing, the 'Question Paper’ has visibility = private (set in category definition)
A job listens to this event and prints required PDF / DOC and sends it via email to Question Paper creator (Reviewer-2)


Configurations

Following configurations are required to be made by Dev Ops team enable Question Paper workflow

Capability

Description

Corresponding Request for Prashnavali <> QuML Integration

Highlights of the configuration

Link to configuration

Capability

Description

Corresponding Request for Prashnavali <> QuML Integration

Highlights of the configuration

Link to configuration

Create Question Paper

Define collection category “Question Paper” for a specific tenant

Define Question Set category “Question Paper” for a specific tenant

 

curl --location --request POST 'https://dock.sunbirded.org/api/object/category/v1/create' \ --header 'Authorization: Bearer {{devToken}}' \ --header 'Content-Type: application/json' \ --data-raw '{ "request": { "objectCategory": { "name": "Question paper", "description": "Question papers for examinations to be conducted by the state" } } }'

Question Paper category definition

Enable Creation through Workspace of “Question Paper” for CONTENT_CREATOR role for a specific tenant

Configure definition of Question Paper Question Set category

Default appIcon
Printable = true
Author = SCERT Haryana
Include Blueprint Create form

curl --location --request PATCH 'https://dev.sunbirded.org/api/object/category/definition/v1/update/obj-cat:question-paper_collection_01309282781705830427' \ --header 'Authorization: Bearer {{devToken}}' \ --header 'Content-Type: application/json' \ --data-raw '{     "request": {         "objectCategoryDefinition": {                         "objectMetadata": {                 "config": {},                 "schema": {                     "properties": {                         "mimeType": {                             "type": "string",                             "enum": [                                 "application/vnd.ekstep.content-collection"                             ]                         },                         "appIcon": {                             "type": "string",                             "default": "https://sunbirddev.blob.core.windows.net/sunbird-content-dev/content/do_11320764935163904015/artifact/2020101299.png"                                                      },                         "author": {                             "type": "string",                             "default": "SCERT Haryana"                         },                         "printable": {                             "type": "boolean",                             "default": true                         }                                           }                 }             },             "languageCode": [],             "forms": {                 "blueprintCreate": {                     "templateName": "",                     "required": [],                     "properties": [                         {                             "code": "topics",                             "dataType": "list",                             "description": "",                             "editable": true,                             "index": 0,                             "inputType": "multiSelect",                             "label": "Chapters",                             "name": "Chapters",                             "placeholder": "Please select chapters",                             "renderingHints": {},                             "required": true                         },                         {                             "code": "learningOutcomes",                             "dataType": "list",                             "description": "",                             "editable": true,                             "index": 1,                             "inputType": "multiSelect",                             "label": "Competencies",                             "name": "Competencies",                             "placeholder": "Please select Competencies",                             "depends": [                                 "chapters"                             ],                             "renderingHints": {},                             "required": false                         },                         {                             "code": "learningLevels",                             "editable": true,                             "displayProperty": "Editable",                             "dataType": "text",                             "renderingHints": {                                 "semanticColumnWidth": "twelve"                             },                             "label": "Skills Tested",                             "required": true,                             "name": "Learning Levels",                             "index": 2,                             "inputType": "select",                             "placeholder": "",                             "default": 0,                             "options": [                                 0,                                 1,                                 2,                                 3,                                 4,                                 5                             ],                             "children": [                                 {                                     "type": "learningLevel",                                     "label": "Knowledge",                                     "code": "remember"                                 },                                 {                                     "type": "learningLevel",                                     "label": "Understanding",                                     "code": "understand"                                 },                                 {                                     "type": "learningLevel",                                     "label": "Application",                                     "code": "apply"                                 }                             ]                         },                         {                             "code": "questionTypes",                             "editable": true,                             "displayProperty": "Editable",                             "dataType": "text",                             "renderingHints": {                                 "semanticColumnWidth": "twelve"                             },                             "description": "Question Types",                             "index": 2,                             "label": "Question Types",                             "default": 0,                             "required": true,                             "name": "Question Types",                             "inputType": "select",                             "children": [                                                                 {                                     "type": "questionType",                                     "label": "Objective",                                     "code": "Objective"                                 },                                 {                                     "type": "questionType",                                     "label": "Very Short Answer",                                     "code": "VSA"                                 },                                 {                                     "type": "questionType",                                     "label": "Short Answer",                                     "code": "SA"                                 },                                 {                                     "type": "questionType",                                     "label": "Long Answer",                                     "code": "LA"                                 }                             ],                             "options": [                                 0,                                 1,                                 2,                                 3,                                 4,                                 5                             ],                             "placeholder": "Question Types"                         },                         {                             "code": "totalMarks",                             "editable": true,                             "displayProperty": "Editable",                             "dataType": "text",                             "renderingHints": {                                 "semanticColumnWidth": "three"                             },                             "description": "Total Marks",                             "index": 4,                             "label": "Total Marks",                             "required": true,                             "default": 0,                             "name": "Total Marks",                             "inputType": "text",                             "placeholder": ""                         }                     ]                 }             }         }     } }'

 

Create Exam Questions

Define content category “Exam Questions

Define question object category “Exam Questions

 

curl --location --request POST 'https://dev.sunbirded.org/api/object/category/v1/create' \ --header 'Authorization: Bearer {{devToken}}' \ --header 'Content-Type: application/json' \ --data-raw '{   "request": {     "objectCategory": {       "name": "Exam Question",       "description": "Questions for examinations to be conducted by institutions"     }   } }'

 

Exam Question Metadata

Exam Question category definition

Configure definition of “Exam Question” Question category

maxQuestions = 1
Set question update form (include Learning Outcomes, Topics)

System capabilities (driven by configuration / data)

 

 

 

 

 

 

 

 

Progress against blueprint

If blueprint is available, system will show automatically

 

 

Print preview

If printable, system will show automatically

 

 

Create Exam Questions > Add New Question

Disabled only for “Exam Questions”

 

 

Expected user flow (Program process guide)

 

 

 

 

 

 

Question Paper creation

Create > save draft

Ensure relevant metadata is filled

Ensure structure is signed-off before creating project

 

Project creation

Skip two level review = ..

Content type = Exam questions

 

Exam Questions