preparing for release 2.0 docu

This commit is contained in:
anhefti 2024-08-29 14:14:57 +02:00
parent 9e25ee7c9a
commit 018e9f3f7b
6 changed files with 398 additions and 275 deletions

View file

@ -46,53 +46,10 @@ a more automated and secure setup for high-stake exams.
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-1.5/docs/images/setup_1.png
SEB Server Version 1.6 is out
SEB Server Version 2.0 is out
-------------------------------
New Features:
- Connection Configuration: New possibility to select existing Exams for a Connection Configuration.
- Exam: New Possibility to create an exam without LMS/Assessment Tool integration but with direct SEB link.
- Exam Configuration: Batch Delete Action.
- Exam Configuration: Added new SEB Settings from actual SEB Versions.
- Exam: Possibility to apply SEB Settings quit-passwords within the Exam Import or creation of an Exam.
- Monitoring: Two new Filter for ASK and SEB Client Version check.
- Monitoring: IP Changes of SEB clients during active session are not prevented but logged now with SEB logs.
Improvements:
- SEB Server Setup: Default Time-Zone also globally configurable besides per user.
- Exam Configuration Import: No import of hashed password any more. Preset hashed password form imported files gets deleted or reset.
- Configuration Template: Lists contains more entries, better usability.
- Exam: New force delete functionality if an Exam cannot be deleted regularly (mostly caused by LMS Setup disconnection).
- Exam: Added confirmation dialogue on Indicator deletion attempt.
- SEB Server: Log improvements.
- User Account: Possibility to setup SEB Server to set newly registered Users inactive for better control of user registration.
- User Access: Define and Implement new SEB Server feature concept that will provide dedicated user role privileges in the future.
Bugfixes:
- Exam: fixed, LMS/Assessment Tool data update end-time cannot be reset to null.
- SEB Client Connection: Fixed handshake finishing for SEBs that got missing during handshake. SEB Server invalidates unfinished handshakes now.
- Exam - SEB Restriction Details: Additional BEK is not sent to Moodle immediately.
- LMS Integration: OLAT Integration seems to not work correctly with new OLAT version any-more.
- LMS Integration: SEB Lock is not applied, when importing exam using a template.
- LMS Integration: Semicolon in short name of a course in Moodle leads to error message when importing an exam.
- LMS Lookup: Illegal Thread Access Error on LMS Lookup Page.
- Monitoring: ASK: List of sent ASK per SEB Client sometimes shows empty rows.
- Monitoring: SEB Version check caching issue .
- Monitoring: Low page load on sorted SEB connection table for finished or archived exams.
- Monitoring: Monitoring table selection stick to actual selection when updating.
- Forms: Password plaintext view: special chars are masked incorrectly.
- Configuration Template: Wrong deletions on SEB Server update with migration.
Docker-Image:
Exact release version: docker pull anhefti/seb-server:v1.6.0 (sha256:878f411ee3df84019f2b167ad4fd29ecad77c90063b2ced4e16e69edab74805e)
Stable minor version: docker pull anhefti/seb-server:v1.6-stable
TODO
SEB - SEB Server Compatibility
@ -101,24 +58,14 @@ SEB - SEB Server Compatibility
The table below shows available and upcoming SEB client versions that has SEB Server integration support and are compatible with particular
SEB Server versions. There is an entry for each platform with a beta or testing release date and an official release date.
**SEB Server Version 1.6.X**
**SEB Server Version 2.0.x
.. csv-table::
:header: "Platform / OS", "Release Version"
"SEB Client for iOS", "3.3.2"
"SEB Client for Mac", "3.3.2"
"SEB Client for Windows", "3.7.0"
**SEB Server Version 1.5.X**
.. csv-table::
:header: "Platform / OS", "Beta/RC Version", "Release Version"
"SEB Client for iOS", "ASK: 3.3", "3.1 (ASK: 3.3)"
"SEB Client for Mac", "ASK: 3.3pre", "3.1 (Zoom: 3.2/ASK: 3.3)"
"SEB Client for Windows", "--", "3.5.0 "
"SEB Client for iOS", "3.4 (3.3.3 without screen proctoring)"
"SEB Client for Mac", "3.4"
"SEB Client for Windows", "3.8"
Install SEB Server
------------------

16
docs/lms_ans.rst Normal file
View file

@ -0,0 +1,16 @@
SEB Server Ans Delft Integration
===============================
The `Ans Delft <https://ans.app>`_ Assessment Tool can be integrated with SEB Server for the most common features like
- Course Access
- SEB Course Restriction
- Login Name Resolving
SEB Server uses the existing `Ans Delft API <https://ans.app/api/docs/index.html>`_ to apply the integration.
As usual you need a valid Ans client API account from Ans Delft to be able to connect SEB Server with your
Ans server. Please create or request such an account from the Ans team, and use either the given credentials or
a given access-token to connect SEB Server to the Ans API.
All the above listed Assessment Tool integration features should then work as described within SEB Server.

130
docs/lms_edx.rst Normal file
View file

@ -0,0 +1,130 @@
.. _lms-api-account-edx-label:
SEB Server Open edX Integration
===============================
SEB Server integrates with Open edX standard API for the following features:
- Course Access
- Login Name Resolving
.. note::
If you want to use the automated SEB Client Restriction feature too, the `Open edX SEB Plugin <https://seb-server.readthedocs.io/en/latest/lmssetup.html#lms-setup-rest-plugin-label>`_ must be installed properly on the Assessment Tool.
Also refer to the Open edX API documentation for more information about the `Open edX REST API <https://courses.edx.org/api-docs/>`_
Create Open edX API Access Account
-----------------------------------
To be able to create an API access-account on Open edX you need a user-account with staff and administration privileges.
**For Open edX Hawthorn and Ironwood versions following the steps below::**
- Login to Open edX Assessment Tool Administration with an appropriate user-account that has administration rights. And find the Users section:
.. image:: images/lmssetup/openEdxAPIAccess1.bmp
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/openEdxAPIAccess1.bmp
- 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.
.. image:: images/lmssetup/openEdxAPIAccess2.bmp
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/openEdxAPIAccess2.bmp
- 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.
.. image:: images/lmssetup/openEdxAPIAccess3.bmp
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/openEdxAPIAccess3.bmp
.. image:: images/lmssetup/openEdxAPIAccess4.bmp
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/openEdxAPIAccess4.bmp
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
.. note::
Since Open edX Juniper is using Django Oauth Toolkit instead of Django Oauth Provider the last step in the above guide looks slightly different. Please see below the last step for setting up on an Open edX Juniper version.
- Back in the administration homepage, find the DJANGO OAUTH TOOLKIT - Applications section and create a new API Application Access for the given User-Account. The Client id can be defined and the Client secret is automatically be generated by Open edx.
.. image:: images/lmssetup/openEdxAPIAccess5.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/lmssetup/openEdxAPIAccess5.png
.. image:: images/lmssetup/openEdxAPIAccess6.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/lmssetup/openEdxAPIAccess6.png
.. _lms-setup-rest-plugin-label:
Install SEB restriction API plugin
----------------------------------
.. _lms-setup-edx-plugin-label:
**Open edX SEB Plugin**
There is a SEB integration plugin developed and supported by `eduNEXT <https://www.edunext.co/>`_.
- `Documentation <https://seb-openedx.readthedocs.io/en/latest/>`_
- `Repository <https://github.com/eduNEXT/seb-openedx>`_
.. _lms-setup-moodle-plugin-label:
**Moodle Plugin for SEB Server**
There is a new SEB Server integration plugin for Moodle available since SEB Server 1.5 that can be used with the Assessment Tool Setup type Moodle with SEB Server Plugin.
This Plugin supports and improves all common SEB Server Assessment Tool binding features such as Course-Access, SEB Restriction and Assessment Tool Session Name Resolving.
It is also planed to extend and improve this plugin with new Moodle specific feature for further releases of SEB Server.
- `Documentation <https://github.com/ethz-let/moodle-quizzaccess_sebserver>`_
- `Repository <https://github.com/ethz-let/moodle-quizzaccess_sebserver>`_
Create a new Assessment Tool Setup for Open edX
-----------------------------------------------
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 Assessment Tool to the SEB Server.
- If not already done, install the `Open edX SEB Plugin <https://seb-server.readthedocs.io/en/latest/lmssetup.html#lms-setup-rest-plugin-label>`_ on the Open edX system first.
- If you don't already have an API access account on Open edX side, `create one <https://seb-server.readthedocs.io/en/latest/lmssetup.html#lms-api-account-edx-label>`_
- Sign into SEB Server with your institutional administrator role account.
- Navigate to "Exam Administration" / "Assessment Tool Setup" within the navigation on the left hand side.
- Use the "Add Assessment Tool Setup" action from the right action pane to open a Assessment Tool Setup creation form.
- Give a unique name to the new Assessment Tool Setup for internally identification.
- Set the main URL that points to the new Assessment Tool system. This is usually the URL that is also used with the Browser to connect to the main page of the Assessment Tool system
- Set the API credentials that has been creates within step two (client-id, secret).
- Use the "Activate Assessment Tool Setup" action on the right action pane to test, save and activate the new Assessment Tool 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 Assessment Tool is failing because of missing or wrong credentials or for any other reason the system is not able to connect to the Assessment Tool
the SEB Server will notify an error dialog to the user.
**Change API Credentials of an Active Assessment Tool Setup**
The API access account on the Assessment Tool 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 Assessment Tool Setup on the SEB Server.
.. image:: images/lmssetup/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/list.png
- Sign into SEB Server with your institutional administrator role account.
- Navigate to "Exam Administration" / "Assessment Tool Setup" within the navigation on the left hand side.
- Use the Filter above the list to find the specified Assessment Tool Setup.
- Select the Assessment Tool Setup from the list and use the "Edit Assessment Tool Setup" action from the right action pane to open the Assessment Tool Setup in edit mode.
- Set the new credentials and make sure, the Assessment Tool Setup is still active.
- Use the "Save Assessment Tool Setup" action form the right action pane to save the changes and test the connection.
.. 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 Assessment Tool is failing because of missing or wrong credentials or for any other reason the system is not able to connect to the Assessment Tool
the SEB Server will notify an error dialog to the user.

168
docs/lms_moodle.rst Normal file
View file

@ -0,0 +1,168 @@
SEB Server Moodle Integration
===============================
SEB Server has two different Moodle integration methods or features. One for bare Moodle without any additional Plugin
installed and one for Moodle instances that has the SEB Server Moodle Plugin installed.
For more information about the Moodle standard Rest API, please also have a look at: `Moodle REST API <https://docs.moodle.org/dev/Web_service_API_functions>`_
Moodle without SEB Server Plugin
---------------------------------
Without any plugin, Moodle supports the following standard integration features:
- Course Access
- SEB Course Restriction
.. note::
If you want to use Moodle with SEB Server, we recommend to install the new Moodle Plugin for SEB Server for better integration with Moodle.
This plugin comes with the common SEB Server integration features and improved Moodle binding. For more information see the section below.
** Moodle Client API Account**
To be able to create an Assessment Tool Setup for Moodle you need a Moodle API client account. You can then use this account in the Assessment Tool Setup to connect to the Assessment Tool.
Since SEB Server uses some functions from the Moodle's mobile API, you have to make sure the web services for mobile apps are enabled within your Moodle setup.
To do so please login to Moodle with an administrator account and go to "Side Administration", scroll down to "Mobile App" and choose "Mobile Settings.
.. image:: images/lmssetup/moodle_mobile.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/lmssetup/moodle_mobile.png
If you have a restrictive Moodle setup and troubles with the Moodle API account to use with SEB Server, please try to import the following
Moodle role profile within your Moodle instance. This profile will create a SEB Server role within Moodle that can be used to apply to an
API account to be used with SEB Server. The role defines only the necessary privileges and functions needed for SEB Server communication.
Moodle role and account settings: :download:`XML <files/webservice_seb-server.xml>`
Moodle with new SEB Server Plugin 2.0
--------------------------------------
For SEB Server version 2.0 there is also a new version of the Moodle SEB Server Plugin 2.0 that can be installed on Moodle
and has many new features to integrate even more with SEB Server as the existing version 1.0.the
.. note::
We strongly recommend to update to the newest Moodle SEB Server Plugin version 2.0 for SEB Server version 2.0. The older
plugin version 1.0 might still work as expected but we cannot guarantee that and also version 1.0 will not be supported
anymore. If you still have the old version of Moodle SEB Server Plugin 1.0 installed, SEB Server would recognize this and
inform you about this when testing or creating a new Assessment Tool Setup for Moodle with Plugin.
We also recommend to make a transition from existing Assessment Tool Setups with old Plugin to new Assessment Tool Setup with new Moodle Plugin.
This would mean that you delete all existing Assessment Tool Setups with Moodle (after archived your Exams you want to hold on SEB Server).
And after deletion of old Assessment Tools Setup with Moodle Plugin, install the new Moodle Plugin on Moodle site and setup
the Assessment Tool Setup for it in SEB Server.
The SEB Server Moodle Plugin 2.0 still supports the usual functionality:
- Course Access
- SEB Course Restriction
- Login Name Resolving
Additionally the full Moodle integration also comes with the following new features:
- SEB Server Admin can prepare Exam Template that can be used by Moodle Teacher Account to import Exams from Moodle site
- Moodle Teacher Account can automatically import an Exam on SEB Server from Moodle without having to go the SEB Server
- Moodle Teacher Account can automatically login to SEB Server Monitoring for a running quiz from Moodle site
- Moodle Teacher Account can also monitor the screen proctoring of a running quiz if available
To create or get a proper Moodle API Client account that is needed to connect SEB Server to Moodle, please have a look
at the above chapter ** Moodle Client API Account**
.. note::
One important change with Moodle SEB Server Plugin 2.0 comes with the fact that for this version it is only possible
to bind a Moodle instance to one SEB Server instance. It is not possible anymore to bind to the same Moodle from
different SEB Server instances or to bind the same Moodle instance twice for a singe SEB Server instance. This is due
to the full integration of SEB Server to Moodle and that Moodle can operate on a bound SEB Server.
For more information about the SEB Server Moodle Plugin and installation, please visit the following sites:
- `Documentation <https://github.com/ethz-let/moodle-quizzaccess_sebserver>`_
- `Repository <https://github.com/ethz-let/moodle-quizzaccess_sebserver>`_
**Usage of new SEB Server Moodle integration features**
After you have successfully applied a Assessment Tool Setup for Moodle with Plugin 2.0, you can now use the new integration
features among the other usual features like Course Access, SEB Client Restriction and Login Name Resolving.Plugin
A SEB Server Exam Admin can now create and mark Exam Templates that are then recognized by Moodle for later selection.
So a Exam Administrator is able to create a set of Exam Templates that then will be able to choose from a Moodle Teacher
when he/she sets up a quiz in Moodle. The following images shows the setting that indicated a Exam Template for use with
Moodle integration:
.. image:: images/moodle_full/exam_template.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/moodle_full/exam_template.png
On the Moodle site, a Teacher can then create a new quiz within a course:
.. image:: images/moodle_full/moodle_new1.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/moodle_full/moodle_new1.png
An within the quiz settings a Moodle Teacher should see a new settings sections "SEB Server" among with the already known
"Safe Exam Browser" section:
.. image:: images/moodle_full/moodle1.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/moodle_full/moodle1.png
If a Moodle Teacher wants to setup an Exam with SEB Server for the quiz, he/she can now activate SEB Server integration
for that quiz by selecting "yes" for "Enable SEB Server". The "Safe Exam Browser" section will then automatically switch
to the right settings to use with SEB Server.with
.. image:: images/moodle_full/moodle2.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/moodle_full/moodle2.png
Now the Moodle Teacher can select from the available Exam Templates that has been prepared and marked for Assessment Tool
use on SEB Server site. The Moodle Teacher can also enable a SEB quit button or quit-link and set a SEB quit password for the Exam.
After saving all the settings, this might take a while, Moodle automatically imports the Exam for the quiz within SEB Server
and applies all the presetting from the selected Exam Template. When the Exam is running also the SEB Client Restriction
is automatically set on the Exam. If the Exam is not running yet, the SEB Client Restriction will be set from SEB Server
as soon as the Exam becomes running.
.. image:: images/moodle_full/imported_exam.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/moodle_full/imported_exam.png
After all this has successfully been created and applied, the Moodle Teacher can go to the quit preview and sees the following
features:
.. image:: images/moodle_full/moodle3.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/moodle_full/moodle3.png
In the students view, the student will only see the two buttons:
- Start Safe Exam Browser: This installs and starts the SEB Client for the student
- Download SEB Server configuration file: This will download the SEB Server configuration file and start it with SEB
Only the Moodle Teacher is able to see the third button:
- SEB Server monitoring: This opens up an autologin for the Teacher to SEB ServerMonitoring within a new browser tab.student
SEB Server therefore creates an ad-hoc teacher role account on SEB Server site for this teacher. The Teacher is able to see
the monitoring if its exams as well as screen proctoring monitoring and search for all the exams he/she has created from
Moodle site.
.. image:: images/moodle_full/teacher_autologin.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/moodle_full/teacher_autologin.png
An already imported Exam can also be deleted either from the SEB Server side or from the Moodle side. On the SEB Server
site, a Exam Administrator can just delete the Exam as usual and SEB Server would reset all the integration settings
in Moodle for the respective quiz.
.. image:: images/moodle_full/delete_exam.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/moodle_full/delete_exam.png
While on the Moodle side, a Moodle Teacher can disable SEB Server for a particular quiz and Moodle will trigger a deletion
of the Exam on SEB Server and also reset all SEB Server settings on Moodle side.
.. image:: images/moodle_full/delete_exam_moodle.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/moodle_full/delete_exam_moodle.png

14
docs/lms_olat.rst Normal file
View file

@ -0,0 +1,14 @@
SEB Server OLAT Integration
===============================
The `OLAT <https://www.olat.org/>`_ Assessment Tool can be integrated with SEB Server for the most common features:
- Course Access
- SEB Course Restriction
- Login Name Resolving
SEB Server integration with OLAT was built with close coworking with the OLAT development team and uses the
existing OLAT API to apply the integration. As usual you need a valid client API account from you OLAT server instance
to be able to connect SEB Server. Please create or request such an account from the OLAT team, and use either the
given credentials or a given access-token to connect SEB Server to the Ans API.

View file

@ -1,265 +1,113 @@
.. _lms-setup-label:
Learning Management System Setup
Assessment Tool Setup
================================
Overview
--------
To be able to connect to a learning management system (LMS/Assessment Tool), to view and manage the courses provided by a LMS/Assessment Tool is an essential feature of the SEB Server.
To setup an exam or e-assessment for SEB on SEB Server that is based on a course from a LMS/Assessment Tool, we have to make a binding to the course on the LMS/Assessment Tool.
This is also used to always get the actual course data from LMS/Assessment Tool like start- end-time, name and others.
Another feature of SEB Server that needs a LMS/Assessment Tool communication is the SEB restriction. A SEB restriction will restrict course access on the LMS/Assessment Tool only
To be able to connect to a learning management system (Assessment Tool), to view and manage the courses provided by a Assessment Tool is an essential feature of the SEB Server.
To setup an exam or e-assessment for SEB on SEB Server that is based on a course from a Assessment Tool, we have to make a binding to the course on the Assessment Tool.
This is also used to always get the actual course data from Assessment Tool like start- end-time, name and others.
Another feature of SEB Server that needs a Assessment Tool communication is the SEB restriction. A SEB restriction will restrict course access on the Assessment Tool only
for connection with Safe Exam Browser and will also check if a Safe Exam Browser of trust is used and the right configuration is used by the
Safe Exam Browser that was defines for the exam on the SEB Server.
**Course API**
This API, provided by the LMS/Assessment Tool, is used by the SEB Server to query the available courses and the needed data for each course. This API
is needed to be able to import a course from the LMS/Assessment Tool as an exam into SEB Server and configure the course as an e-assessment with SEB.
Usually this API comes as a REST or SOAP API with the core LMS/Assessment Tool implementation or a plugin.
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 (Course Access): The standard system `Moodle REST API <https://docs.moodle.org/dev/Web_service_API_functions>`_. The SEB Server uses the standard Moodle rest endpoints to get course data.
Please note that a second Moodle integration part for SEB access restriction with Config-Key will follow together with a Moodle plugin in a future version of SEB Server
This API, provided by the Assessment Tool, is used by the SEB Server to query the available courses and the needed data for each course. This API
is needed to be able to import a course from the Assessment Tool as an exam into SEB Server and configure the course as an e-assessment with SEB.
Usually this API comes as a REST or SOAP API with the core Assessment Tool implementation or a plugin.
**SEB Restriction API**
If the automated SEB restriction functionality is available for a LMS/Assessment Tool depends on the following requirements:
If the automated SEB restriction functionality is available for a Assessment Tool depends on the following requirements:
- There must exist a SEB integration plugin that offers an API to put and pull SEB restrictions in the form of Config-Keys and/or Browser-Exam-Keys
To the LMS/Assessment Tool and a specific course on the LMS/Assessment Tool to restrict the access. Such a plugin may also offer additional restriction features like restricting
To the Assessment Tool and a specific course on the Assessment Tool to restrict the access. Such a plugin may also offer additional restriction features like restricting
on course section or course components or only for specified user roles.
- The SEB integration plugin must be installed on the LMS/Assessment Tool that is used by the SEB Server.
- The SEB integration plugin must be installed on the Assessment Tool that is used by the SEB Server.
For more information about known SEB integration plugins that are supported by the SEB Server see :ref:`lms-setup-rest-plugin-label`
For more information about known SEB integration plugins that are supported by the SEB Server see the respective Assessment Tool integration section.
Regardless if a supported LMS/Assessment Tool is missing the SEB integration plugin installation, the LMS/Assessment Tool can be used with the Course API and an exam
Regardless if a supported Assessment Tool is missing the SEB integration plugin installation, the Assessment Tool can be used with the Course API and an exam
setup will be possible but without automated SEB restriction feature.
To be able to connect to an LMS/Assessment Tool from SEB Server, we need to create an API access account on the LMS/Assessment Tool side that can be used by the SEB Server to
access the API of the LMS/Assessment Tool. How to do this for the different supported types of LMS/Assessment Tool see :ref:`lms-api-account-label`.
After such an account was created, the account credentials, username and password, can be used by the SEB Server to connect to the LMS/Assessment Tool.
Therefore we need to create a LMS/Assessment Tool Setup on the SEB Server.
To be able to connect to an Assessment Tool from SEB Server, we need to create an API access account on the Assessment Tool side that can be used by the SEB Server to
access the API of the Assessment Tool. How to do this for the different supported types of Assessment Tool see :ref:`lms-api-account-label`.
After such an account was created, the account credentials, username and password, can be used by the SEB Server to connect to the Assessment Tool.
Therefore we need to create a Assessment Tool Setup on the SEB Server.
.. image:: images/lmssetup/new.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/new.png
A SEB Server administrator role will be able to see the institution to which the LMS/Assessment Tool Setup belongs to while an institutional administrator
is only able to see and create LMS/Assessment Tool Setup for its own institution. The name of the LMS/Assessment Tool Setup should be unique and is to identify a LMS/Assessment Tool
SEB Server internally. Use the **"Type"** selector to specify the type of the LMS/Assessment Tool to bind to the SEB Server within the LMS/Assessment Tool Setup. Currently supported are:
A SEB Server administrator role will be able to see the institution to which the Assessment Tool Setup belongs to while an institutional administrator
is only able to see and create Assessment Tool Setup for its own institution. The name of the Assessment Tool Setup should be unique and is to identify a Assessment Tool
SEB Server internally. Use the **"Type"** selector to specify the type of the Assessment Tool to bind to the SEB Server within the Assessment Tool Setup. Currently supported are:
- **Testing**: This is for testing purposes only and can be used to mock a LMS/Assessment Tool to test exam settings. This type provides some mock-up courses within the
LMS/Assessment Tool API of the SEB Server that can be seen in the LMS/Assessment Tool Exam Lookup once the LMS/Assessment Tool text setup is active. This mock-up courses can be imported and configured
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/Assessment Tool since it
- **Testing**: This is for testing purposes only and can be used to mock a Assessment Tool to test exam settings. This type provides some mock-up courses within the
Assessment Tool API of the SEB Server that can be seen in the Assessment Tool Exam Lookup once the Assessment Tool text setup is active. This mock-up courses can be imported and configured
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 Assessment Tool 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/Assessment Tool system that is available on the Internet or intranet. The SEB
Server tries to make use of the above described API's of the Open edX system.
.. note::
If you want to use the automated SEB restriction feature too, the `Open edX SEB Plugin <https://seb-server.readthedocs.io/en/latest/lmssetup.html#lms-setup-rest-plugin-label>`_ must be installed properly on the LMS/Assessment Tool.
- **Moodle**: This type is to bind an existing `Moodle <https://moodle.org//>`_ LMS/Assessment Tool 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. Note that Moodle integration is implemented partially within SEB Server version 1.1.x. Only the course access feature is implemented and the course restriction feature will come with a future SEB Server release
- **Open edX**: This type is to bind an existing `Open edX <https://open.edx.org/>`_ Assessment Tool system that is available on the Internet or intranet.
- **Moodle**: This type is to bind an existing `Moodle <https://moodle.org//>`_ Assessment Tool system that is available on the Internet or intranet.
- **Moodle with SEB Server Plugin**: This type is to bind SEB Server with an Moodle Assessment Tool that has SEB Server Plugin for Moodle <https://github.com/ethz-let/moodle-quizzaccess_sebserver>`_ installed.
- **Ans Delft**: This type is to bind SEB Server with an `Ans Delft <https://ans.app/>`_ Assessment Tool.
- **OLAT**: This type is to bind SEB Server with an `OLAT <https://www.olat.org/>`_ Assessment Tool.
- **Moodle with SEB Server Plugin**: The `SEB Server Plugin for Moodle <https://github.com/ethz-let/moodle-quizzaccess_sebserver>`_ is new and supported by SEB Server since version 1.5.
With this plugin installed on Moodle side, SEB Server is able to more efficiently communicate with Moodle to fetch course data as well as restricting the quiz on Moodle side
For SEB only access, using a auto-generated Browser Exam Key (BEK) for SEB restriction. Also the Moodle user name resolving for SEB Server monitoring is less error prone especially
if Single Sign On some kind of login provider for Moodle is involved. Furthermore the new SEB Server Plugin for Moodle will be constantly extended and improved with new features in the future.
The **"Assessment Tool Server Address"** is the root URL to connect to the Assessment Tool server with HTTP over the Internet or intranet. This is usually the URL that is
also used with the Browser to connect to the main page of the Assessment Tool system. And additionally the credentials that have been created with the creation of the :ref:`lms-api-account-label` has to be set in the Assessment Tool Setup the make the SEB Server
able to securely connect to the Assessment Tool. The API credentials that consists of a client-name and a client-secret must be used with the **"Assessment Tool Server Username"**
and the **"Assessment Tool Server Password"** fields of the Assessment Tool Setup form on SEB Server.
- **Ans Delft**: This type is to bind SEB Server with an `Ans Delft <https://ans.app/>`_ LMS/Assessment Tool. With the API credentials from an Ans Delft instance, SEB Server is able
to connect to the Ans LMS/Assessment Tool and provide the common features for Course-Access, SEB Restriction and LMS/Assessment Tool User Session resolving.
- **OLAT**: This type is to bind SEB Server with an `OLAT <https://www.olat.org/>`_ LMS/Assessment Tool. With the API credentials from an PéAT instance, SEB Server is able
to connect to the OLAT LMS/Assessment Tool and provide the common features for Course-Access, SEB Restriction and LMS/Assessment Tool User Session resolving. For more information please contact the OLAT Development-Team at `OLAT UZH <https://www.zi.uzh.ch/en/support/e-learning-and-examination/staff/olat.html>`_
The **"LMS/Assessment Tool Server Address"** is the root URL to connect to the LMS/Assessment Tool server with HTTP over the Internet or intranet. This is usually the URL that is
also used with the Browser to connect to the main page of the LMS/Assessment Tool system. And additionally the credentials that have been created with the creation of the :ref:`lms-api-account-label` has to be set in the LMS/Assessment Tool Setup the make the SEB Server
able to securely connect to the LMS/Assessment Tool. The API credentials that consists of a client-name and a client-secret must be used with the **"LMS/Assessment Tool Server Username"**
and the **"LMS/Assessment Tool Server Password"** fields of the LMS/Assessment Tool Setup form on SEB Server.
Alternatively to **"LMS/Assessment Tool Server Username"** and **"LMS/Assessment Tool Server Password"** you can use a direct **Access Token** to connect to the LMS/Assessment Tool API if the respective LMS/Assessment Tool allows to
Alternatively to **"Assessment Tool Server Username"** and **"Assessment Tool Server Password"** you can use a direct **Access Token** to connect to the Assessment Tool API if the respective Assessment Tool allows to
generate and use an access token directly.
If the SEB Server running behind a proxy server or a firewall between SEB Server den LMS/Assessment Tool, the additional proxy settings can be used to setup the proxy-connection.
If the SEB Server running behind a proxy server or a firewall between SEB Server den Assessment Tool, the additional proxy settings can be used to setup the proxy-connection.
.. note::
To Setup a Test LMS/Assessment Tool 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.
To Setup a Test Assessment Tool 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.
After all the settings for a LMS/Assessment Tool Setup have been set, one can use either the "Save LMS/Assessment Tool Setup" action to save the LMS/Assessment Tool Setup without activation or the
"Activate LMS/Assessment Tool Setup" action to also activate the settings right after they has been successfully saved. Anyway, for both action there is an initial test
that, additionally to the usual field validation that takes place first, tries to connect to the LMS/Assessment Tool with the given API details. If the connection
After all the settings for a Assessment Tool Setup have been set, one can use either the "Save Assessment Tool Setup" action to save the Assessment Tool Setup without activation or the
"Activate Assessment Tool Setup" action to also activate the settings right after they has been successfully saved. Anyway, for both action there is an initial test
that, additionally to the usual field validation that takes place first, tries to connect to the Assessment Tool with the given API details. If the connection
wasn't successful, the SEB Server will inform the user about a possible reason of failure. Otherwise SEB Server shows a success message and the created
LMS/Assessment Tool Setup can be used.
Assessment Tool Setup can be used.
Use the "Activate / Deactivate LMS/Assessment Tool Setup" action to activate an inactive LMS/Assessment Tool Setup or the deactivate an active LMS/Assessment Tool Setup.
Use the "Activate / Deactivate Assessment Tool Setup" action to activate an inactive Assessment Tool Setup or the deactivate an active Assessment Tool Setup.
.. note::
On deactivation of an LMS/Assessment Tool Setup, the system checks on depending object and will show a confirmation to the user asking that all depending
objects will also been deactivated. Depending objects of an LMS/Assessment Tool Setup are exams that has been imported from the specified LMS/Assessment Tool Setup in the past.
On deactivation of an Assessment Tool Setup, the system checks on depending object and will show a confirmation to the user asking that all depending
objects will also been deactivated. Depending objects of an Assessment Tool Setup are exams that has been imported from the specified Assessment Tool Setup in the past.
For detailed information for each Assessment Tool type and how to bind and use it with SEB Server, please refer to the respective section:
.. toctree::
:maxdepth: 1
lms_moodle
lms_edx
lms_olat
lms_ans
Use Cases
---------
**Create a new LMS/Assessment Tool Setup for Open edX**
**Deactivate Assessment Tool Setup**
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/Assessment Tool to the SEB Server.
- If not already done, install the `Open edX SEB Plugin <https://seb-server.readthedocs.io/en/latest/lmssetup.html#lms-setup-rest-plugin-label>`_ on the Open edX system first.
- If you don't already have an API access account on Open edX side, `create one <https://seb-server.readthedocs.io/en/latest/lmssetup.html#lms-api-account-edx-label>`_
- Sign into SEB Server with your institutional administrator role account.
- Navigate to "Exam Administration" / "LMS/Assessment Tool Setup" within the navigation on the left hand side.
- Use the "Add LMS/Assessment Tool Setup" action from the right action pane to open a LMS/Assessment Tool Setup creation form.
- Give a unique name to the new LMS/Assessment Tool Setup for internally identification.
- Set the main URL that points to the new LMS/Assessment Tool system. This is usually the URL that is also used with the Browser to connect to the main page of the LMS/Assessment Tool system
- Set the API credentials that has been creates within step two (client-id, secret).
- Use the "Activate LMS/Assessment Tool Setup" action on the right action pane to test, save and activate the new LMS/Assessment Tool 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/Assessment Tool is failing because of missing or wrong credentials or for any other reason the system is not able to connect to the LMS/Assessment Tool
the SEB Server will notify an error dialog to the user.
**Change API Credentials of an Active LMS/Assessment Tool Setup**
The API access account on the LMS/Assessment Tool 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/Assessment Tool Setup on the SEB Server.
.. image:: images/lmssetup/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/list.png
A Assessment Tool system that was running on your campus to provide e-assessment with SEB and SEB Server has been shut down and you need to also deactivate
the setup and exams on the SEB Server for this Assessment Tool.
- Sign into SEB Server with your institutional administrator role account.
- Navigate to "Exam Administration" / "LMS/Assessment Tool Setup" within the navigation on the left hand side.
- Use the Filter above the list to find the specified LMS/Assessment Tool Setup.
- Select the LMS/Assessment Tool Setup from the list and use the "Edit LMS/Assessment Tool Setup" action from the right action pane to open the LMS/Assessment Tool Setup in edit mode.
- Set the new credentials and make sure, the LMS/Assessment Tool Setup is still active.
- Use the "Save LMS/Assessment Tool Setup" action form the right action pane to save the changes and test the connection.
.. 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/Assessment Tool is failing because of missing or wrong credentials or for any other reason the system is not able to connect to the LMS/Assessment Tool
the SEB Server will notify an error dialog to the user.
**Deactivate LMS/Assessment Tool Setup**
A LMS/Assessment Tool system that was running on your campus to provide e-assessment with SEB and SEB Server has been shut down and you need to also deactivate
the setup and exams on the SEB Server for this LMS/Assessment Tool.
- Sign into SEB Server with your institutional administrator role account.
- Navigate to "Exam Administration" / "LMS/Assessment Tool Setup" within the navigation on the left hand side.
- Use the Filter above the list to find the specified LMS/Assessment Tool Setup.
- Select the specified LMS/Assessment Tool Setup from the list and use the "Deactivate LMS/Assessment Tool Setup" action from the right action pane.
- Alternatively you can also double-click on the LMS/Assessment Tool Setup to fist go into the detailed view of the LMS/Assessment Tool setup and use the "Deactivate LMS/Assessment Tool Setup" action there.
- The system informs you about the number of depending exams that also will be deactivated within the deactivation of the LMS/Assessment Tool Setup.
- Confirm the deactivation and notify that the LMS/Assessment Tool Setup now is listed as "Inactive" in the list.
- Navigate to "LMS/Assessment Tool Exam Lookup" to make sure the courses form the deactivated LMS/Assessment Tool Setup are not available anymore.
- Navigate also to "Exam" and make sure that all previously imported exams from the deactivated LMS/Assessment Tool Setup are not available anymore.
.. _lms-api-account-label:
API Access Account on LMS/Assessment Tool
--------------------------
.. _lms-api-account-edx-label:
**Create Open edX API Access Account**
To be able to create an API access-account on Open edX you need a user-account with staff and administration privileges.
**For Open edX Hawthorn and Ironwood versions following the steps below::**
- Login to Open edX LMS/Assessment Tool Administration with an appropriate user-account that has administration rights. And find the Users section:
.. image:: images/lmssetup/openEdxAPIAccess1.bmp
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/openEdxAPIAccess1.bmp
- 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.
.. image:: images/lmssetup/openEdxAPIAccess2.bmp
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/openEdxAPIAccess2.bmp
- 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.
.. image:: images/lmssetup/openEdxAPIAccess3.bmp
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/openEdxAPIAccess3.bmp
.. image:: images/lmssetup/openEdxAPIAccess4.bmp
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/lmssetup/openEdxAPIAccess4.bmp
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
.. note::
Since Open edX Juniper is using Django Oauth Toolkit instead of Django Oauth Provider the last step in the above guide looks slightly different. Please see below the last step for setting up on an Open edX Juniper version.
- Back in the administration homepage, find the DJANGO OAUTH TOOLKIT - Applications section and create a new API Application Access for the given User-Account. The Client id can be defined and the Client secret is automatically be generated by Open edx.
.. image:: images/lmssetup/openEdxAPIAccess5.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/lmssetup/openEdxAPIAccess5.png
.. image:: images/lmssetup/openEdxAPIAccess6.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/lmssetup/openEdxAPIAccess6.png
**Create Moodle API Access Account**
To be able to create an LMS/Assessment Tool Setup for Moodle you need a Moodle administrator or manager account. You can then use this account in the LMS/Assessment Tool Setup to connect to the LMS/Assessment Tool.
Since SEB Server uses some functions from the Moodle's mobile API, you have to make sure the web services for mobile apps are enabled within your Moodle setup.
To do so please login to Moodle with an administrator account and go to "Side Administration", scroll down to "Mobile App" and choose "Mobile Settings.
.. image:: images/lmssetup/moodle_mobile.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/documentation/docs/images/lmssetup/moodle_mobile.png
If you have a restrictive Moodle setup and troubles with the Moodle API account to use with SEB Server, please try to import the following
Moodle role profile within your Moodle instance. This profile will create a SEB Server role within Moodle that can be used to apply to an
API account to be used with SEB Server. The role defines only the necessary privileges and functions needed for SEB Server communication.
Moodle role and account settings: :download:`XML <files/webservice_seb-server.xml>`
.. note::
If you want to use Moodle with SEB Server, we recomend to install the new Moodle Plugin for SEB Server for better integration with Moodle.
This plugin comes with the common SEB Server integration features and improved Moodle bining. For more information see :ref:`lms-setup-moodle-plugin-label`
.. _lms-setup-rest-plugin-label:
Install SEB restriction API plugin
----------------------------------
.. _lms-setup-edx-plugin-label:
**Open edX SEB Plugin**
There is a SEB integration plugin developed and supported by `eduNEXT <https://www.edunext.co/>`_.
- `Documentation <https://seb-openedx.readthedocs.io/en/latest/>`_
- `Repository <https://github.com/eduNEXT/seb-openedx>`_
.. _lms-setup-moodle-plugin-label:
**Moodle Plugin for SEB Server**
There is a new SEB Server integration plugin for Moodle available since SEB Server 1.5 that can be used with the LMS/Assessment Tool Setup type Moodle with SEB Server Plugin.
This Plugin supports and improves all common SEB Server LMS/Assessment Tool binding features such as Course-Access, SEB Restriction and LMS/Assessment Tool Session Name Resolving.
It is also planed to extend and improve this plugin with new Moodle specific feature for further releases of SEB Server.
- `Documentation <https://github.com/ethz-let/moodle-quizzaccess_sebserver>`_
- `Repository <https://github.com/ethz-let/moodle-quizzaccess_sebserver>`_
- Navigate to "Exam Administration" / "Assessment Tool Setup" within the navigation on the left hand side.
- Use the Filter above the list to find the specified Assessment Tool Setup.
- Select the specified Assessment Tool Setup from the list and use the "Deactivate Assessment Tool Setup" action from the right action pane.
- Alternatively you can also double-click on the Assessment Tool Setup to fist go into the detailed view of the Assessment Tool setup and use the "Deactivate Assessment Tool Setup" action there.
- The system informs you about the number of depending exams that also will be deactivated within the deactivation of the Assessment Tool Setup.
- Confirm the deactivation and notify that the Assessment Tool Setup now is listed as "Inactive" in the list.
- Navigate to "Assessment Tool Exam Lookup" to make sure the courses form the deactivated Assessment Tool Setup are not available anymore.
- Navigate also to "Exam" and make sure that all previously imported exams from the deactivated Assessment Tool Setup are not available anymore.