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:
Define a new primary category [ Use the Collection creation API suggested in this GitHub discussion thread ]
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:
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:
Update Schema to include 'Exam Question' in Content-Type
Update schema to include in 'Question Paper' in Target collection list
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 |
---|---|---|---|---|
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 | 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 |
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 |
|
|