To be able to connect to a learning management system (LMS) and view and manage the courses provided by a LMS is an essential feature of the SEB Server.
Usually this API comes as a REST or SOAP API with the core LMS implementation.
SEB Server supports this course API's so far:
- Open edX: The standard system `Open edX REST API <https://courses.edx.org/api-docs/>`_. The SEB Server uses the "courses" endpoints to get course data.
- Moodle: The standard system `Moodle REST API <https://docs.moodle.org/dev/Web_service_API_functions>`_. The SEB Server uses the "core_course" endpoints to get course data.
A SEB Server administrator role will be able to see the institution to which the LMS Setup belongs to while an institutional administrator
is only able to see and create LMS Setup for its own institution. The name of the LMS Setup should be unique and is to identify a LMS
SEB Server internally. Use the "Type" selector to specify the type of the LMS to bind to the SEB Server within the LMS Setup. Currently supported are:
- Testing: This is for testing purposes only and can be used to mock a LMS to test exam settings. This type provides some mock-up courses within the
LMS API of the SEB Server that can be seen in the LMS Exam Lookup once the LMS text setup is active. This mock-up courses can be imported and configuraed
as exams like they would exist. But note the a SEB client that is trying to connect to such a course would not be able to connect to the LMS since it
is not existing. But a SEB client is able to download the defined exam configuration for testing.
- Open edX: This type is to bind an existing `Open edX <https://open.edx.org/>`_ LMS system that is available on the Internet or intranet. The SEB
Server tries to make use of the described API's of the Open edX system and if the automated SEB restriction feature wanted to be used the
:ref:`lms-setup-edx-plugin-label` must be installed properly within the LMS.
- Moodle: This type is to bind an existing `Moodle <https://moodle.org//>`_ LMS system that is available on the Internet or intranet. The SEB
Server tries to make use of the described API's of the Moodle system but there is currently no SEB restriction plugin available that works
with SEB Server.
The "LMS Server Address" is the root URL to connect to the LMS server with HTTP over the Internet or intranet. This is usually the the URL that is
also used with the Browser to connect to the main page of the LMS system. And additionally the credentials that has been created with the creation of the :ref:`lms-api-account-label` has to be set in the LMS Setup the make the SEB Server
able to securely connect to te LMS. The API credentials that consists of a client-name and a client-secret must be used with the "LMS Server Username"
and the "LMS Server Password" fields of the LMS Setup form on SEB Server.
If the SEB Server running behind a proxy server or a firewall between SEB Server den LMS, the additional proxy settings can be used to setup the proxy-connection.
..note::
To Setup a Test LMS Setup (of type "Test") only a correct URL pattern must be set like "http://test" for example. And API credentials can be anything but must be set.
A new Open edX system has been installed within your institution and to be able to use the system also for e-assessments with SEB and SEB Server,
you have to bind the LMS to the SEB Server.
- If not already done, install the :ref:`lms-setup-edx-plugin-label` on the Open edX system first.
- On the Open edX system create an :ref:`lms-api-account-edx-label`.
- Sign into SEB Server with your institutional administrator role account.
- Navigate to "Exam Administration" / "LMS Setup" within the navigation on the left hand side.
- Use the "Add LMS Setup" action from the right action pane to open a LMS Setup creation form.
- Give a unique name to the new LMS Setup for internally identification.
- Set the main URL that points to the new LMS system. This is usually the the URL that is also used with the Browser to connect to the main page of the LMS system
- Set the API credentials that has been creates within step two.
- Use the "Activate LMS Setup" action on the right action pane to test, save and activate the new LMS Setup within one step.
..note::
If some form attributes are missing or not correct, the SEB Server system will respond with the usual form validation errors.
If the connection to the LMS is failing because of missing or wrong credentials or for any other reason the system is not able to connect to the LMS
the SEB Server will notify a error dialog to the user.
The API access account on the LMS has been expired and you have to create a new one or update the old one which both result in new API access credentials
that has to be set on the existing LMS Setup on the SEB Server.
- Sign into SEB Server with your institutional administrator role account.
- Navigate to "Exam Administration" / "LMS Setup" within the navigation on the left hand side.
- Use the Filter above the list to find the specified LMS Setup.
- Select the LMS Setup from the list and use the "Edit LMS Setup" action from the right action pane to open the LMS Setup in edit mode.
- Set the new credentials and make sure, the LMS Setup is still active.
- Use the "Save LMS Setup" action form the right action pane to save the changes and test the conneciton.
..note::
If some form attributes are missing or not correct, the SEB Server system will respond with the usual form validation errors.
If the connection to the LMS is failing because of missing or wrong credentials or for any other reason the system is not able to connect to the LMS
the SEB Server will notify a error dialog to the user.
**Deactivate LMS Setup**
A LMS system that was running on your campus to provide e-assessment with SEB and SEB Server has been shout-down and you need to also deactivate
the setup and exams on the SEB Server for this LMS.
Sign into SEB Server with your institutional administrator role account.
- Navigate to "Exam Administration" / "LMS Setup" within the navigation on the left hand side.
- Use the Filter above the list to find the specified LMS Setup.
- Select the specified LMS Setup from the list and use the "Deactivate LMS Setup" action from the right action pane.
- Alternatively you can also double-click on the LMS Setup to fist go into the detailed view of the LMS setup and use the "Deactivate LMS Setup" action there.
- The system informs you about the number of depending exams that also will be deactivated within the deactivation of the LMS Setup.
- Confirm the deactivation and notify that the LMS Setup now is listed as "Inactive" in the list.
- Navigate to "LMS Exam Lookup" to make sure the courses form the deactivated LMS Setup are not available anymore.
- Navigate also to "Exam" and make sure that all previously imported exams from the deactivated LMS Setup are not available anymore.
- Create a new User-Account that acts as an API account. The account must at least have the permissions to query the course API of Open edX and to access the seb_openedx plugin permission.
- Make sure that "Staff" status is checked for the account.
- Back in the administration homepage, find the OAUT2 - Client section and create a new API Client Access for the given User-Account. The Client id and Client secret are automatically generated by Open edx.
Once the client registration was successful the client id and client secret can be used within the SEB Server to access the course- and SEB-restriction API of Open edX as described in the next step section