...
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
...
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 | Not Started | ||
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 | Not Started | ||
Rahul has joined a program “program-abc“ which contains “class-1-maths” as one of the collection. He opens the “single-digit-addition” content within this context | Complete | -digit-addition” content within this context | 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 or content, it would mean that one has to clone the course or content. This would duplicate the assets on the platform
If a content or collection is modified it is still shown to user as complete. This may not have any meaning
Copy Mode
In this mode, any content or collection that is tracked, is copied over into context based on the business rules configured.
...
An user content progress is copied into a course or a program if the user has completed the content in the last 3 months or within the program/course duration
Copy All Mode
Info |
---|
Rahul completes content “single-digit-addition”. “single-digit-addition” is added as part of course “class-1-maths”. Rahul joins the batch-1 of course “class-1-maths”. Rahul also completes “double-digit-addition” as part of “class-1-maths“. Rahul hasn’t started “triple-digit-addition“ as part of the course. |
Entry in DB
user_id | collection_id | context_id | content_id | status |
---|---|---|---|---|
Rahul | single-digit-addition | single-digit-addition | single-digit-addition | 2 |
Rahul | class-1-maths | batch-1 | single-digit-addition | 2 (copied) |
...
Opens up many complex use-cases
UX can be made simpler. A content or collection can be shown only once
Cons
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/collection 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. Support would be bombarded with explainability requests
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 usability will be very challenging if the collection doesn’t satisfy the business rules
UX should be designed specifically for it
There are other use-cases like if the collection is complete and added to learner passbook, would the program also add another entry or how would the learner passbook experience be?
Move Mode
In this mode, any content or collection that is tracked, is moved over into context based on the business rules configured.
...