Use case - Question paper
State SCERT will source the question papers for conducting SAT, Regular interval (Fortnightly, Monthly, etc) Quiz and tests on Diksha. To create the question paper, the state will use Vidyadaan (Prashnavali) to create the question paper (with 2 level review).
...
Create a question paper on Sourcing(Vidyadaan) and Publish it Published on consumption (Diksha) . - With private visibility (- meaning that only authorized users can view it on consumption.)
Authorized Applications make and authenticated API calls get the Content from Diksha that is Private(not visible/ available publicly)
If the Applications have permission to view the question paper and the date on which the request is made lies between the start/end date of the question paper. They get the question paper details.
...
Defining Visibility during project creation
...
Editing visibility at a later time.
...
Design Flow: https://docs.google.com/presentation/d/12JW58Iokn-3IdwifUeWab8F8vPC8HFHqZjkbERtwsLc/edit?usp=sharing
Tech Implementation
Approach 1:
Publish Project
In a published project, the status of QuestionSets remains draft.
In the QuestionSet, questions will be:
Added and submitted by Contributors(status: Draft, but Review Pending ),
Reviewed by ContributorOrg reviewer(status: Live but Approval pending) and then
Approved and published by SourcingOrg reviewer(status: Live but Approved).
For QuestionSets having all approved questions, we’ll publish the QuestionSet on click of button(Publish Question Set) which will be enabled on the basis of config we’ll pass to category definition API.
An existing key
publishQuestionset
will be used in category definition which will have boolean values.API: category/definition/v1/read
On click of button(Publish Question Set), we’ll hit publish API so the status of QuestionSets will become live.
API : questionset/v1/publish/do_id
It’s an Async API.
Adding Import Button on TOC
After having the status of QuestionSet as live, will show a button “Import QuestionSet” to import it on Ed Portal.
This will be enabled on the basis of the category definition config we used for the button(Publish Question Set) in 1(D).
On click of the button(Import QuestionSet) we’ll hit the import API.
API: questionset/v1/import
Pros: Use of existing API
Cons: Existing API only allows the QuestionSet having all approved questions
Open questions:
As the publish QuestionSet API is Async, how will we show the Import QuestionSet button.
If the publish QuestionSet API fails, what shall we show there or how should we handle this?
Approach 2:
...
Importing QuestionSet on Ed Portal
At the time of publishing a project by SourcingOrg Admin, a copy of the QuestionSets will be created at Ed portal as well using import QuestionSet API(New).
Import QuestionSet API will make a copy of QuestionSet having a common key “originalPath” to define relation/reference between both the QuestionSets i.e; original and cloned.
Questions will be added by contributor, reviewed by ContributorOrg reviewer and then SourcingOrg reviewer i.e; complete question journey upto approval pending will be on Vdn portal only.
Importing Questions on Ed
At the time of approval from SourcingOrg Admin/reviewer the question will get directly published at Vdn portal and imported at Ed Portal using import Question API(New).
Import question API will make a copy of approved questions from Vdn portal and import them on Ed portal.
originalPath key will be helpful in adding the approved questions in the correct QuestionSet.
Requirements: 2 New API
To import QuestionSets of a project from the Vidyadan portal to the Ed portal while publishing it.
To import all the approved questions to the imported project on Ed Portal.
...
*This document has been updated on 16th June, the comments might be outdated for an earlier version of this document.