Open Edx provides key features that can be used as a starting point for Beatest MOOC E-Learning.
Instructors can be manually registered using django admin panel. Then they have access to create courses. These courses will be published by beatest administrators.
Core aspects include Assignments, Videos, Discussions, Quizzes. They will be used out of the box as is.
The current login system will be completely redesigned to work with SSO(Single Sign on). A tentative workflow of SSO may involve the following steps:
- User presses sign-in on edx
- A redirect to Parent website occurs and user signs in there
- Redirect back to edx occurs with a signed payload containing user details
- Edx checks the signed payload, creates a user if not already exists, or updates information.
For details of SSO implemented on another platform, go to http://docs.beatest.in/api-v0.1/Discourse/
Steps 1, 2 and 4 will require core changes in Edx platform. The django authentication module may be helpful.
To allow seamless integration between purchases on parent website and Edx, A rest API is required to allow for the following features:
- Add user to a particular Group (E.g. add a user to 'trial user' group)
- Remove user from a group
When a payment is made on the parent website, it will use this rest api to inform Edx about that purchase. Then Edx can allow access for the respective course.
This API should allow flexibility for additional functionality that may be implemented later on.
Links to several pages will need to be changed. Button functionality will require modification. Some button functionality changes include:
- Redirect user to Parent website payment gateway when user clicks on purchase course in Edx
- Sign In button performs SSO instead of Edx Sign in
Several other branding changes will be required. They will be updated as they are discovered.
Features marked under [1] are the minimum requirements to calculate feasibility of Edx integration.
Features marked under [2] should be implemented only after all features under [1] are completed.