Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinetrue


Introduction

Purpose: In the current context, once a course is published any changes done to the course will impact user progress. In the ideal state, although we do not recommend authors to make changes to published courses, we have encountered the following scenarios which mandate us to support dynamic updation of user progress:


  1. Content creation for courses is a tedious and time taking activity. Hence, the actual time needed to create content sometimes poses a challenge for the state to meet the course launch date. To mitigate this, state would like to publish their courses in phases i.e., if the course has 5 units, in the first phase publish 3 units and launch the course by creating batches, and keep adding the rest of the units to the live course.
  2. Post publishing the course, if the state identifies the need to correct content/typos etc there should be a way to get these edits in the live course.

JTBD


Who is the user and what is the user trying to do which is currently a struggle

What is the context

Functional Goal

State admin is struggling to meet the course launch timelines

Course launch

Enable state to be able to launch courses in multiple phases.


Requirement Specifications

Use Case 1 Overview

This use case deals with enabling content creators to be able to make edits to a live course without impacting the progress of the enrolled users. This will provide flexibility to the state to launch online courses in a phased manner, and carry out corrections such as typos etc.


User Story 1 - Overview (Portal)

As a state admin I want to publish a course in phases so that I can at-least launch the course per the deadline and add subsequent units post launch without affecting the progress of the users’ enrolled in the course.

Main Scenario(s)

Pre-requisites

  • Course is published.
  • Course has batches - batch can be an open batch or an invite only batch.

Scenario 1: Addition of new units/sub-units/resources to a published course with live batches.

  1. As a content creator I should be able to add units/sub-units/resources to a live course (course with batches and enrolled users) created by me and publish it.
  2. As a user enrolled into a course which was edited and re-published, I should be able to consume the newly published course without impacting my progress.
Srl. No.User ActionExpected Result
1

Content creator: Adds a new unit/sub-unit/resource to a live course and publishes it

The course should now contain the new unit/sub-unit/resource

2

Enrolled user who has already completed the course logs in to DIKSHA

My courses section: Progress gets updated from 100% to the new number. Lets say the course had 9 resources. User has completed all the 9 resources. Now a new resource is added. Hence, the updated user’s progress would be 90%. (9 completed out of 10)

Course ToC: a) The updated progress has to be reflected in the course ToC page. b) In the course ToC page, the newly added resource’s status should be similar to the status of resources which are not yet completed by users

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session.

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should be able to unenroll from the batch since the updated progress is less than 100%.

3

Enrolled user who is in the process of completing the course (Course progress < 100%)

My courses section: Progress gets updated to the new number. Lets say the course had 8 resources. User has completed 4 resources. Now a new resource is added. Hence, the updated user’s progress would be 44% (4 completed out of 9) from 50%.

Course ToC: a) The updated progress has to be reflected in the course ToC page. b) In the course ToC page, the newly added resource’s status should be similar to the status of resources which are not yet completed by users

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session.

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course.

Unenroll: User should be able to unenroll from the batch since the updated progress is less than 100%.

Scenario 2: Removal of unit/sub-unit/resources from a published course

  1. As a content creator, I should be able to remove unit/sub-unit/resources from a live course created by me and publish it.
  2. As a user enrolled into a course which was edited and re-published, I should be to consume the newly published course without impacting my progress.
Srl. No.User ActionExpected Result
1

Content creator: Removes an existing unit/sub-unit/resource from a live course and publishes it

The course should not contain the removed unit/sub-unit/resource

2

Enrolled user who has already completed the course logs in to DIKSHA

My courses section: User’s progress would remain as 100%.

Course ToC: a) The user’s course progress remains the same. b) Removed resource is removed from the course ToC page

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session. If the last viewed/completed resource is removed then it should take them to the beginning of the course

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should not be able to unenroll from the batch since their progress is 100%.

3

Enrolled user who is in the process of completing the course (Course progress < 100%) - User has already completed the removed resource

My courses section: Progress gets updated to the new number. Let’s say the course has 8 resources. User has completed 4 resources. Now one of the existing resource which the user has already completed is removed. Hence, the updated user’s progress would be 42.8%. (3 completed out of 7)

Course ToC: a) The user’s course progress gets updated. b) Removed resource is removed from the course ToC page.

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session. If the last viewed/completed resource is removed then it should take them to the beginning of the course

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should be able to unenroll from the batch since their progress is less than 100%.

4

Enrolled user who is in the process of completing the course (Course progress < 100%) - User has not completed the removed resource

My courses section: Progress gets updated to the new number. Let’s say the course has 8 resources. User has completed 4 resources. Now one of the existing resource which the user has not completed is removed. Hence, the updated user’s progress would be 57%. (4 completed out of 7)

Course ToC: a) The user’s course progress gets updated. b) Removed resource is removed from the course ToC page

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session.

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should be able to unenroll from the batch since their progress is less than 100%

Exception Scenarios

Note: Any changes done to the course in the draft state should not impact the live version of the course until the course is published.

Wireframes

N/A

For Future Release

N/A

JIRA Ticket ID

User Story 2 Overview - Mobile App

As a state admin I want to publish a course in phases so that I can at-least launch the course per the deadline and add subsequent units post launch without affecting the progress of the users’ enrolled in the course.

Main Scenario(s)

Pre-requisites

  • Course is published.
  • Course has batches - batch can be an open batch or an invite only batch.

Scenario 1: Addition of new units/sub-units/resources to a published course with live batches.

  1. As a content creator I should be able to add units/sub-units/resources to a live course (course with batches and enrolled users) created by me and publish it.
  2. As a user enrolled into a course which was edited and re-published, I should be able to consume the newly published course without impacting my progress.
Srl. No.User ActionExpected Result1

Content creator: Adds a new unit/sub-unit/resource to a live course and publishes it

The course should now contain the new unit/sub-unit/resource

2

Enrolled user who has already completed the course logs in to DIKSHA

My courses section: Progress gets updated from 100% to the new number. Lets say the course had 9 resources. User has completed all the 9 resources. Now a new resource is added. Hence, the updated user’s progress would be 90%. (9 completed out of 10)

Course ToC: a) The updated progress has to be reflected in the course ToC page. b) In the course ToC page, the newly added resource’s status should be similar to the status of resources which are not yet completed by users

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session.

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should be able to unenroll from the batch since the updated progress is less than 100%.

3

Enrolled user who is in the process of completing the course (Course progress < 100%)

My courses section: Progress gets updated to the new number. Lets say the course had 8 resources. User has completed 4 resources. Now a new resource is added. Hence, the updated user’s progress would be 44% (4 completed out of 9) from 50%.

Course ToC: a) The updated progress has to be reflected in the course ToC page. b) In the course ToC page, the newly added resource’s status should be similar to the status of resources which are not yet completed by users

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session.

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course.

Unenroll: User should be able to unenroll from the batch since the updated progress is less than 100%.

Scenario 2: Removal of unit/sub-unit/resources from a published course

  1. As a content creator, I should be able to remove unit/sub-unit/resources from a live course created by me and publish it.
  2. As a user enrolled into a course which was edited and re-published, I should be to consume the newly published course without impacting my progress.
Srl. No.User ActionExpected Result1

Content creator: Removes an existing unit/sub-unit/resource from a live course and publishes it

The course should not contain the removed unit/sub-unit/resource

2

Enrolled user who has already completed the course logs in to DIKSHA

My courses section: User’s progress would remain as 100%.

Scenario 3: Repetition of the same resource more than once in the published course

  1. As a content creator, I should be able to add the same resource twice in a live course and publish it.
  2. As a user enrolled into a course which has duplicate resources, I should be to consume the published course without impacting my progress.
Srl. No.User ActionExpected Result
1

Content creator: Add the same resource twice in the course

The course should have both the resources per the course structure designed and published by the author.

2Enrolled user completes the duplicate resourceProgress for both the resources in the course is marked as complete. i.e., if the course has 4 resources and one of them is repeated twice. If this resource is completed then the users' progress will be 50% (2/4 completed).

Exception Scenarios

Note: Any changes done to the course in the draft state should not impact the live version of the course until the course is published.

Wireframes

N/A

For Future Release

N/A

JIRA Ticket ID

User Story 2 Overview - Mobile App

As a state admin I want to publish a course in phases so that I can at-least launch the course per the deadline and add subsequent units post launch without affecting the progress of the users’ enrolled in the course.

Main Scenario(s)

Pre-requisites

  • Course is published.
  • Course has batches - batch can be an open batch or an invite only batch.

Scenario 1: Addition of new units/sub-units/resources to a published course with live batches.

  1. As a content creator I should be able to add units/sub-units/resources to a live course (course with batches and enrolled users) created by me and publish it.
  2. As a user enrolled into a course which was edited and re-published, I should be able to consume the newly published course without impacting my progress.
Srl. No.User ActionExpected Result
1

Content creator: Adds a new unit/sub-unit/resource to a live course and publishes it

The course should now contain the new unit/sub-unit/resource

2

Enrolled user who has already completed the course logs in to DIKSHA

My courses section: Progress gets updated from 100% to the new number. Lets say the course had 9 resources. User has completed all the 9 resources. Now a new resource is added. Hence, the updated user’s progress would be 90%. (9 completed out of 10)

Course ToC: a) The updated progress has to be reflected in the course ToC page. b) In the course ToC page, the newly added resource’s status should be similar to the status of resources which are not yet completed by users

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session.

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should be able to unenroll from the batch since the updated progress is less than 100%.

3

Enrolled user who is in the process of completing the course (Course progress < 100%)

My courses section: Progress gets updated to the new number. Lets say the course had 8 resources. User has completed 4 resources. Now a new resource is added. Hence, the updated user’s progress would be 44% (4 completed out of 9) from 50%.

Course ToC: a) The updated progress has to be reflected in the course ToC page. b) In the course ToC page, the newly added resource’s status should be similar to the status of resources which are not yet completed by users

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session.

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course.

Unenroll: User should be able to unenroll from the batch since the updated progress is less than 100%.

Scenario 2: Removal of unit/sub-unit/resources from a published course

  1. As a content creator, I should be able to remove unit/sub-unit/resources from a live course created by me and publish it.
  2. As a user enrolled into a course which was edited and re-published, I should be to consume the newly published course without impacting my progress.
Srl. No.User ActionExpected Result
1

Content creator: Removes an existing unit/sub-unit/resource from a live course and publishes it

The course should not contain the removed unit/sub-unit/resource

2

Enrolled user who has already completed the course logs in to DIKSHA

My courses section: User’s progress would remain as 100%.

Course ToC: a) The user’s course progress remains the same. b) Removed resource is removed from the course ToC page

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session. If the last viewed/completed resource is removed then it should take them to the beginning of the course

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should not be able to unenroll from the batch since their progress is 100%.

3

Enrolled user who is in the process of completing the course (Course progress < 100%) - User has already completed the removed resource

My courses section: Progress gets updated to the new number. Let’s say the course has 8 resources. User has completed 4 resources. Now one of the existing resource which the user has already completed is removed. Hence, the updated user’s progress would be 42.8%. (3 completed out of 7)

Course ToC: a) The user’s course progress

remains the same

gets updated. b) Removed resource is removed from the course ToC page.

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session. If the last viewed/completed resource is removed then it should take them to the beginning of the course

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should

not

be able to unenroll from the batch since their progress is less than 100%.

3
4

Enrolled user who is in the process of completing the course (Course progress < 100%) - User has

already

not completed the removed resource

My courses section: Progress gets updated to the new number. Let’s say the course has 8 resources. User has completed 4 resources. Now one of the existing resource which the user has

already

not completed is removed. Hence, the updated user’s progress would be

42.8%

57%. (

3

4 completed out of 7)

Course ToC: a) The user’s course progress gets updated. b) Removed resource is removed from the course ToC page

.

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session.

If the last viewed/completed resource is removed then it should take them to the beginning of the course

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should be able to unenroll from the batch since their progress

is less than 100%.4

Enrolled user who is in the process of completing the course (Course progress < 100%) - User has not completed the removed resource

My courses section: Progress gets updated to the new number. Let’s say the course has 8 resources. User has completed 4 resources. Now one of the existing resource which the user has not completed is removed. Hence, the updated user’s progress would be 57%. (4 completed out of 7)

Course ToC: a) The user’s course progress gets updated. b) Removed resource is removed from the course ToC page

Resume Course: User clicks on ‘Resume course’ or the ‘Course card’ from My courses section, it should take them to the last viewed/completed resource in the previous session.

Navigation: Should work as normal - clicking on next should navigate the user to the next resource in the course; clicking on previous should navigate the user to the previous resource in the course

Unenroll: User should be able to unenroll from the batch since their progress is less than 100%

is less than 100%

Scenario 3: Repetition of the same resource more than once in the published course

  1. As a content creator, I should be able to add the same resource twice in a live course and publish it.
  2. As a user enrolled into a course which has duplicate resources, I should be to consume the published course without impacting my progress.
Srl. No.User ActionExpected Result
1

Content creator: Add the same resource twice in the course

The course should have both the resources per the course structure designed and published by the author.

2Enrolled user completes the duplicate resourceProgress for both the resources in the course is marked as complete. i.e., if the course has 4 resources and one of them is repeated twice. If this resource is completed then the users' progress will be 50% (2/4 completed).

Exception Scenarios

Note: Any changes done to the course in the draft state should not impact the live version of the course until the course is published.

Wireframes

N/A

For Future Release

N/A

JIRA Ticket ID

Localization Requirements

UI ElementDescriptionLanguage(s)/ Locales Required




Telemetry Requirements

N/A


Non-Functional Requirements

Performance / Responsiveness RequirementsLoad/Volume RequirementsSecurity / Privacy Requirements

Updated progress (depending on whether a new resource was added or removed) should reflect real time to the users when they log in/refresh the page.

  1. Courses can have upto 5 active batches running in parallel
  2. Each open batch can have participants upwards of 1L

Prev/Next navigation should take the user to the Prev/Next resource/unit as per the updated course structure




Impact on other Products/Solutions

N/A




Impact on Existing Users/Data 

N/A


Key Metrics

N/A