Laravel connector for OpenEdx Learning Management System.
Via Composer
$ composer require ngunyimacharia/laravel-openedx
-
Run
php artisan vendor:publish
to push the configuration file for the package. This file will be saved asopenedx.php
-
Configure the following required values in your
.env
fileMICROSITE_BASE=example.com MICROSITE_URL=http(s)://example.com LMS_BASE=https://courses.example.com CMS_BASE=https://studio.courses.example.com LMS_REGISTRATION_URL=https://courses.example.com/user_api/v1/account/registration/ LMS_LOGIN_URL=https://courses.example.com/user_api/v1/account/login_session/ LMS_RESET_PASSWORD_PAGE=https://courses.example.com/user_api/v1/account/password_reset/ LMS_RESET_PASSWORD_API_URL=https://courses.example.com/user_api/v1/account/password_change/ (custom configured) REGISTER_EMAIL_FIELD=register_email REGISTER_PASSWORD_FIELD=register_password LOGIN_EMAIL_FIELD=login_email LOGIN_PASSWORD_FIELD=login_password EDX_DB_HOST=127.0.0.1 EDX_DB_USERNAME=root EDX_DB_PASSWORD=password EDX_KEY=xxxxxxxxx (for api access) EDX_SECRET=xxxxxxxxx (for api access)
Add openedx facade to file
use ngunyimacharia\openedx\Facades\openedx;
Openedx::register([
'first_name'=>$first_name,
'last_name'=>$last_name,
'username'=>$username,
'email'=> $email,
'password'=> $hashed_password
]);
Response: Boolean (if operation is successful)
Openedx::login(['username' => $username', 'password' => $password']);
Response: Cookies saved to ensure sign-in.
Openedx::logout()
Response: Boolean (if operation is successful
NB: It is recommended to create an iframe to call the LMS logout url as opposed to using this method to logout of the LMS.
Openedx::getCourses()
Response: Array of all courses currently in LMS
Openedx::getOverview($courseId)
Response: Course overview
Openedx::checkEnrollmentStatus($courseId)
Response: Enrollment status of current authenticated user for the course specified.
Openedx::enroll($courseId)
Response: Boolean (Based on success of operation)
Openedx::enrollments()
Response: Array of all course enrollments LMS wide.
Openedx::getCourseProgress($courseId)
Response: String status of authenticated user in current course.
Please see the changelog for more information on what has changed recently.
$ composer test
Please see contributing.md for details and a todolist.
If you discover any security related issues, please email author email instead of using the issue tracker.
Please see the license file for more information.