Introduction:
This document is an approach not from content framework to solve the creation of self-assessment from the user’s workspace
Background:
Jira issue: https://project-sunbird.atlassian.net/browse/SB-17128
Problem Statement:
Currently, an Assessment is created as a two-step process and most of the activities are done in the back end. Content is created with type as "Resource" which is reviewed and published and later the content type is changed to "Self-Assess” and made available to the user. Instead, the whole creation and publishing process should happen from the portal
Solution 1:
Handling on editor side(adding summary slide into content)
Whenever the content editor will create content as self-assessment content, we will extend the ECML with a new stage block which contains the summary plugin.
If content editor edits the same content we will hide the stage from the content editor and after saving we will add the stage again.
Pros:
Easy to implement. A simple change on the content creation side(editor).
Any summary plugin fixes will reflect on the new/edit contents immediately. (without user concern)
Cons:
We are adding this plugin for every self-assess content. It will increase the size of the ECAR file.
Any fixes of the summary plugin will work only for new content. Older contents need to edit & republish to get fixes of the summary plugin.
This is the core plugin changes(Stage plugin), any issues will have a huge impact on other contents as well.
If the user explicitly adding this plugin to the last stage, then he will see 2 stages with the summary plugin. Which he doesn’t have any info why it is showing twice.
Note:
Existing contents have to fix(remove the last slide). Else edit/copy of any existing will be having duplicate slides of the summary plugin.
Solution 2:
Handling on consumption side as an end-page plugin(merging summary plugin & end page)
we can club the summary and end page plugin which will behave as an assessment end page plugin. Based on the config received by the player we will switch the end page.
Pros:
We do not need to change content editor code for a new content type, just a plugin change will suffice this requirement.
Cons:
We will be handling two endpage plugins based on the different type of content type [ not a cons though ]