Total Knowledge Projects Jobs Clientele Contact

Course sign-up

Personal tools
From Total Knowledge
(Difference between revisions)
Jump to: navigation, search
(Add a note about study_course record creation)
(Closed course)
Line 38: Line 38:
====Closed course====
====Closed course====
Student cannot request a sign up.
Student cannot request a sign up.
Instead, teacher can send an invitation, which student can accept.
====Behind the scenes====
====Behind the scenes====

Revision as of 16:29, 13 February 2011

In order to study a course, student has to sign up for a class, which is signed up to study it.


Course record creation

Currently the study_course record is created when the course UMO is published.

Class creation

Class is created in the following cases:

  • New version of a course object is published

In this case a new class is created and signed up for this course automatically. It is marked as the default class for the course. The person who published the course is set as a teacher and admin of the class.

  • Someone decides they want to teach a class, and creates one

Class operations

Following operations can be performed on a class:

  • Teachers can be assigned
  • Students can request sign-up
  • Teachers can approve student requests
  • Administrators can be assigned

Signing up for a class

Classes have a "sign-up mode" attribute. It determines what is the process flow, in case a student requests to be signed up for a class. Regardless of the sign-up mode teacher may invite a student into a class, and the student will have an option of accepting the invitation.

100% free

In the simplest case student gets signed-up to a class as soon as he requests it.

Free moderated

  • Student requests sign-up
  • One of teachers approves it


  • Student requests sign-up
  • Student pays the fee

Paid moderated

  • Student requests sign-up
  • Student pays the fee
  • Teacher approves the request
  • In case request wasn't approved, student is credited his money back.

Note: For the time being paid modes will not be implemented. It is unclear how to pass the money on to teachers, and especially unclear how to make sure everyone gets their fair share in case a class is taught by more then one teacher.

Closed course

Student cannot request a sign up. Instead, teacher can send an invitation, which student can accept.

Behind the scenes

Internally, the following sequence of steps happens:

  • Sign-up request: class_subscription_reserve function is called
  • class_subscription_reserve creates a new order (order_create)
  • class_subscription_reserve calls mode-specific handler (see Free, Free Moderated, Paid, Paid Moderated)
  • UI retrieves order status and amount owed by student
  • If amount is non-zero, UI offers student an option to pay, and, once payment is processed, calls "order_paid" and refreshes order status
  • If order status is "pending", the student gets the indication he should wait for approval from teacher.
  • Teacher gets a list of students who are ready to start studying (their orders are in "pending" state)
  • Teacher approves an order: class_subscription_confirm is called.
  • Student is ready to study.

Signing up class for a course

For the time being any class admin can simply sign up the class for any course. A class can be signed up for any number of courses, even to multiple versions of a same course.