...
API responses for various other actions done by the user:
Action | Progress in Context |
---|---|
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” | Not Started |
Inverse: Rahul completes the “single-digit-addition” content after searching for it. Later, Rahul opens the same content via the ToC of the course “class-1-maths“ | Not Started |
Pros
Simpler logic to implement within clients as they do know the context in which the user is opening the content
No extra actions or need for complex business rules either or client or server
...
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 after 1 month and opened the content “single-digit-addition” | Complete |
batch-1 has expired and Rahul has rejoined batch-2 after 3 months and opened the content “single-digit-addition” | Not Started |
Rahul opens the “double-digit-addition” content after searching for it | Not Started |
Rahul completes “triple-digit-addition” organically. And opens the content as part of course “class-1-maths” | Complete |
Pros
Opens up many complex use-cases
Cons
The complexity on the server side explodes exponentially. There needs to be multiple asynchronous
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
Move Mode
In this mode, any content or collection that is tracked, is moved over into context based on the business rules configured.
...