...
There might be cases where a program is launched with a course which the user is already part of or completed. The user needs to redo the entire course again (consumption outside of Context will not be considered)
User experience will be complex if the user sees two courses (one within a program and another outside of the program). The user might complete the course assuming it is part of program and would probably realize realise that he hasn’t taken it in the context of the program
There would be multiple steps required by user to reach a content within a program. Will make the discovery and browsing experience complex. (may not always be possible to ensure that users ‘discover’ relevant content in the context they are supposed to)
Carry Forward Mode
Any content or collection consumption is tracked at its level only and is carry forwarded into any context. This is the expected mode of SunbirdCB. In this mode there are two sub-modes as well:
...
Action | Progress |
---|---|
Rahul opens the “single-digit-addition” content after going into the course “class-1-maths” when batch-1 is active | Complete |
Rahul opens the “single-digit-addition” content after searching for it | Complete |
batch-1 has expired and Rahul has rejoined batch-2 and opened the content “single-digit-addition” | Complete |
Rahul has joined a collection “class-2-maths” which contains the “single-digit-addition” content and opens the content | Complete |
Pros
Simplicity. No extra actions or need for complex business rules either or client or server
Straight-forward simple user experience
Cons
Once a collection (course) has been complete it is complete irrespective of the time period or context
If a programs wants to force all users to retake the course, it would mean that one has to clone the course
Collection Carry Forward Mode
...
The complexity on the server side explodes exponentially. There needs to be multiple asynchronous jobs like:
Copy the progress after evaluating the business rules on actions like “enroll”
Copy the progress continuously whenever a content is taken outside the context but within the acceptable business rules
Explainability of the data becomes very complex
Debugging any issue would be a nightmare.
UX would become complex.
User would be confused why a progress is complete or not complete
If a collection is part of multiple programs, discoverability will be very challenging
Move Mode
In this mode, any content or collection that is tracked, is moved over into context based on the business rules configured.
...