Compare commits

...

36 commits

Author SHA1 Message Date
anhefti
0187f3a4a5 preparing for release 2.0.0 2024-09-02 14:47:14 +02:00
anhefti
d3ad1b64d0 preparing for release 2.0.0 2024-09-02 14:45:58 +02:00
anhefti
0019d948f6 preparing for release 2.0.0 2024-09-02 12:14:31 +02:00
anhefti
e56605f405 preparing for release 2.0.0 2024-09-02 12:08:35 +02:00
anhefti
ebb6f8f1b3 preparing for release 2.0 test run feature 2024-09-02 11:48:36 +02:00
anhefti
48b04b0679 preparing for release 2.0 test run feature 2024-08-29 16:24:31 +02:00
anhefti
cc77c03961 preparing for release 2.0 test run feature 2024-08-29 16:13:32 +02:00
anhefti
b3e47772d4 preparing for release 2.0 test run feature 2024-08-29 15:00:01 +02:00
anhefti
b03bd6e3f7 preparing for release 2.0 fixed image refs 2024-08-29 14:38:37 +02:00
anhefti
0244b775fd preparing for release 2.0 fixed image refs 2024-08-29 14:34:57 +02:00
anhefti
f4ac677ae6 preparing for release 2.0 fixed image refs 2024-08-29 14:29:17 +02:00
anhefti
018e9f3f7b preparing for release 2.0 docu 2024-08-29 14:14:57 +02:00
anhefti
9e25ee7c9a preparing for release 2.0 2024-08-29 08:05:20 +02:00
anhefti
cc27f9dd1d preparing for release 2.0 2024-08-29 07:57:29 +02:00
Nadim Ritter
c6999e79c3 proctoring docu add line breask 2024-08-28 14:56:45 +02:00
Nadim Ritter
047758cb9f correct typos in proctoring docu 2024-08-28 14:29:30 +02:00
NadimETH
cb20f6feb5
Merge pull request #136 from SafeExamBrowser/docu
Docu
2024-08-28 13:24:19 +02:00
Nadim Ritter
7f7ac3e378 Merge branch 'dev-2.0' of github.com:SafeExamBrowser/seb-server into docu 2024-08-28 13:23:17 +02:00
anhefti
081b9943e9 SEBSERV-574 fixed text 2024-08-27 13:36:08 +02:00
anhefti
9e70b39400 SEBSERV-574 2024-08-26 13:54:13 +02:00
anhefti
a7aedc58dc fixed some minor text issue 2024-08-22 11:50:16 +02:00
anhefti
ed48fad27c SEBSERV-581 fixed (skip for none LMS Exams) 2024-08-21 12:07:31 +02:00
anhefti
9e5a0085b3 SEBSERV-580 fixed by skip active testing for Exam without LMS 2024-08-21 10:52:09 +02:00
anhefti
bb0df16a56 SEBSERV-574 on access denied check if admin and show hinted message 2024-08-20 11:22:55 +02:00
anhefti
2d5baeba1c SEBSERV-578 fixed by skip full integration testing for pure Moodle core 2024-08-20 10:28:39 +02:00
Nadim Ritter
54ec29d647 Merge branch 'dev-2.0' of github.com:SafeExamBrowser/seb-server into docu 2024-08-16 16:17:26 +02:00
Nadim Ritter
ccae9fa780 docu progress & new images 2024-08-16 16:16:38 +02:00
Nadim Ritter
203575a35f progress in docu & new images 2024-08-14 10:12:42 +02:00
anhefti
f632cc9750 SEBSERV-570 fixed, skip full integration test for plugin version 1 2024-08-13 10:40:03 +02:00
anhefti
d5ccc0f093 SEBSERV-572 fixed, added new property setting sebserver.webservice.autologin.url 2024-08-13 10:40:03 +02:00
Nadim Ritter
f88335b17c add http to screen proctoring url 2024-08-08 16:52:06 +02:00
Nadim Ritter
b962b24492 change screen proctoring url to ps-webservice 2024-08-08 16:25:07 +02:00
Nadim Ritter
7406bc5ad4 Merge branch 'dev-2.0' of github.com:SafeExamBrowser/seb-server into docu 2024-08-06 08:42:36 +02:00
Nadim Ritter
dff1a051e9 remove print outs 2024-08-05 11:02:49 +02:00
Nadim Ritter
13eda2eda4 docu upload screenshots & create screen proctoring docu 2024-07-25 11:21:59 +02:00
Nadim Ritter
98ea35f118 add screen proctoring page 2024-07-23 10:06:55 +02:00
94 changed files with 818 additions and 626 deletions

View file

@ -46,53 +46,36 @@ 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
-------------------------------
With the new SEB Server release, SEB Server makes a major version change from 1.x to 2.x. This is mainly because of the new
Screen Proctoring feature for SEB integrated into SEB Server and the removal of live proctoring with Zoom and Jitsi Meet
that is no longer available for SEB Server version 2.x.
For a migration from a running SEB Server setup with version 1.x to new major version 2.0, please also read the `migration guide <https://seb-server-setup.readthedocs.io/en/latest/major-migration.html>`_.
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.
- Screen Proctoring with SEB and SEB Server. Can be enabled and configured for an Exam. SEB takes and sends screen shots plus Metadata to SEB Server. With monitoring and search functionality.
- Moodle Integration: SEB Server Exam creation from Moodle site with new SEB Server Moodle Plugin 2.0.
- Moodle Integration: Auto Login to SEB Server monitoring for Moodle Teacher with dedicated privileges. Comes with Moodle Plugin 2.0
- Exam Test Run. There is now the possibility to apply an test run for an Exam that is in coming up status. Exam is then in "Running" like state and SEB clients can connect as well as supporter can monitor the exam.
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.
- Improvement of user ID resolution and handshake completion for SEB connecting with SEB-Server. SEB client now sent as much client information as possible and finish up the SEB Server handshake more quickly.
- Connection Configuration Improve (or remove) Date Filter.
- DB Migration Table charset fix for all tables, set to "utf8mb4_general"
- New SEB Settings in SEB Server GUI for version 2.0
- Table sort direction selection and table column length selection stick to User Session
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
- Missing Pending Notification Page Update in Monitoring Detail view
- Importing an exam without template throws error
- LMS name resolving sometimes gets "null" values for names
- New Ready State is not involved within the Filter numbers
- Page of ASK Grants in Exam has table selection action problems
- Sorting of start and end-date in Assessment Tool Lookup not working as expected
- Running Exam without LMS is greyed out without reason
SEB - SEB Server Compatibility
@ -101,24 +84,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
------------------

View file

@ -39,7 +39,7 @@ This are usually password protected certificates in different file-formats. SEB
.. image:: images/certificates/cert_list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/certificates/cert_list.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/certificates/cert_list.png
Use Cases

View file

@ -16,7 +16,7 @@ a specific template by name for example.
.. image:: images/config_templates/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/config_templates/list.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/config_templates/list.png
To create a new exam configuration template, use the "Add Configuration Template" action from the right action pane. You will see the creation form
with a name and description for the new template. At least a unique name is mandatory, and the description is optional.
@ -32,7 +32,7 @@ SEB Server. The name of an attribute is composed of the internal attribute name
.. image:: images/config_templates/templateView.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/config_templates/templateView.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/config_templates/templateView.png
The type of the attribute defines the input field type and cannot be changed in any way. The view defines the tab on which the settings attribute is placed.
And the group defines the named group where a settings attribute belongs to.
@ -59,7 +59,7 @@ use the "View Configuration Template" action from the right action pane.
.. image:: images/config_templates/templateAttribute.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/config_templates/templateAttribute.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/config_templates/templateAttribute.png
Back in the exam configuration template view you are able to create a new SEB exam configuration directly from this template by using the "Create Exam Configuration"
action from the right action pane. The application will present you a creation dialog within a pop-up where you can define a name and description for the
@ -67,7 +67,7 @@ new SEB exam configuration. At least a unique name is mandatory.
.. image:: images/config_templates/createConfig.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/config_templates/createConfig.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/config_templates/createConfig.png
After defining a name and description for the new SEB exam configuration you can click on "OK" to do so, and the application will show you the new created
SEB exam configuration in the usual place.

View file

@ -34,7 +34,7 @@ of the "Configuration" section on the menu on the left hand side.
.. image:: images/connection_config/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/connection_config/list.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/connection_config/list.png
The list shows the name, the date of creation and the status of the connection configurations in a column. With SEB Server administrator role
also an institution column is shown because a SEB Server administrator is able to see all connection configurations of all institutions.
@ -46,7 +46,7 @@ or remove selection to hide all fallback related attributes.
.. image:: images/connection_config/new.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/connection_config/new.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/connection_config/new.png
Short description of all attributes of a connection configuration:
@ -113,7 +113,7 @@ these exams with the multi selector. It is also possible to filter the list by t
.. image:: images/connection_config/examSelection.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/connection_config/examSelection.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/connection_config/examSelection.png

View file

@ -23,7 +23,7 @@ indicators for monitoring as well as defining details of the SEB restriction if
.. image:: images/exam/examNotReady.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examNotReady.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examNotReady.png
At the beginning of the page - if there is no note - you see all the details of the exam.
@ -70,7 +70,7 @@ the pop-up shows the description and the status of the selected configuration.
.. image:: images/exam/addExamConfig.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/addExamConfig.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/addExamConfig.png
There is also the possibility to encrypt the SEB exam configuration by a password. This is done before the SEB configuration is send to a connecting
SEB client. Since in the most cases the SEB client connections are over HTTPS / TSL there is already a good protection in place and an
@ -85,7 +85,7 @@ The new action "Edit Encryption Password" can be used to open up the original ap
.. image:: images/exam/editEncryptionPassword.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/editEncryptionPassword.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/editEncryptionPassword.png
.. note::
If you need to use the same SEB exam configuration for different exams, you can just make a copy of a SEB exam configuration that is already used
@ -101,7 +101,7 @@ the SEB restriction details with the generated Config-Key. See :ref:`sebRestrict
.. image:: images/exam/examConfig.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examConfig.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examConfig.png
To just generate the Config-Key for testing purposes or to manually apply it on an LMS/Assessment Tool without the automated SEB restriction feature you can
use the "Export Config-Key" action to generate the key. The Config-Key is presented by a pop-up and can be selected and copied to the clip-board.
@ -170,7 +170,7 @@ section in the monitoring view.
.. image:: images/exam/archiveExamsFilter.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/archiveExamsFilter.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/archiveExamsFilter.png
This is also a good use-case if you want to remove an LMS/Assessment Tool and LMS/Assessment Tool Setup but still want to be able to access the exams data on the SEB Server.
In this case you can archive all exams from that LMS/Assessment Tool Setup before deactivating or deleting the respective LMS/Assessment Tool Setup.
@ -196,7 +196,7 @@ If you have "Exam Administrator" privileges you are able to entirely delete an e
.. image:: images/exam/deleteExam.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/deleteExam.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/deleteExam.png
- Within the delete exam dialog you see a list of a dependencies that also will be deleted. Please check them carefully before deletion.
- Use the below action to either delete the exam or cancel the action and go back to the exam view.

View file

@ -24,7 +24,7 @@ for this feature.
.. image:: images/exam/examASK.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examASK.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examASK.png
Within this settings page you can enable or disable the feature any time also during a running exam. On the exam page you can see if the feature is enabled
when the shield-icon is not strike-through.
@ -36,7 +36,7 @@ ASK for the same build.
.. image:: images/exam/examASKedit.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examASKedit.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examASKedit.png
In the following list you can see all APK that has been sent to the SEB Server by connected SEB clients. For a particular ASK you can also see
how many SEB Clients has been sent this ASK and has the same signature.
@ -47,7 +47,7 @@ below. You can give a name for the grant and save the grant by using "OK" action
.. image:: images/exam/examASKgrant.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examASKgrant.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examASKgrant.png
You see all granted ASKs within the second list with the ASK hash and the name that was given on grant. All explicitly granted ASKs from that list are
considered trusted for the exam. And future SEB client connection that connects with one of the ASKs from this list are granted. All SEB clients that
@ -65,7 +65,7 @@ SEB connections are marked red and with the tag "- ASK Grant Denied" after the s
.. image:: images/exam/examASKMonitoring1.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examASKMonitoring1.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examASKMonitoring1.png
In the detail view of a SEB client connection you can see this too and you are able to apply a grant for a denied APK afterwards by using the
"Grant App Signature Key" action from the right action pane. This will open a pop-up with the ASK hash and an input field for the name of the
@ -73,11 +73,11 @@ grant.
.. image:: images/exam/examASKMonitoring2.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examASKMonitoring2.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examASKMonitoring2.png
.. image:: images/exam/examASKMonitoring3.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examASKMonitoring3.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examASKMonitoring3.png
After you have granted a unknown ASK, the grant is also applied to the respective SEB connection and to all following SEB connections that

View file

@ -33,7 +33,7 @@ Client groups are located on an Exam setup page after the indicators at the end
.. image:: images/exam/examClientgroupAdd.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examClientgroupAdd.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examClientgroupAdd.png
To add a new SEB Client Group use the respective action from the right action pane. You will be presented with the SEB Client Group edit page
where you are able to give the new SEB Client Group a name and choose a type of the client group that you want to create.
@ -45,7 +45,7 @@ the group type. With the additional, specific inputs, the SEB Client Group can b
.. image:: images/exam/examClientgroupIP.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examClientgroupIP.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examClientgroupIP.png
For the IP range group type you can give a valid IP range defined with a start IP address and an end IP address. This two inputs are mandatory
and must be valid IPv4 addresses. The range must be a valid range and will be inclusive on the IP match (range-start >= IP <= range-end).
@ -54,7 +54,7 @@ For the SEB OS grouping type you have to choose the OS type from the given types
.. image:: images/exam/examClientgroupWin.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examClientgroupWin.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examClientgroupWin.png
If you have finished up your SEB Client Group definition you can save it with the "Save" action from the right action pane or cancel the modifications and
go back to the Exam page. You will see your created SEB Client Groups within its respective section on the Exam page and are able to edit them again, or delete
@ -62,7 +62,7 @@ a certain SEB Client group from the list.
.. image:: images/exam/examClientgroups.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examClientgroups.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examClientgroups.png
Monitoring with SEB Client Groups
---------------------------------
@ -73,7 +73,7 @@ depending on what group(s) a particular SEB applies to.
.. image:: images/exam/examClientgroupMonitoring1.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examClientgroupMonitoring1.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examClientgroupMonitoring1.png
With the "Client Group Filter" on the right action pane, you are able to show/hide individual groups. With this filtering you can adapt your monitoring view
for specialized monitoring view, to only see SEB client connection from one particular room for example or of one particular client OS.
@ -86,4 +86,4 @@ for specialized monitoring view, to only see SEB client connection from one part
.. image:: images/exam/examClientgroupMonitoring2.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examClientgroupMonitoring2.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examClientgroupMonitoring2.png

View file

@ -26,7 +26,7 @@ filter use the clear symbol right to the lens symbol. See :ref:`gui-label` for m
.. image:: images/exam_config/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_config/list.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_config/list.png
To view details of a specific exam configuration either double-click on a list entry or select a list entry and use the "View Exam Configuration"
action from the right action pane. In the detail view all general settings are shown and also a list of exams that uses this exam configuration.
@ -46,7 +46,7 @@ is assigned to an exam, the status changes automatically to "In Use" and the SEB
.. image:: images/exam_config/view.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_config/view.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_config/view.png
An exam configuration has a general settings part (like other domain objects has within SEB Server) that defines the name, description and status
of the exam configuration that are used to maintain the exam configurations SEB Server internally. And an exam configuration has, separated from
@ -64,7 +64,7 @@ while also publish them to exams that uses this exam configuration.
.. image:: images/exam_config/settings.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_config/settings.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_config/settings.png
.. note::
Changes in SEB settings must be published to be available on exports, exams, or other uses. Before publishing they are not
@ -93,7 +93,7 @@ of the exam configuration. The key will be presented by a pop-up dialog where it
.. image:: images/exam_config/config_key.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_config/config_key.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_config/config_key.png
Batch Actions
@ -110,7 +110,7 @@ For list multi-selection documentation see :ref:`List Multi-Selection <listmulti
.. image:: images/exam_config/batch-actions.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_config/batch-actions.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_config/batch-actions.png
@ -121,7 +121,7 @@ With this batch action you are able to change the state of all selected exam con
.. image:: images/exam_config/batch-actions_statechange.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_config/batch-actions_statechange.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_config/batch-actions_statechange.png
Within the batch-action pop-up you can see how many exam configurations you have selected for the action. Now you are able to select the target state
to where you would like to change all selected exam configurations state to. Then you can apply the batch action with "Change State" or cancel the batch-action.
@ -131,7 +131,7 @@ has been applied and how many has failed.
.. image:: images/exam_config/batch-actions_statechange_finished.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_config/batch-actions_statechange_finished.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_config/batch-actions_statechange_finished.png
**Reset To Template Settings**

View file

@ -20,7 +20,7 @@ are able to filter and sort the list as usual to find to right course for import
.. image:: images/exam/lmsExamLookup.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/lmsExamLookup.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/lmsExamLookup.png
You can view more details of a course by double-click on the specific list entry or by selecting the list entry and click the "Show LMS/Assessment Tool Exam Details"
action form the action pane on the right hand side. The application will open a pop-up with available detail information of the course.
@ -33,7 +33,7 @@ are available and fetched or not.
.. image:: images/exam/lmsExamLookupLate.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/lmsExamLookupLate.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/lmsExamLookupLate.png
To import a course as an exam find the specific course on the list by using the filter and select the list entry. Use the "Import As Exam" action
from the action pane on the right hand side.
@ -63,7 +63,7 @@ Initially choose a type for the exam - "Exam Type" - that is currently only used
.. image:: images/exam/importExam.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/importExam.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/importExam.png
Furthermore you can select and apply all exam supporter that shall be able to see and support this exam while running. To do so, click in the
input field of the attribute "Exam Supporter" to see a drop down list of all available users for selection. To filter the drop down list, start
@ -78,7 +78,7 @@ for monitoring the exam later on.
.. image:: images/exam/examReady.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examReady.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examReady.png
How all this different aspects of the exam are defined and prepared is part of the next chapters.

View file

@ -9,7 +9,7 @@ add some other indicators to the exam to be able to get notified while monitorin
.. image:: images/exam/examIndicators.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examIndicators.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examIndicators.png
To add a new indicator to the exam you can use the "Add Indicator" action from the right action pane. In the indicator edit page you are able to give the
new indicator a name. This name will be displayed in the SEB client connection table on monitoring section as column name for the column of this
@ -18,7 +18,7 @@ If you have selected one indicator type, a description will be shown just below
.. image:: images/exam/editIndicator.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/editIndicator.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/editIndicator.png
The type of indicators are pre-defined within the SEB Server and restricts the number of available indicators that can be used. Currently following
indicators are supported:

View file

@ -9,14 +9,14 @@ once unreachable exam, the respective exam would change back to normal and is no
.. image:: images/exam/examList.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examList.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examList.png
Sometimes an entire LMS/Assessment Tool is not available and a lot of exams are grayed. In this case you can use the new filter "Show/Hide Missing Exams" from the
action pane on the right to filter out this exams from the list.
.. image:: images/exam/examListHideMissing.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examListHideMissing.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examListHideMissing.png
To get more information about what is missing for an exam that is marked in red, just open the exam by select and use "View Exam" or by double-click
on the list entry. In the Exam view page you will see a warning message pointing out all the missing things to setup the exam.
@ -34,7 +34,7 @@ you want to archive or delete, select the respective batch action on the right a
.. image:: images/exam/examBatchArchive.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examBatchArchive.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examBatchArchive.png
You see your selection again within a list on the pop-up and when ready you can start the batch action and apply it to every selected exam
that is in a valid state to apply the action.

View file

@ -1,151 +0,0 @@
.. _sebProctoringSettings-label:
Live Proctoring (Deprecated)
========================
.. attention::
Deprecation Note:
The SEB Server live proctoring integration with Zoom and Jitsi Meet is deprecated in SEB Server 1.6.
The upcoming version of SEB Server, targeted for August 2024, will remove the live proctoring integration with Zoom and Jitsi Meet.
Live proctoring is experimental feature of SEB and SEB Server. The feature is fully optional and not enabled by default.
The main goal of the live proctoring feature is to support the integration
of an external meeting service like Jitsi Meet or Zoom for example, within a SEB and SEB Server setup for an exam.
In this scenario a SEB client is able to join a meeting and send audio and video data to the meeting where a proctor can watch the students during
an exam within this meeting(s). The role of SEB Server in this scenario is mainly to bind a particular meeting service and automatically create
meeting rooms, instruct connected SEB clients to join a certain meeting room. SEB Server can also instruct SEB clients to participate in the meeting by
allowing connected SEB clients to receive audio and video as well as enabling chat functionality.
.. note::
This feature is still in a prototype state and not all functionality might work as expected. Basically the meeting features
are given or restricted by the meeting service that is used and the API and GUI that is given by that meeting service client
To be able to use the integrated live proctoring feature with SEB and SEB Server you need an external meeting service that can be used by the SEB Server to automatically create meetings.
If this feature is enabled, you are able to setup a live proctoring service for a specified exam that can be used in the monitoring later on while the exam is running and SEB clients are connected.
Currently supported meeting services are:
- `Jitsi Meet <https://jitsi.org/jitsi-meet/>`_ with JWT token authentication enabled.
- `Zoom meeting service <https://zoom.us/>`_ with an account plan that fits your need and supports the `Zoom API and Client SDKs <https://marketplace.zoom.us/docs/sdk/native-sdks/developer-accounts>`_.
To bind and setup a live proctoring service in SEB Server for an exam, go to the view page of the exam and use the "Proctoring Settings" action on the right action pane to open up the proctoring settings dialog.
.. image:: images/exam/proctoringSettingsJITSI.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/proctoringSettingsJITSI.png
Within the proctoring settings dialog you are able to switch the service on and off by using the "Proctoring enabled" checkbox. You also see if the proctoring service is enabled within
the action icon that is either an eye when active or a slashed eye when not active.
To define and bind a service you have to choose a service type from the available service types. And you need to give the API access credentials like "Application Key" and "Secret" for
the external meeting service. SEB Server will then try to connect to the meeting service with these credentials to automatically create meetings/rooms for proctoring.
Within the "Collecting Room Size" field you can define the number of maximal participants that shall be collected within one proctoring room. SEB Server will automatically
create these collecting rooms while SEB clients are connecting to the running exam in the monitoring view.
.. note::
If you choose Zoom as your proctoring service and you also want to conduct your exam with Mac and/or iOS SEB Clients you will also need a Zoom SDK-Key and -Secret since SEB Mac/iOS uses Zoom SDK for proctoring integration.
Scroll down the Proctoring Settings window to see more settings for SEB Server based proctoring features:
.. image:: images/exam/proctoringSettings2.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/proctoringSettings2.png
- Use Zoom App-Client: Enable this setting to use a Zoom App/Desktop client for the origin proctoring room. This needs an existing Zoom Desktop App installation on the proctor's desktop.
- Broadcasting Feature: Enable this to see the broadcasting features buttons in the opened proctoring windows. E.g. "Enable/Disable Audio" and "Enable/Disable Video" buttons.
- Chat Feature: Enable this to see the "Enable/Disable Chat" feature buttons in the opened proctoring windows.
- One to One Room: Enable this to see the One to One Room feature button during an exam monitoring within a SEB Client detail view
- Town-Hall Room: Enable this to see the Town-Hall Room feature button in the exam monitoring view
To read more about this proctoring features, please have a look at `Exam Monitoring <https://seb-server.readthedocs.io/en/latest/monitoring.html#live-proctoring>`_.
After you have all the settings done, use "OK" to confirm the settings. SEB Server will then try to connect to the meeting service with the given settings and check the access.
.. note::
Once a proctoring service is integrated for an exam, it is currently not possible to switch it to another service anymore.
This is because different services needs different meeting reference data on SEB Server and there is no conversion supported.
In the future we will make it possible to at least delete an already existing proctoring setup and to start from scratch.
The SEB client settings for proctoring can be found in the "Exam Configuration" "SEB Settings". There is a new tab with the name "Proctoring" where all SEB settings for proctoring are available.
These settings are directly used by a SEB client that supports the proctoring feature. SEB will initialize with this settings when connecting to SEB Server and also will use this settings as default settings during an exam.
.. image:: images/exam/proctoringSEBSettings.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/proctoringSEBSettings.png
Since SEB Server version 1.2 there is also an Zoom service section that let you define the default SEB settings for a Zoom proctoring setup.
Please be aware that not all of the settings are functioning yet. Please refer to the settings tool-tip to get a actual description of
a particular SEB feature setting
**Jitsi Meet**
To setup and configure a Jitsi Meet service for testing you can refer to the `Docker installation documentation <https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker>`_
.. note::
The Jitsi Meet integration works only with JWT authentication. Please refer to the above documentation for how to setup JWT authentication.
.. image:: images/exam/proctoringSettingsJITSI.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/proctoringSettingsJITSI.png
**Zoom**
.. image:: images/exam/proctoringSettingsZoom.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/proctoringSettingsZoom.png
To integrate Zoom meetings as a live proctoring service within SEB Server you need to have an appropriate Zoom account with API and SDK access.
`Zoom API and Client SDKs <https://marketplace.zoom.us/docs/sdk/native-sdks/developer-accounts>`_.
Then you need to setup the Zoom account to run with JWT apps as described:
- Login into your Zoom account and use "App Marketplace" to setup an API app account
.. image:: images/exam/zoom1.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/zoom1.png
- Within the Zoom Marketplace use "Develop" and select "Build App".
.. image:: images/exam/zoom2.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/zoom2.png
.. image:: images/exam/zoom3.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/zoom3.png
- Choose "MeetingSDK" fist to create a meeting SDK app that is been used SEB to connect to Zoom meetings.
- Follow the instructions to create the API account and use the "SDK Key" and "SDK Secret" within the setup in SEB Server proctoring settings
.. image:: images/exam/zoom4.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/zoom4.png
- Then choose the "Server-toServer OAuth" to create a API access for SEB Server to connect to Zoom service API. This is needed on SEB Server do create and maintain users and meetings
- Follow the instructions to create the "Server-toServer OAuth" app on the page and make sure you have and set needed privileges as shown below.
.. image:: images/exam/zoomauth1.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/zoomauth1.png
.. image:: images/exam/zoomauth2.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/zoomauth2.png
.. image:: images/exam/zoomauth3.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/zoomauth3.png
Reset Rooms
-----------
This functionality is new since SEB Server version 1.5 and allows you to reset already created but collecting rooms for an exam. This action is only
available if you already have collecting rooms for an running exam and if there is no active SEB client connected to the exam. Then you can reset your
proctoring rooms with this actions and also do some proctoring settings changes.
.. image:: images/exam/proctoringSettingsZoom.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/proctoringSettingsZoom.png

View file

@ -27,14 +27,14 @@ The quit password can be set on Exam creation or import:
.. image:: images/exam/quitPasswordImport.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/quitPasswordImport.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/quitPasswordImport.png
As well as in the Exam edit view:
.. image:: images/exam/quitPasswordEdit.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/quitPasswordEdit.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/quitPasswordEdit.png
If the Exam was created from an LMS/Assessment Tool with SEB Server integration that allows to send the quit-password

View file

@ -11,7 +11,7 @@ In the exam details page you will see two action related to the SEB restriction
.. image:: images/exam/sebRestriction.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/sebRestriction.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/sebRestriction.png
Use the "Apply SEB Lock" on an exam that has not already locked the course for SEB on the LMS/Assessment Tool to do apply the restriction and lock the course or quiz
for SEB access only. This will call the SEB course restriction API on the LMS/Assessment Tool and will send all information to lock the course on the LMS/Assessment Tool.
@ -28,7 +28,7 @@ comma separated list if needed.
.. image:: images/exam/sebRestrictionDetails.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/sebRestrictionDetails.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/sebRestrictionDetails.png
**SEB restriction on Open edX**

View file

@ -17,7 +17,7 @@ and also shows which one is the default for the institution.
.. image:: images/exam_template/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_template/list.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_template/list.png
.. note::
The "Default Template" flag indicates the one exam template that is the default template for an institution. This just means that this template
@ -32,7 +32,7 @@ SEB Server will then present you the exam template creation view on that some in
.. image:: images/exam_template/new.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_template/new.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_template/new.png
- **Name** The name of the exam template to identify it in the list/library
- **Description** A short description ideally describing the purpose of the exam template
@ -46,7 +46,7 @@ view that looks similar to the exam administration view.
.. image:: images/exam_template/view.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_template/view.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_template/view.png
Here you can edit the settings done before by using the "Edit Exam Template" action form the right action pane.
You can also delete an exam template entirely by using the "Delete Exam Template" action from the right action pane.
@ -54,14 +54,9 @@ And you are able to add/edit/remove monitoring indicators for the exam template
.. image:: images/exam_template/indicator.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_template/indicator.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_template/indicator.png
There are also proctoring settings available since SEB Server version 1.4 for the exam template. They just have the same settings and
look like the ones on the Exam and will get copied for an exam imported with the respective template that defines the proctoring settings.
.. image:: images/exam_template/proctoringSettings.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_template/proctoringSettings.png
TODO Screen Proctoring Settings
Import Exam with Template
@ -72,7 +67,7 @@ use the "Import as Exam" action for a LMS/Assessment Tool exam that you want to
.. image:: images/exam_template/select1.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_template/select1.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam_template/select1.png
Now there is a new selector field named "Exam Template" where you can choose the exam template to use on import. When you select one the template attributes
like "Exam Type" or "Exam Supporter" are automatically applied from the template settings. You are still able to edit the settings e.g. add more or remove supporter.

30
docs/exam_testrun.rst Normal file
View file

@ -0,0 +1,30 @@
Exam Test-Run (New)
--------------------------------
With the new SEB Server version 2.0 there is a new feature Test-Run for none running / upcoming exams. Since upcoming
Exams on SEB Server are not available for SEB connections and Monitoring one have to has to change the course start date
to apply testing beforehand of an Exam.Server
With new new Rest-Run feature it is now possible to change an Exam in upcoming status to a dedicated Test-Run status where
SEB clients are able to connect and SEB Server Exam Administrator or Supporter are able to Monitor the Exam as long a
the Exam stays within this Test-Run status.
You can set an Exam into Test-Run status by using the respective action on the Exam view:
.. image:: images/exam/examEnableTestrun.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examEnableTestrun.png
After enable Test-Run for an Exam, you can see an information at the top if the Exam view that informs you about the
Test Run status of the Exam.
After testing is done you can disable the Test-Run status just by using the respective action on the right and the Exam
goes back to up-coming status and is not available anymore for SEB connections and Monitoring.
.. image:: images/exam/examEnableTestrun.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examEnableTestrun.png
.. note::
If an Exam changes to Running status due to the start time passing and is still in status Test-Run, SEB Sever will
automatically change the Exam from Test-Run to Running status and all features of a running Exam are available.

View file

@ -15,13 +15,12 @@ put with some fields you have to provide instead of they coming from LMS/Assessm
.. image:: images/exam/examWithURL.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examWithURL.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examWithURL.png
.. image:: images/exam/examWithURLNew.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examWithURLNew.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examWithURLNew.png
@ -48,7 +47,7 @@ go one with setting up your Exam.
.. image:: images/exam/examWithURLView.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examWithURLView.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/exam/examWithURLView.png
If you want to edit the Exam settings please use the edit action on the right action pane. Here you can also modify
the data that usually comes from LMS/Assessment Tool. You can change name, start- and end-date directly here within

View file

@ -20,7 +20,9 @@ We will go through all the steps to setting up an exam for Safe Exam Browser wit
exam_clientgroups
exam_ask
exam_restriction
exam_proctoring
exam_screen_proctoring
exam_list
exam_template
exam_testrun
screen_proctoring

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 547 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

View file

@ -21,5 +21,6 @@ Table of Content
configurations
exams
monitoring
screen_proctoring
troubleshooting

View file

@ -34,7 +34,7 @@ Currently an institution has a name, an optional url-suffix and an optional logo
.. image:: images/institution/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/institution/list.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/institution/list.png
As an institutional administrator only the institution one belongs to can be seen and be modified by the user.
The user will see the institution form in view mode by clicking on the "Institution" section on the left hand menu
@ -44,7 +44,7 @@ therefore a SEB Server administrator role is needed.
.. image:: images/institution/view_institutional.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/institution/view_institutional.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/institution/view_institutional.png
@ -69,7 +69,7 @@ access the application with a web-browser and have the own logo.
.. image:: images/institution/new.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/institution/new.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/institution/new.png
**Change the name/logo of an existing or own Institution**
@ -94,7 +94,7 @@ access the application with a web-browser and have the own logo.
.. image:: images/institution/view_institutional.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/institution/view_institutional.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/institution/view_institutional.png
**Activate / Deactivate an existing institution**

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/dev-2.0/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/dev-2.0/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/dev-2.0/docs/images/lmssetup/openEdxAPIAccess3.bmp
.. image:: images/lmssetup/openEdxAPIAccess4.bmp
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/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/dev-2.0/docs/images/lmssetup/openEdxAPIAccess5.png
.. image:: images/lmssetup/openEdxAPIAccess6.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/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/dev-2.0/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/dev-2.0/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-quizaccess_sebserver>`_
- `Repository <https://github.com/ethz-let/moodle-quizaccess_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/dev-2.0/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/dev-2.0/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/dev-2.0/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/dev-2.0/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/dev-2.0/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/dev-2.0/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/dev-2.0/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/dev-2.0/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/deleted_exam_moodle.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/moodle_full/deleted_exam_moodle.png

16
docs/lms_olat.rst Normal file
View file

@ -0,0 +1,16 @@
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.
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>`_

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
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/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.

View file

@ -10,7 +10,7 @@ As an exam supporter you see all running exams where you have been assigned to b
.. image:: images/monitoring/runningExams.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/runningExams.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/runningExams.png
To navigate to this list, click on the "Running Exams" menu within the "Monitoring" category. And you will see the list with the name of the
exam, the type and start- and end-time of the exam. If the exam you are looking for is not on the list, please check the start-time filter
@ -27,7 +27,7 @@ As default you should see at least all active connections instantly.
.. image:: images/monitoring/examMonitoring.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/examMonitoring.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/examMonitoring.png
The list is automatically sorted in the way that SEB connections with incidents came to the top of the list and are then sorted by the
"User Name or Session" identifier criteria. The general SEB client connection attributes are:
@ -61,7 +61,7 @@ Double-click on an entry to go to the detail view of the specified SEB client co
.. image:: images/monitoring/search.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/search.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/search.png
**Instructions**
@ -109,17 +109,17 @@ The image below shows active and inactive filter for active SEB connection as we
.. image:: images/monitoring/issueFilter2.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/issueFilter2.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/issueFilter2.png
.. image:: images/monitoring/issueFilter3.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/issueFilter3.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/issueFilter3.png
- **SEB Client Group Filter** This issue filter filter all SEB client connection that are attached to a certain SEB client group.
.. image:: images/monitoring/issueFilter1.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/issueFilter1.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/issueFilter1.png
Detailed View
@ -131,7 +131,7 @@ in a form and additional a list of all events and logs the SEB client has sent t
.. image:: images/monitoring/clientMonitoring.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/clientMonitoring.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/clientMonitoring.png
The table shows the event type that for all log-events is the log-level, The text and a value that has been sent with the event. The Value may be empty
and marked as "Not a Number" (NaN). In this table we also have the client- and the server-time of the event. The client-time is the time the SEB client
@ -140,99 +140,13 @@ overview temporary network latency or other irregularities, when those two time
In the detail view you are also able to use the instructions "Quit SEB Client" and "Mark as Canceled" for the selected SEB client connection.
(Deprecated) Live Proctoring
------------------------
Screen Proctoring
-----------------
.. attention::
With SEB Server version 2.0 there is not Live Proctoring support for Zoom and Jitsi Meet anymore but a while new and
fully integrated Screen Proctoring feature where SEB Clients take screen shots and send it to SEB Server for proctoring
Deprecation Note:
The SEB Server live proctoring integration with Zoom and Jitsi Meet is deprecated in SEB Server 1.6.
The upcoming version of SEB Server, targeted for August 2024, will remove the live proctoring integration with Zoom and Jitsi Meet.
Live proctoring is a new and yet experimental feature of SEB and SEB Server. The feature is fully optional and not enabled by default.
This section is about the live proctoring on monitoring a running exam and using the optional live proctoring within.
To configure the optional live proctoring for a specific exam please have a look at `Optional Live Proctoring <https://seb-server.readthedocs.io/en/latest/exam_proctoring.html#sebProctoringSettings>`_
.. note::
This feature is still in a prototype state and not all functionality might work as expected. Basically, the meeting features
are given or restricted by the meeting service that is used and the API and GUI that is given by that meeting service client
**Proctoring (Collecting) Rooms**
When the exam live proctoring feature is enabled for the running exam (see :ref:`sebProctoringSettings-label`), SEB Server will automatically create and collect
connected SEB clients into so called collecting rooms. The size of this collecting rooms can be defined within the proctoring settings in the exam.
One proctor can then open such a collecting room by left-clicking on the room action.
SEB Server will then open a proctoring window and join the proctor to the meeting where the participants of this room can be seen.
.. image:: images/monitoring/proctoringExam.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/proctoringExam.png
A proctor is also able to view the names of all participants of a room by right-clicking on the specified room action.
SEB Server will then open a dialog with a list of all participants. Double-clicking on a particular participant will automatically
load the detailed monitoring view of that participant.
.. note::
A collecting room, once created, will live as long as the exam is running and not has been deleted. When the exam ends or is been deleted,
the collecting room will automatically get deleted on the SEB Server's persistent storage as well as on the meeting service side if needed.
**Town-Hall Feature**
Besides the usual collecting room, there is a town-hall room feature. By using the "Open Townhall" action from the right action pane, SEB Server enforce all SEB clients that
are in collecting rooms as well as new connecting SEB clients to leave their current meeting and join the town-hall meeting for as long as the town-hall is active.
Within the town-hall a proctor has the same features as in the collecting room but can connect to all participants at the same time.
When the town-hall is closed all connected SEB clients are enforced to leave the town-room and go back to its collecting room meetings again.
.. note::
This feature is only available if it is enabled within the exam proctoring settings in the exam administration.
**Single Room or One-to-One Room Feature**
Another live proctoring feature can be found in the detailed monitoring view of one particular SEB client connection. The single room features allows a proctor to connect to a single
participant and being able to view or communication with just this one participant. You can initiate this single room connection by using the "Single Room Proctoring" action on
the right action pane. SEB Server will then enforce the involved SEB client to leave its collecting room and join a newly created room with the proctor.
Within the single room a proctor has the same features as in the collecting room to communicate with the student or participant.
When the single room is closed the connected SEB clients is enforced to leave the single room and go back to its collecting room meetings again.
.. image:: images/monitoring/proctoringClient.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/proctoringClient.png
.. note::
This feature is only available if it is enabled within the exam proctoring settings in the exam administration.
**Broadcast Features**
Within a live proctoring window, a proctor can use the enabled features of the integrated meeting service and is able to communicate with the SEB clients by using one
of the following features if available for the service:
- **Start Audio Broadcast** Will enforce the SEB clients within the particular room to enable receive audio and a proctor can speak to the students that are in the meeting.
- **Start Video Broadcast** Will enforce the SEB clients within the particular room to enable receive audio and video and proctor is shown to the students that are in the meeting and can speak to them as well.
- **Enable Chat** Will enforce the SEB clients within the particular room to enable the chat feature and a proctor is able to chat with all students in the meeting.
While a broadcast feature is enabled by a proctor, the SEB Server sends an instruction to each SEB client that is within the same meeting to display the meeting client.
A student as well as a proctor is then able to use all the features of the meeting client of the integrated meeting service.
.. image:: images/monitoring/proctoringWindow.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/proctoringWindow.png
.. note::
Each of this features is only available if it is enabled within the exam proctoring settings in the exam administration.
**Known Issues with Live Proctoring**
- Within the Zoom service it often happens that a participant appears twice in a room or meeting. This is probably caused by SEB clients rejoining the meetings while rooms or feature settings are changed.
- In Zoom it is not possible to fully control a participant microphone. Therefore, it may happen that participant can hear each other even if no proctor is in the meeting.
- Within Jitsi Meet service when a proctor leaves the room it currently happens that a random participant became host/moderator since it is not possible in Jitsi Meet to have a meeting without host. We try to mitigate the problem with the `moderator plugin <https://github.com/nvonahsen/jitsi-token-moderation-plugin>`_
- In both services while broadcasting, it is not guaranteed that a student always sees the proctor. Usually, the meeting service shows or pins the participant that is currently speaking automatically.
.. note::
The above listed points are issues within the current proctoring integration and not solutions. We are working hard to improve the
proctoring integration but due to limited resources this can take its time. And please consider that proctoring integration with
SEB Server is still in prototype state.
Please visit the :ref:`screenprocotring-label` section for more information about Screen Proctoring with SEB Server.
Finished Exams
--------------
@ -246,7 +160,7 @@ In the "Finished Exams" list you can see all finished or archived exams and filt
.. image:: images/monitoring/finishedExams.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/finishedExams.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/finishedExams.png
To see a particular finished or archived exam you can just double-click in the list entry or use the View action on the right action pane.
In the exam view you see all SEB connections that has been connected to the exam during the exam run just like in the usual monitoring view
@ -255,7 +169,7 @@ User or Session Info, Connection Info or Status and are also able to sort the li
.. image:: images/monitoring/finishedExam.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/finishedExam.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/finishedExam.png
As in the usual monitoring view, you can show SEB client connection details by double-clicking on a list entry or by selecting a list entry
and use the View action on the right action pane.
@ -278,14 +192,14 @@ of an exam for example.
.. image:: images/monitoring/sebClientLogs.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/sebClientLogs.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/sebClientLogs.png
To show a detailed view of a specific SEB client log, just double click on the list entry or select the specific list entry and use the "Show Details"
action form the right action pane to open up a pop-up containing all related information about the SEB client log event.
.. image:: images/monitoring/sebClientLogDetail.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/sebClientLogDetail.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/monitoring/sebClientLogDetail.png
Currently there is no export functionality to export all interesting SEB client logs to a CSV table for example. But such a feature will probably come
with a next version of SEB Server.

View file

@ -99,7 +99,7 @@ What one will see first when applying to a SEB Server application is the login-s
.. image:: images/overview/login.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/login.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/overview/login.png
If you are already registered you can use your username and password to log in. Or use the "Register" button to go to the registration
page to create a new user account. The newly created user account will only have the Exam Supporter role assigned. If you need another
@ -107,7 +107,7 @@ role or more privileges, this must be given and granted by an institutional admi
.. image:: images/overview/register.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/register.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/overview/register.png
Fill in the registration form and create a new account. After the user account has been successfully created, the application redirects to the login page for login.
On the current version, an e-mail confirmation is not a feature of the SEB Server application and therefore the e-mail address is currently just informative.
@ -125,7 +125,7 @@ the main content section will show the activity content and the action that are
.. image:: images/overview/overview.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/overview.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/overview/overview.png
In the header above on the right hand, we see the username of the currently logged-in user and an action button to sign out and go back to the login page.
@ -151,7 +151,7 @@ there are different types of filters:
.. image:: images/overview/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/list.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/overview/list.png
A list can be sorted within a column by clicking on the column header. The order of sorting can be changed by clicking again on the same
column header of the sorted column. If sorting functionality is available for a column depends on the column type. There are a few columns
@ -189,12 +189,12 @@ The following images show the same form, once in read-only mode and once in edit
.. image:: images/overview/form_readonly.png
:alt: Form in read-only mode
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/form_readonly.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/overview/form_readonly.png
.. image:: images/overview/form_edit.png
:alt: Form in edit mode
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/form_edit.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/overview/form_edit.png
There usually is a tooltip on a form field element for almost all attributes that can be activated by either going over and staying on the form
field label or the input section.
@ -222,4 +222,4 @@ Actions are usually placed on the right action pane of the application and belon
.. image:: images/overview/list_multiselect_actions.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/list_multiselect_actions.png
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/overview/list_multiselect_actions.png

220
docs/screen_proctoring.rst Normal file
View file

@ -0,0 +1,220 @@
Screen Proctoring (New)
=======================
.. _screenprocotring-label:
Overview
---------
SEB Screen Proctoring is an integral component of the SEB Ecosystem, designed to monitor student screens during digital examinations.
This tool captures and displays screenshots taken by SEB, ensuring a secure and controlled testing environment.
Enable Screen Proctoring after an exam is created in the exam view.
.. image:: images/screen_proctoring/enable_screen_proctoring.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/enable_screen_proctoring.png
SEB Server needs to send an instruction to SEB to capture the screen and send the screenshot back to the server.
| To do this, enable screen proctoring in the SEB Settings.
.. image:: images/screen_proctoring/enable_screen_proctoring_seb_settings.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/enable_screen_proctoring_seb_settings.png
SEB-Server and SEB are now ready to capture and to display screenshots.
Navigate to exam monitoring and click the button in the Screen Proctoring section. A new tab will be opened.
.. image:: images/screen_proctoring/open_screen_proctoring.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/open_screen_proctoring.png
|
|
Gallery View
---------
- When a SEB is connected to SEB-Server and the user is logged into LMS, a tile with the latest screenshot will appear.
- Press the "Grid-Size" dropdown to change the displayable sessions per screen to 4, 9 or 16.
- Use the arrow buttons and the left and right on the screen to change windows. The current page and the number of live sessions / total sessions is display next to the grid selection.
.. image:: images/screen_proctoring/gallery_view_live_grid_selection.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/gallery_view_live_grid_selection.png
- Use your mouse to hover over a tile or press the tab key. A "selected" tile reveals information and actions for the session.
- To change view preferences press the settings icon in the top right corner.
- Toggling "Show Name" and "Show IP" reveals the the Name and IP of the selected session.
- By default, all the sessions are sorted by lastname in ascending order. To change this press the "Sort by Name" button.
- The camera icon opens the Proctoring View in a new tab. See chapter "Proctoring View" for more infos.
- Click on the "expand"-icon to enlarge the screenshot.
.. image:: images/screen_proctoring/gallery_view_settings.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/gallery_view_settings.png
- The SEB-Client additionally sends metadata about the screenshot
- Metadata changes according to the content displayed on the screenshot
- Refer to the chapter "Metadata" for more details
- The camera icon opens the Proctoring View in a new tab. See chapter "Proctoring View" for more infos.
- Close the expanded view either by clicking on the collapse button or somewhere outside of the screenshot
.. image:: images/screen_proctoring/gallery_view_expanded.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/gallery_view_expanded.png
- A message box indicates that there are no live sessions available
- As soon as a sessions are connected the message box will disappear
|
|
Running Exams
---------
To get an overview of all running exams which your user has access to click on the "Running Exams" item in the navigation bar on the left side.
- By default, the exams are sorted by "Exam Start-Time" in ascending order
- Click on any table header to change the sorting according to your needs
- Click on the link the "Group" column to get to the gallery view of the group
.. image:: images/screen_proctoring/running_exam_no_selection.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/running_exam_no_selection.png
By clicking on the settings icon in the menu bar two options are displayed.
- Select "Show past exams" to display all finished exams (red)
- Select "Show upcoming exams" to display all exams which are planned for the future (orange)
.. image:: images/screen_proctoring/running_exam_selection.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/running_exam_selection.png
|
|
Proctoring View
---------
The proctoring view shows a recorded or live session in more detail.
To open a proctoring view of a sessions, either:
- Click on the camera icon in the gallery view
- Use the search feature
- Directly type in the url in the address bar: https://<your host>/recording/<sessionUuid>
A session can either be live or recorded.
- A live session is indicated by the "Live" button
- Navigating to the proctoring view during a live session always displays the latest screenshot and updates it accordingly
- Use the slider like any other video player
- This is also possible during a live session
- Click on the "Live" button to jump to the latest screenshot
.. image:: images/screen_proctoring/proctoring_overview_live.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/proctoring_overview_live.png
- The "Details"-Box on the right side displays information about the session and the current screenshot
- "SEB Session Info" is static
- "Screenshot Metadata" dynamically changes for every Screenshot
- Refer to the chapter "Metadata" for more details
.. image:: images/screen_proctoring/proctoring_overview.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/proctoring_overview.png
- The "Live" button disappears when the sessions disconnects from the server
- Set the playback speed with the "settings"-icon according to you preferences
- The current screenshot and the total amount of screenshot is display in the "Total"-Row
|
|
Search
---------
The search functionality is a powerful feature for finding sessions and screenshots.
Click on the "Search" item in the navigation bar on the left side.
**Form**
The upper part of the page is the search form.
There are four different categories of search criteria:
- Exam data
- Session / user data
- Screenshot metadata
- Time data
Use the form fields and the time / date selection to tailor the search result to your needs.
.. image:: images/screen_proctoring/search_form.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/images/screen_proctoring/search_form.png
**Search Results**
The search results are grouped into days and sorted by date in descending order.
Use the "date" button on the right side to change the sort oder.
- Clicking on any date expands the panel and displays all sessions (a session is a student using SEB) with recordings on that day
- By default, the sessions are sorted by "Start-Time" in descending order
- Click on the table header to change the sorting according to your preferences
- A click on the down facing arrow on the right side lists all screenshots of the given student
.. image:: images/screen_proctoring/search_results_sessions.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/dev-2.0/docs/images/screen_proctoring/search_results_sessions.png
- By default, the screenshot are sorted by "Capture-Time" in ascending order
- The screenshots are grouped into the metadata "Application / Website"
- Grouping means that each successive screenshot that has the same "Application / Website" metadata is placed in the same group
- Click on the camera icon on the right side to open the proctoring view at this exact time
.. note::
If the session is still live the proctoring view won't open at the given time but instead jumps to the latest image.
|
|
Metadata
---------
Metadata in context of the Screen Proctoring component are data which belong to a screenshot.
They describe the content of the captured screen.
Currently the SEB-Client captures the following 5 metadata (additional values might follow in future releases):
- Focused Application: The name of the application that is currently in use and focused
- e.g. "SafeExamBrowser.Client.exe", "calc.exe"
- SEB-Browser-Title: The title of the SEB-Browser
- e.g. "Exam Moodle 12", "Moodle Exam Mathematics 3"
- Activity Details: The activity that triggered the screenshot
- e.g. "A key has been pressed", "Left mouse button has been pressed"
- SEB-Browser URL: The URL of the SEB-Browser
- e.g. "http://google.com", "http://moodle.com/exam123"
- Focused Window Title: The title of the focused window
- e.g. "Google Homepage", "Moodle Exam 123", "Calculator"

View file

@ -16,7 +16,7 @@
<packaging>jar</packaging>
<properties>
<sebserver-version>2.0-SNAPSHOT</sebserver-version>
<sebserver-version>2.0.0</sebserver-version>
<build-version>${sebserver-version}</build-version>
<revision>${sebserver-version}</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

View file

@ -363,7 +363,7 @@ public final class Exam implements GrantEntity {
@JsonIgnore
public boolean isLmsAvailable() {
return BooleanUtils.isTrue(this.lmsAvailable);
return BooleanUtils.isNotFalse(this.lmsAvailable);
}
public String getExternalId() {

View file

@ -336,7 +336,7 @@ public class ExamList implements TemplateComposer {
final Exam exam,
final PageService pageService) {
if (BooleanUtils.isFalse(exam.isLmsAvailable())) {
if (exam.lmsSetupId != null && BooleanUtils.isFalse(exam.isLmsAvailable())) {
item.setData(RWT.CUSTOM_VARIANT, CustomVariant.DISABLED.key);
return;
}

View file

@ -12,6 +12,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Map;
import ch.ethz.seb.sebserver.gbl.model.user.UserRole;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
@ -29,6 +30,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.core.io.Resource;
import org.springframework.http.*;
import org.springframework.stereotype.Component;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestTemplate;
import com.fasterxml.jackson.core.type.TypeReference;
@ -348,6 +350,12 @@ public class MonitoringProctoringService {
httpEntity,
String.class);
if (tokenRequest.getStatusCode() == HttpStatus.UNAUTHORIZED &&
currentUser.get().hasAnyRole(UserRole.EXAM_SUPPORTER, UserRole.INSTITUTIONAL_ADMIN)) {
notifyUnauthorized(_action, currentUser);
return _action;
}
// Open SPS Gui redirect URL with login token (jwt token) in new browser tab
final String redirectLocation = redirect.getBody() + "/jwt?token=" + tokenRequest.getBody();
// final String script = "var win = window.open('', 'seb_screen_proctoring'); win.location.href = '"+ redirectLocation + "';";
@ -357,13 +365,28 @@ public class MonitoringProctoringService {
// .getService(JavaScriptExecutor.class)
// .execute(script);
} catch (final Exception e) {
if (e instanceof HttpClientErrorException) {
if (((HttpClientErrorException) e).getRawStatusCode() == HttpStatus.UNAUTHORIZED.value()) {
notifyUnauthorized(_action, this.pageService.getCurrentUser());
return _action;
}
}
log.error("Failed to open screen proctoring service group gallery view: ", e);
_action.pageContext()
.notifyError(new LocTextKey("Failed to open screen proctoring service group gallery view"), e);
.notifyError(new LocTextKey("sebserver.monitoring.sps.opengallery.fail"), e);
}
return _action;
}
private static void notifyUnauthorized(final PageAction _action, final CurrentUser currentUser) {
log.warn("No Access to Screen Proctoring for user: {}", currentUser.get().username);
_action
.pageContext()
.notifyError(
new LocTextKey("sebserver.monitoring.sps.noaccess"),
new RuntimeException("No access to Screen Proctoring. Please make sure you are assigned as Exam Supporter for this exam."));
}
private PageAction openExamProctoringRoom(
final ProctoringGUIService proctoringGUIService,
final ProctoringServiceSettings proctoringSettings,

View file

@ -51,6 +51,7 @@ public class WebserviceInfo {
private static final String WEB_SERVICE_EXTERNAL_ADDRESS_ALIAS = "sebserver.webservice.lms.address.alias";
private static final String WEB_SERVICE_CONTEXT_PATH = "server.servlet.context-path";
public static final String SEBSERVER_WEBSERVICE_AUTOLOGIN_ENDPOINT = "sebserver.webservice.autologin.endpoint";
public static final String WEB_SERVICE_GUI_AUTOLOGIN_URL_KEY = "sebserver.webservice.autologin.url";
private final String sebServerVersion;
private final String testProperty;
@ -69,6 +70,8 @@ public class WebserviceInfo {
private final boolean isDistributed;
private final String webserviceUUID;
private final String guiAutologinURL;
private final long distributedUpdateInterval;
private Map<String, String> lmsExternalAddressAlias;
@ -135,6 +138,11 @@ public class WebserviceInfo {
builder.path(this.contextPath);
}
this.serverURLPrefix = builder.toUriString();
String guiAutologinURL = environment.getProperty(WEB_SERVICE_GUI_AUTOLOGIN_URL_KEY, builder.toUriString());
if (StringUtils.isBlank(guiAutologinURL)) {
guiAutologinURL = builder.toUriString();
}
this.guiAutologinURL = guiAutologinURL;
this.isLightSetup = BooleanUtils.toBoolean(environment.getProperty(
"sebserver.webservice.light.setup",
@ -295,6 +303,10 @@ public class WebserviceInfo {
return this.serverURLPrefix;
}
public String getGUIAutologinURL() {
return this.guiAutologinURL;
}
public String getOAuthTokenURI() {
return getExternalServerURL() + API.OAUTH_TOKEN_ENDPOINT;
}
@ -359,8 +371,6 @@ public class WebserviceInfo {
return builder.toString();
}
public static final class ScreenProctoringServiceBundle implements SPSAPIAccessData {
public final boolean bundled;

View file

@ -158,6 +158,7 @@ public class WebserviceInit implements ApplicationListener<ApplicationReadyEvent
SEBServerInit.INIT_LOGGER.info("---->");
SEBServerInit.INIT_LOGGER.info("----> Context Path: {}", this.webserviceInfo.getContextPath());
SEBServerInit.INIT_LOGGER.info("----> External-Host URL: {}", this.webserviceInfo.getExternalServerURL());
SEBServerInit.INIT_LOGGER.info("----> Autologin URL: {}", this.webserviceInfo.getGUIAutologinURL());
SEBServerInit.INIT_LOGGER.info("----> LMS-External-Address-Alias: {}",
this.webserviceInfo.getLmsExternalAddressAlias());
SEBServerInit.INIT_LOGGER.info("---->");

View file

@ -93,12 +93,20 @@ public class LmsTestServiceImpl implements LmsTestService {
}
final LmsSetupTestResult lmsSetupTestResult = fullIntegrationTest(lmsSetupTemplate);
if (lmsSetupTestResult != null) return lmsSetupTestResult;
if (lmsSetupTestResult != null) {
return lmsSetupTestResult;
}
return LmsSetupTestResult.ofOkay(lmsSetupTemplate.lmsSetup().getLmsType());
}
private LmsSetupTestResult fullIntegrationTest(final LmsAPITemplate template) {
if (template.lmsSetup().lmsType != LmsSetup.LmsType.MOODLE_PLUGIN) {
return null;
}
if (!template.fullIntegrationActive()) {
return null;
}
if (template.lmsSetup().getLmsType().features.contains(LmsSetup.Features.LMS_FULL_INTEGRATION)) {
final Long lmsSetupId = template.lmsSetup().id;
final LmsSetupTestResult lmsSetupTestResult = template.testFullIntegrationAPI();

View file

@ -403,17 +403,9 @@ public class MoodleCourseAccess implements CourseAccessAPI {
throw new RuntimeException("No user details on Moodle API request");
}
System.out.println("---------------------");
System.out.println("*************it got here moodle course access debugging");
if (log.isDebugEnabled()) {
System.out.println("*************inside if");
log.debug("User details received from Moodle: {}", userDetails[0]);
}
System.out.println("firstname: " + userDetails[0].firstname);
System.out.println("firstname: " + userDetails[0].lastname);
System.out.println("firstname: " + userDetails[0].fullname);
System.out.println(userDetails[0]);
System.out.println("---------------------");
final Map<String, String> additionalAttributes = MoodleUtils.getMoodleAccountDetails(userDetails);
return new ExamineeAccountDetails(

View file

@ -339,17 +339,9 @@ public class MoodlePluginCourseAccess extends AbstractCachedCourseAccess impleme
throw new RuntimeException("No user details on Moodle API request");
}
System.out.println("---------------------");
System.out.println("*************it got here moodle plugin debugging");
if (log.isDebugEnabled()) {
System.out.println("*************inside if");
log.debug("User details received from Moodle: {}", userDetails[0]);
}
System.out.println("firstname: " + userDetails[0].firstname);
System.out.println("firstname: " + userDetails[0].lastname);
System.out.println("firstname: " + userDetails[0].fullname);
System.out.println(userDetails[0]);
System.out.println("---------------------");
final Map<String, String> additionalAttributes = MoodleUtils.getMoodleAccountDetails(userDetails);
return new ExamineeAccountDetails(

View file

@ -100,7 +100,7 @@ public interface ScreenProctoringService extends SessionUpdateTask {
void updateClientConnections();
/** This goes through all running exams with screen proctoring enabled and updates the group attributes
* (mainly the number of active clients in the group) by call ing SPS API and store newest data. */
* (mainly the number of active clients in the group) by calling SPS API and store newest data. */
void updateActiveGroups();
@Async(AsyncServiceSpringConfig.EXECUTOR_BEAN_NAME)

View file

@ -146,7 +146,7 @@ class ExamUpdateHandler implements ExamUpdateTask {
.forEach(quizId -> {
try {
final Exam exam = exams.get(quizId);
if (exam.lmsAvailable == null || exam.isLmsAvailable()) {
if (exam.lmsSetupId != null && (exam.lmsAvailable == null || exam.isLmsAvailable())) {
this.examDAO.markLMSAvailability(quizId, false, updateId);
}
} catch (final Exception ee) {

View file

@ -577,6 +577,7 @@ public class ScreenProctoringServiceImpl implements ScreenProctoringService {
log.debug("Register JOIN instruction for client ");
}
final boolean checkActive = exam.lmsSetupId != null;
final SPSData spsData = this.screenProctoringAPIBinding.getSPSData(exam.id);
final String url = screenProctoringServiceBundle.bundled
? screenProctoringServiceBundle.serviceURL
@ -597,7 +598,7 @@ public class ScreenProctoringServiceImpl implements ScreenProctoringService {
InstructionType.SEB_PROCTORING,
attributes,
ccRecord.getConnectionToken(),
true,
checkActive,
true)
.onError(error -> log.error(
"Failed to register screen proctoring join instruction for SEB connection: {}",

View file

@ -207,6 +207,6 @@ public class LmsIntegrationController {
return new FullLmsIntegrationService.TokenLoginResponse(
lmsUUId,
webserviceInfo.getExternalServerURL() + API.LMS_FULL_INTEGRATION_LOGIN_TOKEN_ENDPOINT + "?jwt=" + token);
webserviceInfo.getGUIAutologinURL() + API.LMS_FULL_INTEGRATION_LOGIN_TOKEN_ENDPOINT + "?jwt=" + token);
}
}

View file

@ -48,6 +48,7 @@ sebserver.webservice.http.external.port=
sebserver.webservice.http.redirect.gui=/gui
sebserver.webservice.ping.service.strategy=BLOCKING
sebserver.webservice.autologin.endpoint=/auto_login
sebserver.webservice.autologin.url=
### webservice API
@ -116,7 +117,7 @@ sebserver.feature.exam.noLMS.enabled=true
sebserver.feature.exam.seb.liveProctoring.enabled=false
sebserver.feature.exam.seb.screenProctoring.enabled=true
sebserver.feature.exam.seb.screenProctoring.bundled=true
sebserver.feature.exam.seb.screenProctoring.bundled.url=sps-service:8090
sebserver.feature.exam.seb.screenProctoring.bundled.url=http://sps-webservice:8090
sebserver.feature.exam.seb.screenProctoring.bundled.clientId=sebserverClient
sebserver.feature.exam.seb.screenProctoring.bundled.clientPassword=${sps.sebserver.client.secret}
sebserver.feature.exam.seb.screenProctoring.bundled.sebserveraccount.username=SEBServerAPIAccount

View file

@ -1039,7 +1039,7 @@ sebserver.clientconfig.form.sebServerFallbackPasswordHash=Fallback Password
sebserver.clientconfig.form.sebServerFallbackPasswordHash.tooltip=A password if set a SEB Client user must provide before SEB starts the fallback procedure
sebserver.clientconfig.form.sebServerFallbackPasswordHash.confirm=Confirm Password
sebserver.clientconfig.form.sebServerFallbackPasswordHash.tooltip.confirm=Please confirm the fallback password
sebserver.clientconfig.form.hashedQuitPassword=Quit Password
sebserver.clientconfig.form.hashedQuitPassword.tooltip=A password if set a SEB user must provide to be able to quit SEB
sebserver.clientconfig.form.hashedQuitPassword.confirm=Confirm Password
sebserver.clientconfig.form.hashedQuitPassword.tooltip.confirm=Please confirm the quit password
@ -2423,6 +2423,9 @@ sebserver.monitoring.signaturegrant.signature=App Signature Key Hash
sebserver.monitoring.signaturegrant.tag=Tag
sebserver.monitoring.signaturegrant.message.granted=This App Signature Key is already granted for this exam
sebserver.monitoring.sps.opengallery.fail=Failed to open screen proctoring service group gallery view
sebserver.monitoring.sps.noaccess=No Access to Screen Proctoring
################################
# Finished Exams
################################