...
Info |
---|
Rahul completes content “single-digit-addition” as part of batch “batch-1“ within the course “class-1-maths”. “batch-1“ is still active. He now enrols into a program “Program 1“ which also has the course “class-1-maths“. Program has set the following business rule: An user collection progress is moved into a program if the user has an on-going batch for the same collection |
Entry in DB
user_id | collection_id | context_id | content_id | status |
---|---|---|---|---|
Rahul | class-1-maths | batch-1 | single-digit-addition | 2 (deleted) |
Rahul | class-1-maths | program-batch-1 | single-digit-addition | 2 |
API responses for various other actions done by the user:
Action | Progress | |||
---|---|---|---|---|
Rahul opens the “single-digit-addition” content after going into the course “class-1-maths” when batch-1 is active | CompleteNot Started | |||
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” | Not Startedgoing into the course “class-1-maths” via the program context | Complete |
Pros
Opens up complex use-cases reducing the cons of the copy mode
UX can be made simpler. A in-progress content or collection can be shown only once
...