Versions Compared

Key

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

...

  1. 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)

  2. 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

  3. 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

  1. Simplicity. No extra actions or need for complex business rules either or client or server

  2. Straight-forward simple user experience

Cons

  1. Once a collection (course) has been complete it is complete irrespective of the time period or context

  2. 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

...

  1. The complexity on the server side explodes exponentially. There needs to be multiple asynchronous jobs like:

    1. Copy the progress after evaluating the business rules on actions like “enroll”

    2. Copy the progress continuously whenever a content is taken outside the context but within the acceptable business rules

  2. Explainability of the data becomes very complex

  3. Debugging any issue would be a nightmare.

  4. UX would become complex.

    1. User would be confused why a progress is complete or not complete

    2. 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.

...