Enable contribution and review of Question set within a collection driven sourcing workflow

Currently the selected primary categories [Shown as content types in UI], are saved as an array of names in the column content_types. Instead we want to save the object type of the selected categories as well, as for the category definition read API objectType is mandatory.

Content_types: [ "ExplanationContent", "LearningResource", .. ]

Design


Project Changes:

So, to support the backward compatibility, we will add one more column targetPrimaryCategories in program table with values like:

[ { "identifier": "obj:cat_course_collection_all", "name": "Course Assessment", "targetObjectType": "Content" }, { "identifier": "obj:cat_digital-textbook_collection_all", "name": "Practice Question Set", "targetObjectType": "QuestionSet" } ]

while editing, the content types dropdown should show value from program.targetPrimaryCategories if program.content_types are empty

Nomination changes:

  • On UI the the content types popup should show value from program.targetPrimaryCategories if program.content_types are empty

  • Currently the selected primary categories [Shown as content types in UI], are saved as an array of names in the column content_types. Instead we want to save the object type of the selected categories as well, as for the category definition read API objectType is mandatory.
    - So, to support the backward compatibility, we will add one more column targetPrimaryCategories in nomination table with values same as program table

Add Content changes:

if the primary category selected from the primary category selection pop up, is configured to have mime type as application/vnd.sunbird.questionset, new question set editor should open up.

Before that the following tasks to be done:

"mimetype": "application/vnd.sunbird.questionset",

"type": "questionset"

  • Saving question set object

  • redirecting to the question set editor component with questionset id

 

Conclusion: 

  1. New column targetPrimaryCategories to be added in programs table

  2. New column targetPrimaryCategories to be added in nominations table

  3. We need to write a new API for contribution / submit. This API will be a part of programs service for 3.8 release. In 3.9 this API will be enhanced to support contribution object.