Versions Compared

Key

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

...

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”

Not Started

Pros

  1. User experience is straight forward and the clients Simpler logic to implement within clients as they do know the context in which the user is opening the content

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

Cons

Carry Forward Mode

...

  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

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

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:

Full Carry Forward Mode

...

In this mode, any content or collection that is tracked, is copied over into context based on the business rules configured.

Example Use-case

Rahul Let’s assume the following business rule:

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 duration

Copy All Mode

Rahul completes content “single-digit-addition. “single-digit-addition” is added as part of course “class-1-maths”. Rahul joins the batch batch-1“ within the course “class-1-maths-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)

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

Complete

Rahul opens the “single-digit-addition” content after searching for itNot Started

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

Move Mode

In this mode, any content or collection that is tracked, is moved over into context based on the business rules configured.

Example Use-case

Rahul completes content “single-digit-addition” as part of batch “batch-1“ within the course “class-1-maths

...