Merge remote-tracking branch 'origin/master' into dev-1.5

Conflicts:
	docs/exam.rst
	docs/exam_import.rst
This commit is contained in:
anhefti 2023-04-20 16:13:46 +02:00
commit c227f13480
6 changed files with 814 additions and 808 deletions

View file

@ -1,66 +1,66 @@
.. _certificates-label:
Certificates
====================
Overview
--------
Import and store X.509 certificates within SEB Server is a new feature since SEB Server version 1.2. This allows an institutional administrator
or an exam administrator to upload and store certificates for further use within SEB Server.
.. note::
Certificates uploaded to SEB Server are stored in a secured certificate-store that is stored within the data base rather then a
usual file. The certificated store is password secured and only the binary data of the certificate store is places into the
databease for securty reasons.
Once a certificate has been uploaded to SEB Server it can be used for various other features of SEB Server where a certificate is needed.
One feature that also comes with the SEB Server version 1.2 is the ability to encrypt a connection configuration with a certificate
that has the right purpose (Identity) to do so. If you need this feature already, please have a look at: :ref:`connection-configuration-label`
Other planed features are the import of certificate encrypted exam configurations as well as to embed certificates within a exam configuration
to allow certificate pinning between SEB and LMS.
There is currently certificate upload support for two version of certificates:
**PEM**
This are usually non password protected certificates in different file-formats. SEB Server currently supports the following PEM file-formats:
- .pem
- .crt
- .cer
**PKCS12**
This are usually password protected certificates in different file-formats. SEB Server currently supports the following PKCS12 file-formats:
- .p12
- .pfx
.. image:: images/certificates/cert_list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/certificates/cert_list.png
Use Cases
---------
**Upload a certificate**
- To upload and store a certificate of supported file type, please open the "SEB Configuration" section and select the "Certificates" page
- You will see the list of known certificates from the SEB Server like in the picture above.
- Choose "Import Certificate" from the right action pane and the upload dialog will open.
- Within the upload dialog, select the certificate file on your local machine that you want to upload.
- If the certificate is password protected, you will need to give the password to upload the certificate.
- Chlick on "OK" to start the import.
- If the import is successful the imported certificate will show up in the list. Otherwise SEB Server will display an error message with the reason of failure.
**Remove / delete a certificate**
- To permanently delete a stored certificate on SEB Server, please open the "SEB Configuration" section and select the "Certificates" page
- You will see the list of known certificates from the SEB Server like in the picture above.
- Please select the certificate you want to remove.
- Choose "Remove Selected Certificates" from the right action pane and a configuration dialog will appear.
- If you are sure to delete the selected certificate(s), click on "OK" to delete.
- The deleted certificates disappear form the certificates list.
.. _certificates-label:
Certificates
====================
Overview
--------
Import and store X.509 certificates within SEB Server is a new feature since SEB Server version 1.2. This allows an institutional administrator
or an exam administrator to upload and store certificates for further use within SEB Server.
.. note::
Certificates uploaded to SEB Server are stored in a secured certificate-store that is stored within the data base rather than a
usual file. The certificated store is password secured and only the binary data of the certificate store is placed into the
database for security reasons.
Once a certificate has been uploaded to SEB Server it can be used for various other features of SEB Server where a certificate is needed.
One feature that also comes with the SEB Server version 1.2 is the ability to encrypt a connection configuration with a certificate
that has the right purpose (Identity) to do so. If you need this feature already, please have a look at: :ref:`connection-configuration-label`.
Other planed features are the import of certificate encrypted exam configurations as well as to embed certificates within an exam configuration
to allow certificate pinning between SEB and LMS.
There is currently certificate upload support for two version of certificates:
**PEM**
This are usually non password protected certificates in different file-formats. SEB Server currently supports the following PEM file-formats:
- .pem
- .crt
- .cer
**PKCS12**
This are usually password protected certificates in different file-formats. SEB Server currently supports the following PKCS12 file-formats:
- .p12
- .pfx
.. image:: images/certificates/cert_list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/certificates/cert_list.png
Use Cases
---------
**Upload a certificate**
- To upload and store a certificate of supported file type, please open the "SEB Configuration" section and select the "Certificates" page
- You will see the list of known certificates from the SEB Server like in the picture above.
- Choose "Import Certificate" from the right action pane and the upload dialog will open.
- Within the upload dialog, select the certificate file on your local machine that you want to upload.
- If the certificate is password protected, you will need to give the password to upload the certificate.
- Click on "OK" to start the import.
- If the import is successful, the imported certificate will show up in the list. Otherwise, SEB Server will display an error message with the reason of failure.
**Remove / delete a certificate**
- To permanently delete a stored certificate on SEB Server, please open the "SEB Configuration" section and select the "Certificates" page
- You will see the list of known certificates from the SEB Server like in the picture above.
- Please select the certificate you want to remove.
- Choose "Remove Selected Certificates" from the right action pane and a configuration dialog will appear.
- If you are sure to delete the selected certificate(s), click on "OK" to delete.
- The deleted certificates disappear form the certificates list.

View file

@ -1,73 +1,73 @@
.. _config-template-label:
Exam Configuration Templates
============================
With this feature you can create and manage templates for SEB exam configuration settings. You are able to mainly define default values for each SEB exam
settings attribute for an exam config and you are also able to define whether the settings attribute shall be viewed on an exam configuration created from
the template or if it shall be hidden.
.. note::
The exam configuration template feature is the most experimental feature in SEB Server for now and my change for the upcoming releases.
To view all available exam configuration templates go to the "SEB Configuration" section and click on the "Configuration Template" menu entry of the
left menu pane. SEB Server will then present you a list of all available exam configuration templates. You can filter and sort the list as usual to find
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
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.
.. image:: images/config_templates/templateEdit.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/config_templates/templateEdit.png
To create and save the new exam configuration template use the "Save Configuration Template" action from the right action pane. The template will be
created with all default settings attribute and views and you will see the configuration template view page. In the view page you will see the information
of the template within the page header following by a list of all exam configuration setting attributes available for a SEB exam configuration on the
SEB Server. The name of an attribute is composed of the internal attribute name followed by the display name of the attribute.
.. image:: images/config_templates/templateView.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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.
.. note::
For now the "View" and "Group" properties of an settings attribute cannot be changed, just be set whether the settings attribute shall be shown
on its defined view (tab) and within its defined position on the tab or if it shall be hidden at all.
In a future version of SEB Server it may possible to also place a settings attribute to another "View" and/or "Group" and also to a certain position
of the view grid.
To attach or detach a particular settings attribute for the template from the view to show or hide it in the configuration settings, select the specific
settings attribute from the list and use either the "Remove From View" action when you want to remove an attached one,
or the "Attach To View" action when you want to attach a hidden settings attribute to the default view.
To define a default value for a specific attribute, select the attribute from the list and use the "Edit Attribute" action from the right action pane to open
the settings attribute in edit mode. Or just double click on the specific list entry of the settings attribute.
In the settings attribute edit page you see general information about the attribute on the upper part of the page and on the second part you see the
input field if the settings attribute with the current default value set. To alter the default value just use the input field of the attribute to change
the value and the change will automatically be set as new default value. If you want to reset the default value of the settings attribute to the original
default value, use the "Set Default Values" action from the right action pane to do so. You are also able to attach or detach the settings attribute from
the view here by using the "Remove From View" or "Attach To View" actions from the right action pane. To go back to the exam configuration template view
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
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
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
After defines a name and description for the new SEB exam configuration you can click on "OK" to do so an the application will show you the new created
SEB exam configuration in the usual place.
.. _config-template-label:
Exam Configuration Templates
============================
With this feature you can create and manage templates for SEB exam configuration settings. You are able to mainly define default values for each SEB exam
settings attribute for an exam config and you are also able to define whether the settings attribute shall be viewed on an exam configuration created from
the template or if it shall be hidden.
.. note::
The exam configuration template feature is the most experimental feature in SEB Server for now and might change for the upcoming releases.
To view all available exam configuration templates, go to the "SEB Configuration" section and click on the "Configuration Template" menu entry of the
left menu pane. SEB Server will then present you a list of all available exam configuration templates. You can filter and sort the list as usual to find
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
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.
.. image:: images/config_templates/templateEdit.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/config_templates/templateEdit.png
To create and save the new exam configuration template use the "Save Configuration Template" action from the right action pane. The template will be
created with all default settings attribute and views, and you will see the configuration template view page. In the view page you will see the information
of the template within the page header following by a list of all exam configuration setting attributes available for a SEB exam configuration on the
SEB Server. The name of an attribute is composed of the internal attribute name followed by the display name of the attribute.
.. image:: images/config_templates/templateView.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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.
.. note::
For now, the "View" and "Group" properties of an settings attribute cannot be changed, just be set whether the settings attribute shall be shown
on its defined view (tab) and within its defined position on the tab or if it shall be hidden at all.
In a future version of SEB Server it might be possible to also place a settings attribute to another "View" and/or "Group" and also to a certain position
of the view grid.
To attach or detach a particular settings attribute for the template from the view to show or hide it in the configuration settings, select the specific
settings attribute from the list and use either the "Remove From View" action when you want to remove an attached one,
or the "Attach To View" action when you want to attach a hidden settings attribute to the default view.
To define a default value for a specific attribute, select the attribute from the list and use the "Edit Attribute" action from the right action pane to open
the settings attribute in edit mode. Or just double click on the specific list entry of the settings attribute.
In the settings attribute edit page you see general information about the attribute on the upper part of the page and on the second part you see the
input field if the settings attribute with the current default value set. To alter the default value just use the input field of the attribute to change
the value and the change will automatically be set as new default value. If you want to reset the default value of the settings attribute to the original
default value, use the "Set Default Values" action from the right action pane to do so. You are also able to attach or detach the settings attribute from
the view here by using the "Remove From View" or "Attach To View" actions from the right action pane. To go back to the exam configuration template view,
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
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
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
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

@ -2,22 +2,22 @@ SEB Configurations
==================
There are two different kind of SEB specific configurations that must be defined and be put in place to support e-assessments with
SEB and SEB Server. The is used to configure SEB with all needed information to securely connect to SEB Server
and an Exam Configuration is used to configure SEB to access a running exam with SEB. The is only needed at least
SEB and SEB Server. The :ref:`connection-configuration-label` is used to configure SEB with all needed information to securely connect to SEB Server
and an Exam Configuration is used to configure SEB to access a running exam with SEB. The :ref:`connection-configuration-label` is only needed at least
once for an institution and must be deployed as start-configuration on a managed SEB setup or can be placed as a download link within
an internal trusted server, that automatically loads within the SEB application and configures the SEB to connect to the SEB Server.
An exam configuration, as the name implies, is done for an exam and contains most of the known configuration attributes
from the latest `SEB Configuration Tool <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_
from the latest `SEB Configuration Tool <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_.
Currently an exam configuration can only be applied to one Exam but can easily be copied to use with another exam. For detailed
information about exam configuration see :ref:`exam-configuration-label`
information about exam configuration see :ref:`exam-configuration-label`.
Within Configuration Templates, it is possible to create templates for exam configuration. Within the current version of SEB Server
there is the possibility to define different default value(s) for each exam configuration attribute and also to define if the attribute
is been shown in the exam configuration or not. This allows an Exam Administrator to create an exam configuration template for exams
with context defines default values and also to be able to only see change the attributes that are relevant for an exam configuration.
This feature is currently in an experimental state and may be changed and / or expanded within future releases of SEB Server. See
:ref:`config-template-label`
:ref:`config-template-label`.
An new feature since SEB Server version 1.2 is the integrated certificate store where an administrator is able to upload and register
certificates. The certificates can then be used to encrypt and secure a connection configuration for example. Or as planned for another

View file

@ -1,156 +1,156 @@
.. _connection-configuration-label:
Connection Configuration
====================
Overview
--------
A connection configuration is needed to configure a SEB client to securely connect to the SEB Server and present a list of available exams
for selection. At least one connection configuration is needed for an institution that can be exported and deployed with a SEB on a managed device setup
or can be made available within a download link on a internal or trusted server. Another scenario would be to send the connection configuration to
individual students per mail with instructions on how to install SEB and start it with the configuration to automatically connect to the SEB Server.
However, since the connection configuration is security relevant because it contains sensitive data to connect to SEB Server,
there are different security level one can choose to apply within a internal safe e-assessment strategy.
The lowest level of security is to just have one not encrypted connection configuration for the whole institution and for all e-assessments provided
at this institution with SEB Server.
In this case the sensitive data is more exposed to be compromised and misused by others because of the missing password protection and it also takes
more effort to deal with such an issue while there is only one connection configuration used by all e-assessments of the institution. If the one client
configuration has been compromised and a misuse has been detected the concerned connection configuration can be deactivated to prevent further misuse. A
new one can be created and delivered or updated but since it is only one configuration used for the institution all actual download links have to
be updated and all students awaiting a prepared exam has to be informed and supported with the new configuration (link)
The currently highest level of security is to have encrypted and different connection configuration for different e-assessment.
In this case the connection configuration is encrypted with a password that can be defined by a institutional- or exam-administrator while
creating the connection configuration. Once the SEB loads such a connection configuration it will fist prompt the user about the password that must be
given by the student to proceed and connect to the SEB Server.
Usually a connection configuration can be created or maintained by an institutional administrator or by an exam administrator. Exam supporter role has
no access to connection configurations and a SEB administrator is able to see connection configurations of other institutions but not to create or modify them.
You can see a list of all available connection configuration for an institution by going to the sub-section "Connection Configuration"
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
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.
As usual, to filter the list use the filter inputs above and click on the lens symbol on the right to apply the filter and to clear the
filter use the clear symbol right to the lens symbol. See :ref:`gui-label` for more information about the list navigation.
The image below shows the Connection Connection form in the edit mode. To view the fallback related attributes, check the "With Fallback" attribute
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
Short description of all attributes of a connection configuration:
- **Name**: The name of the connection configuration used to maintain connection configurations within the SEB Server application.
- **Configuration Purpose**: Defines the configuration purpose as described in `SEB Configuration <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_ section "Use SEB settings file for".
**Starting an Exam**; Will cause SEB to use this connection configuration settings on startup but won't change local SEB settings.
**Configuring a connection**; Will cause SEB to use this connection configuration settings and also save it as local SEB settings.
- **Configuration Password**: Used to encrypt the connection configuration with a password. A SEB client will prompt this password while loading a password protected connection configuration.
- **Encrypt with Certificate**: Since version 1.2. Used to encrypt the connection configuration with a certificate. The same certificate must be known by a SEB client to be able to load the configuration.
- **With Fallback**: Select this to see and define a fallback strategy for SEB clients using this connection configuration in case of SEB Server service unavailability.
- **Fallback URL**: Defines a start URL that is loaded by the SEB client in a fallback case.
- **Connection Attempts**: Defines the number of attempts a SEB client will try to unsuccessfully connect to the SEB Server service until it switches to the fallback case.
- **Interval**: Time interval (in milliseconds) a SEB client will wait after a unsuccessful connection attempt before starting a next connection attempt.
- **Connection Timeout**: A overall timeout for SEB Server service connection. After this timeout runs out, starting from fist connection attempt, SEB client will switches to the fallback case no matter if number of attempts has exceeded or not.
- **Fallback Password**: If set, a SEB client will prompt for this password before switching into the fallback case.
- **Quit Password**: If set, a SEB client will prompt for this password when a user wants to exit SEB before in fallback case or before the SEB client has loaded an exam.
A connection configuration may also contain and define a fallback strategy that takes place when SEB Server service is not available while
a SEB client tries to connect to the SEB Server.
.. note::
A fallback case only takes place when SEB client is within the connection process (handshake) with the SEB Server and the SEB Server service is unavailable.
If a SEB client is already connected to the SEB Server and the user has started an exam, the SEB will just proceed with the exam even
when the SEB Server connection is (temporarily) unavailable.
The fallback strategy contains some connection attributes that define until when a SEB client considering SEB Server service as unavailable as
well as attributes that defines how a SEB client has to proceed in the fallback case. How a SEB client reacts to a fallback case differs on the
configuration settings in the following ways:
- Connection configuration with "Configuring a Client" setting and no fallback strategy:
Show warning message with options "retry" and "quit".
- Connection configuration with "Configuring a Client" setting and fallback strategy:
Show warning with options "retry", "fallback" (load Fallback URL) and "quit".
- Connection configuration with "Starting an Exam" setting and no fallback (without local client configuration):
Show warning message with options "retry" and "quit".
- Connection configuration with "Starting an Exam" setting and no fallback (with local client configuration):
Show warning message with options "retry", "load local settings" and "quit".
- Connection configuration with "Starting an Exam" setting and fallback strategy:
Show warning with options "retry", "fallback" (load Fallback URL) and "quit".
Use Cases
---------
**Create Connection Configuration**
As an Institutional Administrator you should create a new secure connection configuration for the upcoming semester. The setup shall operate with
secure configurations because the configuration file may be exposed to the public Internet. And the setup shall also have a proper fallback
strategy where SEB clients uses the a given start URL in fallback case.
- Sign in as an Institutional Administrator and select the "Connection Configuration" sub-menu of the "SEB Configuration" main-menu on the left.
- Use the "Add Connection Configuration" on the right action pane to create a new connection configuration.
- Give the new connection configuration a name that not already exists and select "Start an Exam" for "Configuration Purpose".
This will ensure that a SEB client that uses this configuration will not override the local configuration that then can be used on fallback.
- Give a password to ensure security and to encrypt the connection configuration on export. A SEB client will prompt for the password while loading this configuration.
- Check "With Fallback" to show all the fallback related attributes.
- Define a fallback URL that will be used by a SEB client as start URL in the fallback case.
- Define also fallback case, how many connection attempts on what interval a SEB client shall try before going into fallback mode. You can also define a overall "Connection Timeout" if lapsed a SEB client will also go into the fallback mode. A SEB client will fall-back on either the attempt or the timeout trigger.
- When a SEB client goes to fallback mode it will prompt the user as described in the case list above. To prevent further fallback options with a password prompt, give a "Fallback Password" and / or a "Quit Password" that a SEB client will prompt on either the fallback- or the quit-option.
- After all details are correctly been entered, use the "Save Connection Configuration" action on the right action pane to save the new connection configuration.
- Now the new connection configuration is created but not active for now and therefore cannot be exported yet.
**Activate and export Connection Configuration**
A connection configuration for the upcoming semester has been created so far but was not active until now because of security reasons.
Now we want to activate this connection configuration and export it to make it accessible by a download link on a public server.
- Sign in as an Institutional Administrator and select the "Connection Configuration" sub-menu of the "SEB Configuration" main-menu on the left.
- Use the list filter and / or the list navigation to find the needed connection configuration.
- Double-click on the list entry or use the "View Connection Configuration" action on the right for a selected list row, to show the details of a specific Connection configuration.
- Then either on the list or in the view mode of the form, use the "Activate Connection Configuration" action on the right action pane to activate the connection configuration
- Now there is a "Export Connection Configuration" action in the detail view of the connection configuration. Use the "Export Connection Configuration" action to start a download dialog. Choose "Save As" and download the file with the name "SEBServerSettings.seb".
- This file can now be published as download-link within a public server where SEB user can click and start the download and startup of the SEB client automatically.
**Deactivate a Connection Configuration**
The semester has ended and for security reasons we don't want that SEB clients with a connection configuration for the ended semester
are able to connect to SEB Server anymore. For this we just have to deactivate the connection configuration for that semester. A SEB client
that connects with this connection configuration will then receive an HTTP 401 Unauthorized response.
- Sign in as an Institutional Administrator and select the "Connection Configuration" sub-menu of the "SEB Configuration" main-menu on the left.
- Use the list filter and / or the list navigation to find the needed connection configuration and select the row of this connection configuration.
- Now use the "Deactivate Connection Configuration" action from the right action pane to deactivate the connection configuration.
- The connection configuration is now deactivated and SEB client using this connection configuration are not able to connect to SEB Server anymore.
**Encrypt the Connection Configuration by password or certificate**
To secure the used connection configuration you want to encrypt it with either password or certificate encryption. If you encrypt a connection
configuration by password, SEB will promt the user for the password while loading the configuration whereas by using certificate encryption,
a SEB client must know the same certificate that is been used for encryption while loading the configuration.
- Sign in as an institutional administrator and select the "Connection Configuration" sub-menu of the "SEB Configuration" main-menu on the left.
- Create an new connection configuration or use the list filter and / or the list navigation to find the needed connection configuration.
- Fill in the settings as usual and for password encryption define a password in the "Configuration Password" field and confirm the password in the "Confirm Password" field.
- For a certificate based encryption select one of the given certificates within the "Encrypt with Certificate" setting.
- To upload new certificates that can be used for encryption, please refer to: :ref:`certificates-label`
- "Use asymmetric only encryption" if you use SEB Clients with version before 2.2. For more details on this subject please see: `SEB Configuration <https://safeexambrowser.org/developer/seb-file-format.html>`_
- Save and activate the connection configuration. The connection configuration will then be encrypted by either password or certificate on export.
.. image:: images/connection_config/encrypt.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/connection_config/encrypt.png
.. _connection-configuration-label:
Connection Configuration
====================
Overview
--------
A connection configuration is needed to configure a SEB client to securely connect to the SEB Server and present a list of available exams
for selection. At least one connection configuration is needed for an institution that can be exported and deployed with a SEB on a managed device setup
or can be made available within a download link on an internal or trusted server. Another scenario would be to send the connection configuration to
individual students per mail with instructions on how to install SEB and start it with the configuration to automatically connect to the SEB Server.
However, since the connection configuration is security relevant because it contains sensitive data to connect to SEB Server,
there are different security level one can choose to apply within an internal safe e-assessment strategy.
The lowest level of security is to just have one not encrypted connection configuration for the whole institution and for all e-assessments provided
at this institution with SEB Server.
In this case the sensitive data is more exposed to be compromised and misused by others because of the missing password protection and it also takes
more effort to deal with such an issue while there is only one connection configuration used by all e-assessments of the institution. If the one client
configuration has been compromised and a misuse has been detected, the concerned connection configuration can be deactivated to prevent further misuse. A
new one can be created and delivered or updated, but since only one configuration is used for the whole institution all actual download links have to
be updated and all students awaiting a prepared exam have to be informed and supported with the new :ref:`exam-configuration-label`.
The currently highest level of security is to have encrypted and different connection configurations for different e-assessment.
In this case the connection configuration is encrypted with a password that can be defined by an institutional- or exam-administrator while
creating the connection configuration. Once the SEB loads such a connection configuration it will first prompt the user about the password that must be
given by the student to proceed and connect to the SEB Server.
Usually, a connection configuration can be created or maintained by an institutional administrator or by an exam administrator. Exam supporter role holders have
no access to connection configurations and a SEB administrator is able to see connection configurations of other institutions but not to create or modify them.
You can see a list of all available connection configuration for an institution by going to the sub-section "Connection Configuration"
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
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.
As usual, to filter the list use the filter inputs above and click on the lens symbol on the right to apply the filter and to clear the
filter use the clear symbol right to the lens symbol. See :ref:`gui-label` for more information about the list navigation.
The image below shows the Connection Configuration form in the edit mode. To view the fallback related attributes, check the "With Fallback" attribute
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
Short description of all attributes of a connection configuration:
- **Name**: The name of the connection configuration used to maintain connection configurations within the SEB Server application.
- **Configuration Purpose**: Defines the configuration purpose as described in `SEB Configuration <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_ section "Use SEB settings file for".
**Starting an Exam**; Will cause SEB to use this connection configuration settings on startup but won't change local SEB settings.
**Configuring a connection**; Will cause SEB to use this connection configuration settings and also save it as local SEB settings.
- **Configuration Password**: Used to encrypt the connection configuration with a password. A SEB client will prompt this password while loading a password protected connection configuration.
- **Encrypt with Certificate**: Since version 1.2. Used to encrypt the connection configuration with a certificate. The same certificate must be known by a SEB client to be able to load the configuration.
- **With Fallback**: Select this to see and define a fallback strategy for SEB clients using this connection configuration in case of SEB Server service unavailability.
- **Fallback URL**: Defines a start URL that is loaded by the SEB client in a fallback case.
- **Connection Attempts**: Defines the number of attempts a SEB client will try to unsuccessfully connect to the SEB Server service until it switches to the fallback case.
- **Interval**: Time interval (in milliseconds) a SEB client will wait after a unsuccessful connection attempt before starting a next connection attempt.
- **Connection Timeout**: A overall timeout for SEB Server service connection. After this timeout runs out, starting from first connection attempt, SEB client will switch to the fallback case no matter if the number of attempts has exceeded or not.
- **Fallback Password**: If set, a SEB client will prompt for this password before switching into the fallback case.
- **Quit Password**: If set, a SEB client will prompt for this password when a user wants to exit SEB before in fallback case or before the SEB client has loaded an exam.
A connection configuration may also contain and define a fallback strategy that takes place when SEB Server service is not available while
a SEB client tries to connect to the SEB Server.
.. note::
A fallback case only takes place when SEB client is within the connection process (handshake) with the SEB Server and the SEB Server service is unavailable.
If a SEB client is already connected to the SEB Server and the user has started an exam, the SEB will just proceed with the exam even
when the SEB Server connection is (temporarily) unavailable.
The fallback strategy contains some connection attributes that define until when a SEB client considering SEB Server service as unavailable as
well as attributes that defines how a SEB client has to proceed in the fallback case. How a SEB client reacts to a fallback case differs on the
configuration settings in the following ways:
- Connection configuration with "Configuring a Client" setting and no fallback strategy:
Show warning message with options "retry" and "quit".
- Connection configuration with "Configuring a Client" setting and fallback strategy:
Show warning with options "retry", "fallback" (load Fallback URL) and "quit".
- Connection configuration with "Starting an Exam" setting and no fallback (without local client configuration):
Show warning message with options "retry" and "quit".
- Connection configuration with "Starting an Exam" setting and no fallback (with local client configuration):
Show warning message with options "retry", "load local settings" and "quit".
- Connection configuration with "Starting an Exam" setting and fallback strategy:
Show warning with options "retry", "fallback" (load Fallback URL) and "quit".
Use Cases
---------
**Create Connection Configuration**
As an Institutional Administrator you should create a new secure connection configuration for the upcoming semester. The setup shall operate with
secure configurations because the configuration file may be exposed to the public Internet. And the setup shall also have a proper fallback
strategy where SEB clients use a given start URL in fallback case.
- Sign in as an Institutional Administrator and select the "Connection Configuration" sub-menu of the "SEB Configuration" main menu on the left.
- Use the "Add Connection Configuration" on the right action pane to create a new connection configuration.
- Give the new connection configuration a name that not already exists and select "Start an Exam" for "Configuration Purpose".
This will ensure that a SEB client that uses this configuration will not override the local configuration that then can be used on fallback.
- Give a password to ensure security and to encrypt the connection configuration on export. A SEB client will prompt for the password while loading this configuration.
- Check "With Fallback" to show all the fallback related attributes.
- Define a fallback URL that will be used by a SEB client as start URL in the fallback case.
- Define also fallback case, how many connection attempts on what interval a SEB client shall try before going into fallback mode. You can also define an overall "Connection Timeout" if lapsed a SEB client
will also go into the fallback mode. A SEB client will fall back on either the attempt or the timeout trigger.
- When a SEB client goes to fallback mode it will prompt the user as described in the case list above. To prevent further fallback options with a password prompt, give a "Fallback Password" and / or a "Quit Password" that a SEB client will prompt on either the fallback- or the quit-option.
- After all details have correctly been entered, use the "Save Connection Configuration" action on the right action pane to save the new connection configuration.
- Now the new connection configuration is created but not active for now and therefore cannot be exported yet.
**Activate and export Connection Configuration**
A connection configuration for the upcoming semester has been created so far but was not active until now because of security reasons.
Now we want to activate this connection configuration and export it to make it accessible by a download link on a public server.
- Sign in as an Institutional Administrator and select the "Connection Configuration" sub-menu of the "SEB Configuration" main menu on the left.
- Use the list filter and / or the list navigation to find the needed connection configuration.
- Double-click on the list entry or use the "View Connection Configuration" action on the right for a selected list row, to show the details of a specific Connection configuration.
- Then either on the list or in the view mode of the form, use the "Activate Connection Configuration" action on the right action pane to activate the connection configuration
- Now there is a "Export Connection Configuration" action in the detail view of the connection configuration. Use the "Export Connection Configuration" action to start a download dialog. Choose "Save As" and download the file with the name "SEBServerSettings.seb".
- This file can now be published as download link within a public server where SEB user can click and start the download and startup of the SEB client automatically.
**Deactivate a Connection Configuration**
The semester has ended and for security reasons we don't want that SEB clients with a connection configuration for the ended semester
are able to connect to SEB Server anymore. For this we just have to deactivate the connection configuration for that semester. A SEB client
that connects with this connection configuration will then receive an HTTP 401 Unauthorized response.
- Sign in as an Institutional Administrator and select the "Connection Configuration" sub-menu of the "SEB Configuration" main menu on the left.
- Use the list filter and / or the list navigation to find the needed connection configuration and select the row of this connection configuration.
- Now use the "Deactivate Connection Configuration" action from the right action pane to deactivate the connection configuration.
- The connection configuration is now deactivated and SEB client using this connection configuration are not able to connect to SEB Server anymore.
**Encrypt the Connection Configuration by password or certificate**
To secure the used connection configuration you want to encrypt it with either password or certificate encryption. If you encrypt a connection
configuration by password, SEB will prompt the user for the password while loading the configuration whereas by using certificate encryption,
a SEB client must know the same certificate that is been used for encryption while loading the configuration.
- Sign in as an institutional administrator and select the "Connection Configuration" sub-menu of the "SEB Configuration" main menu on the left.
- Create a new connection configuration or use the list filter and / or the list navigation to find the needed connection configuration.
- Fill in the settings as usual and for password encryption define a password in the "Configuration Password" field and confirm the password in the "Confirm Password" field.
- For a certificate-based encryption select one of the given certificates within the "Encrypt with Certificate" setting.
- To upload new certificates that can be used for encryption, please refer to: :ref:`certificates-label`
- "Use asymmetric only encryption" if you use SEB Clients with version before 2.2. For more details on this subject please see: `SEB Configuration <https://safeexambrowser.org/developer/seb-file-format.html>`_
- Save and activate the connection configuration. The connection configuration will then be encrypted by either password or certificate on export.
.. image:: images/connection_config/encrypt.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/connection_config/encrypt.png

View file

@ -1,246 +1,247 @@
.. _exam-configuration-label:
Exam Configuration
==================
Overview
--------
An exam configuration defines all the SEB settings for an exam. A SEB client that is connecting to SEB Server
and an exam defined by the SEB Server is downloading this exam configuration from SEB Server and reconfigure itself before accessing the
exam on the learning management system (LMS) and present it to the user.
.. note::
For more information and detailed description of the SEB settings, see `SEB Configuration <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_.
Currently not all settings are available and some has different uses. For details about differences see :ref:`setting-dif-label`
An exam administrator is able to create, modify and maintain exam configurations while the SEB Server administrator and the institutional administrator
role have only read access either for all exam configurations or for the exam configurations of the institution.
A exam supporter role is able to see and modify only the exam configurations to which the user-account is assigned as supporter.
To view the list of available exam configuration go the the sub-menu "Exam Configuration" within the menu "SEB Configurations" on the left
hand side. The list shows the name, the description and the status of the exam 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 exam configurations of all institutions.
As usual, to filter the list use the filter inputs above and click on the lens symbol on the right to apply the filter and to clear the
filter use the clear symbol right to the lens symbol. See :ref:`gui-label` for more information about the list navigation.
.. image:: images/exam_config/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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.
In the current version of SEB Server, an exam configuration can only be assigned to one exam.
.. note::
For the actual SEB Server version it is not possible to assign the same exam configuration to more then one exam. This because it shall be
possible to change configuration settings for running exams when no active SEB clients are connected within the specified exam. This is
manageable for one exam but is going to become confusing if more exams are involved.
But there is the possibility to copy an existing exam configuration to use the same for another exam.
The status of an exam configuration defines its visibility and assignment possibilities. If an exam configuration is still in the creation process
and shall not be to an exam yet, it should stay in the "Under Construction" status.
This is the default status while creating a new exam configuration. Once a exam configuration is done and ready for assignment, one can change this
status to "Ready To Use". Exam configurations wihtin this status are available for selection and assignment on exams. When a exam configuration
is assigned to an exam the status changes automatically to "In Use" and the SEB settings of the exam configuration will appear only in read mode for default.
.. image:: images/exam_config/view.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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 a exam configuration has, separated from
the general settings, the SEB settings that contains most of the SEB setting attributes as they are provided by the SEB.
.. note::
For more information and detailed description of the SEB setting attributes, see `SEB Configuration <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_.
Currently not all settings are available and some has different uses. For details about differences see :ref:`setting-dif-label`
The SEB settings differ from the general form-settings also in how they are managed and stored on server-side. Unlike the form-settings,
the SEB settings are arranged like they are in the SEB Configuration Tool for Windows and they are stored while modifying. This means,
a entered value for an attribute is immediately sent to and stored by the SEB Server. There is no additional save action needed and
no entered data will be lost. Instead the "Save / Publish Settings" can be used to store the current setting in a new revision in the history
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
.. note::
Changes in SEB settings must be published to be available on exports, exams or other uses. Before publishing they are not
available for exams and SEB clients that connect to the SEB Server will still receive the last published version of the SEB settings.
To publish SEB setting changes use the "Save / Publish Settings" action from the right action pane.
.. note::
Currently there is an "Undo" function to revert the changed made to the last published state. But there is no possibility yet to
maintain the publishing history of a Exam Configuration but may be available in a future release of the SEB Server.
Since an exam configuration can only be used by one exam it may be convenient to quickly copy an existing exam configuration that is in use
and use the copy of this exam configuration for another exam or to just change the settings to make a slightly different exam configuration.
The "Copy Exam Configuration" action can always be used no matter in what state the exam configuration may be at the moment. By using this
feature there will be a copy dialog shown as pop-up window where one has to give at least a new unique name for the copy. See :ref:`copy-config-label`
for detailed step by step guide.
A plain XML export of the SEB settings may be needed for testing. This is always possible by using the "Export SEB Settings" action
from the right action pane in the SEB settings view. This will start a usual browser download dialog handled by your browser to save or load the file. The default name
of the file of a exam configuration is "SEBExamSettings.seb".
SEB Server supports also the `SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_ that is used to validate the SEB configuration
on the LMS adds a higher security level to the exam. This supported if the specific type of LMS supports the automated SEB restriction feature. Anyways
sometimes it may be needed to manually extract the `SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_ for a exam configuration.
Therefore one can use the "Export Client-Key" action from the right action pane to generate the Config-Key form the actual saved SEB settings revision
of the exam configuration. The key will be presented by a pop-up dialog where it can be copied for further use.
.. image:: images/exam_config/settings.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_config/config_key.png
Use Cases
---------
**Create new Exam Configuration**
For the upcoming semester you have to create several new exam configurations for the different kind of exams your institution is going to provide
during the semester.
- Sign into SEB Server with your exam administrator role account
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left hand side.
- You see a list of all available exam configuration.
- Use the "Add Exam Configuration" action on the action pane on the right hand side to create a new exam configuration
- The creation form at least needs a unique name for the exam configuration. You can also add a description or hint to recognize and find this configuration more easily later on.
- In the "Status" field you are able to choose if the configuration is still under construction and cannot be added to exams yet, or if it is ready to use.
- Save the form with the "Save Exam Configuration" action on the right action pane to create the configuration.
- After successfully saved the new exam configuration use "Edit SEB Settings" to open all the SEB settings that can be defined for a exam.
- For more information about the individual SEB settings see `SEB Configuration <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_.
- In the SEB settings view use the "Save / Publish Settings" action to save your settings.
.. note::
Changes in SEB settings are automatically sent to the server and stored within the open working revision of the settings.
To make a open working revision active and available for export, exams and other uses, you need to save / publish this settings exclusively
by using the "Save / Publish Settings" action. After using this action all the changes are saved in a historical revision and
available for use. A new working revision will be created and all the changes until then will go into the new working revision.
To revert all the changes done since last save / publish use the "Undo" action.
**Export SEB Settings**
You want to test an exam configuration manually with a SEB client. Therefore you need to export the settings of an existing exam configuration and load
it with a SEB client or the SEB configuration tool.
- Sign into SEB Server with your exam administrator role account
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left hand side.
- You see a list of all available exam configuration.
- Use the Filter above the list to narrow down the number of entries and to find a specific exam configuration.
- Open the exam configuration either by double-click on the list entry or be selecting the list entry and using the "View Exam Configuration" action.
- Open the SEB settings of the exam configuration by using the action on the right action pane.
- Use the "Export SEB Settings" action to start the export download.
- Save the file or open it directly with SEB
**Import an Exam Configuration**
There is an existing SEB configuration file once created with the SEB config tool that must be imported to use with SEB Server.
The SEB configuration files where created with the SEB configuration tool and are all saved with the purpose to start an exam (attribute).
- Sign into SEB Server with your exam administrator role account
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left hand side.
- Use the "Import Exam Configuration" action from the right action pane to start an upload dialog.
- Within the upload dialog use the file selector to select the SEB configuration file for importing.
- Give a unique name for the imported exam configuration and a description (optional).
- If the original SEB configuration is password protected, give the password that is needed to decrypt the configuration file.
- Use the OK action on the upload dialog to start the import.
- If the import was successful a new exam configuration with the given name exists.
.. _copy-config-label:
**Copy an Exam Configuration**
Since an exam configuration can only be used by one exam you have periodically to create a copy of an existing exam configuration
that is already attached to an exam. The copy can then be used to either make first some changes to the settings or add it directly
to another exam that has to be configured for SEB.
- Sign into SEB Server with your exam administrator role account
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left hand side.
- You see a list of all available exam configuration.
- Use the Filter above the list to narrow down the number of entries and to find a specific exam configuration.
- Open the exam configuration either by double-click on the list entry or be selecting the list entry and using the "View Exam Configuration" action.
- Use the "Copy Exam Configuration" action from the right action pane to open up the copy dialog.
- Within the copy dialog give a new unique name for the new exam configuration and a description if needed.
- Use "With History" apply the whole history of the original exam configuration to be copied or let it unchecked to just copy the last saved / published revision of the original.
- If all information is correct, use the "OK" button of the copy dialog to create the copy.
.. note:: If there where changes in the working revision of the exam configuration to copy, they will not be included in the copy.
Only saved / published changes are included in the copy.
**Generate and Export the Config-Key of an Exam Configuration**
Usually the `SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_ that is used to validate the SEB configuration
on the LMS is propagated automatically to a LMS by the SEB Server with the automated SEB restriction feature. But For testing purposes you need to generate and export the
`SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_ and set it manually on the LMS.
- Sign into SEB Server with your exam administrator role account
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left hand side.
- You see a list of all available exam configuration.
- Use the Filter above the list to narrow down the number of entries and to find a specific exam configuration.
- Open the exam configuration either by double-click on the list entry or be selecting the list entry and using the "View Exam Configuration" action.
- Use the "Export Config-Key" action from the right action pane to generate the Config-Key and open a dialog that presents this generated Config-Key.
- Mark the Config-Key hash in the dialog with double-click and copy it (ctrl+c) to the clip-board.
.. note:: If there where changes in the working revision of the exam configuration to create the Config-Key from, they will not be included in the generation of the Config-Key.
Only saved / published changes are included in the Config-Key generation.
**Changing SEB Settings of an Exam Configuration in Use**
There is an already fully configured exam within SEB Server that is currently running with a prepared exam configuration. You have now realized that
some SEB settings are missing or wrong and has to be changed for the exam. This is possible but under some restrictions. See the note below.
.. note::
When a exam configuration is applied to a currently running exam, the exam configuration is in "Used" state and the SEB settings of the exam configuration
are in read only mode. Changing the SEB settings of a exam configuration during a running exam that has already connected clients can lead to unexpected
behavior. SEB clients that has already been connected and are in a running session will work with the old configuration while SEB clients that are connecting
after a SEB settings change will work with the new configuration. Also the automated SEB restriction with the changed `SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_
will be updated immediately after saving / publishing the configuration changes. This may also lead to unexpected behavior and eventually blocking of already connected SEB clients.
Therefore SEB Server restricts the change of SEB settings for configurations that are attached to an exam that is currently running to be only possible if there are no
active SEB client connections for this exam at the moment when save / publish the SEB setting changes.
- Sign into SEB Server with your exam administrator role account
- To change the SEB Settings of an exam configuration that is attached to an currently running exam, make sure that there are no active SEB client connections.
Go to the "Monitoring" section and find and view the concerned exam to make sure there are currently no active SEB client connections.
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left hand side.
- You see a list of all available exam configuration.
- Use the Filter above the list to narrow down the number of entries and to find a specific exam configuration.
- Open the exam configuration either by double-click on the list entry or be selecting the list entry and using the "View Exam Configuration" action.
- See that you currently are not able to edit the SEB settings. There is only a "View SEB Settings" action that opens the SEB settings in read-only mode.
- Use the "Edit Exam Configuration" action from the right action pane to open the edit mode of the exam configuration.
- Change the status from "Used" to "Under Construction" to be able to edit the SEB settings again. There will be a message that tells you the implication with changing SEB settings within a exam configuration that is already used by a running exam.
- After saving the exam configuration in "Under Construction" it is now possible to edit the SEB settings for this exam configuration.
- Use the "Edit SEB Settings" action from the right action pane to open the SEB settings form in the edit mode.
- Apply your changes to the settings and use "Save / Publish Settings" to make the settings take affect and trigger a configuration change to the exam. This will check first if there are currently no active SEB clients connected within the running exam that uses this exam configuration. If there is one or more active SEB client connected, the action will deny and inform you about the the active SEB clients.
.. _setting-dif-label:
SEB Setting Differences
-----------------------
In the current version of SEB Server, there are some differences to some SEB settings as well as some SEB settings that are slightly different or not available at all on the SEB Server.
**SEB settings currently not supported by the SEB Server**
- Start URL: Since SEB Server has already been contacted by a SEB client when downloading the exam configuration this is not used by the exam configuration on SEB Server. But this can be used as fallback URL in the Connection Configuration.
- Embedded Resource: There is currently no embedding supported within exam configurations on SEB Server.
- Additional Dictionaries: There are only the SEB client default dictionaries available in the current SEB Server version.
- Additional Resources: Additional resources are currently not available in the current SEB Server version.
- Embedded Certificates: There is currently no certificate management possible on current SEB Server version.
- Browser Exam Key: There is currently no possibility to generate the Browser Exam Key on the SEB Server. But an already generated Browser Exam Key may be used within the SEB restriction feature on the exam configuration if this feature is supported by the LMS in use.
**SEB settings that has a slightly different form or handling in SEB Server comparing to the SEB configuration tool**
- Download Directory OSX: Since it is not possible within a web-service to choose a local directory on a remote device this is just a text input where one has to give the full-path to the directory on the client device in text form.
- Log Directory OSX, Log Directory Win: Since it is not possible within a web-service to choose a local directory on a remote device this is just a text input where one has to give the full-path to the directory on the client device in text form.
- Permitted Processes / Executable: This is also just a text input field where one can give the name of the process in text form.
**SEB settings from versions before 3.0 that are not supported anymore**
- Permitted Processes / Window Handling Process
.. _exam-configuration-label:
Exam Configuration
==================
Overview
--------
An exam configuration defines all the SEB settings for an exam. A SEB client that is connecting to SEB Server
and an exam defined by the SEB Server is downloading this exam configuration from SEB Server and reconfigure itself before accessing the
exam on the learning management system (LMS) and present it to the user.
.. note::
For more information and detailed description of the SEB settings, see `SEB Configuration <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_.
Currently not all settings are available, and some have different uses. For details about differences see :ref:`setting-dif-label`
An exam administrator is able to create, modify and maintain exam configurations while the SEB Server administrator and the institutional administrator
role have only read access either for all exam configurations or for the exam configurations of the institution.
An exam supporter role is able to see and modify only the exam configurations to which the user-account is assigned as supporter.
To view the list of available exam configuration go the sub-menu "Exam Configuration" within the menu "SEB Configurations" on the left
hand side. The list shows the name, the description, and the status of the exam 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 exam configurations of all institutions.
As usual, to filter the list use the filter inputs above and click on the lens symbol on the right to apply the filter and to clear the
filter use the clear symbol right to the lens symbol. See :ref:`gui-label` for more information about the list navigation.
.. image:: images/exam_config/list.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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.
In the current version of SEB Server, an exam configuration can only be assigned to one exam.
.. note::
For the actual SEB Server version, it is not possible to assign the same exam configuration to more then one exam. This because it shall be
possible to change configuration settings for running exams when no active SEB clients are connected within the specified exam. This is
manageable for one exam but is going to become confusing if more exams are involved.
But there is the possibility to copy an existing exam configuration to use the same for another exam.
The status of an exam configuration defines its visibility and assignment possibilities. If an exam configuration is still in the creation process
and shall not be to an exam yet, it should stay in the "Under Construction" status.
This is the default status while creating a new exam configuration. Once an exam configuration is done and ready for assignment, one can change this
status to "Ready To Use". Exam configurations within this status are available for selection and assignment on exams. When an exam configuration
is assigned to an exam, the status changes automatically to "In Use" and the SEB settings of the exam configuration will appear only in read mode for default.
.. image:: images/exam_config/view.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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
the general settings, the SEB settings that contains most of the SEB setting attributes as they are provided by the SEB.
.. note::
For more information and detailed description of the SEB setting attributes, see `SEB Configuration <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_.
Currently not all settings are available, and some have different uses. For details about differences see :ref:`setting-dif-label`
The SEB settings differ from the general form-settings also in how they are managed and stored on server-side. Unlike the form-settings,
the SEB settings are arranged like they are in the SEB Configuration Tool for Windows and they are stored while modifying. This means,
an entered value for an attribute is immediately sent to and stored by the SEB Server. There is no additional save action needed and
no entered data will be lost. Instead, the "Save / Publish Settings" can be used to store the current setting in a new revision in the history
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
.. note::
Changes in SEB settings must be published to be available on exports, exams, or other uses. Before publishing they are not
available for exams and SEB clients that connect to the SEB Server will still receive the last published version of the SEB settings.
To publish SEB setting changes, use the "Save / Publish Settings" action from the right action pane.
.. note::
Currently there is an "Undo" function to revert the changed made to the last published state. But there is no possibility yet to
maintain the publishing history of an Exam Configuration but may be available in a future release of the SEB Server.
Since an exam configuration can only be used by one exam it may be convenient to quickly copy an existing exam configuration that is in use
and use the copy of this exam configuration for another exam or to just change the settings to make a slightly different exam configuration.
The "Copy Exam Configuration" action can always be used no matter in what state the exam configuration may be at the moment. By using this
feature there will be a copy dialog shown as pop-up window where one has to give at least a new unique name for the copy.
See :ref:`copy-config-label` for a detailed step by step guide.
A plain XML export of the SEB settings may be needed for testing. This is always possible by using the "Export SEB Settings" action
from the right action pane in the SEB settings view. This will start a usual browser download dialog handled by your browser to save or load the file. The default name
of the file of an exam configuration is "SEBExamSettings.seb".
SEB Server supports also the `SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_ that is used to validate the SEB configuration
on the LMS and adds a higher security level to the exam. This is supported if the specific type of LMS supports the automated SEB restriction feature. Anyways
sometimes it may be needed to manually extract the `SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_ for an exam configuration.
Therefore, one can use the "Export Client-Key" action from the right action pane to generate the Config-Key from the actual saved SEB settings revision
of the exam configuration. The key will be presented by a pop-up dialog where it can be copied for further use.
.. image:: images/exam_config/settings.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam_config/config_key.png
Use Cases
---------
**Create new Exam Configuration**
For the upcoming semester you have to create several new exam configurations for the different kind of exams your institution is going to provide
during the semester.
- Sign into SEB Server with your exam administrator role account.
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left-hand side.
- You see a list of all available exam configuration.
- Use the "Add Exam Configuration" action on the action pane on the right-hand side to create a new exam configuration
- The creation form at least needs a unique name for the exam configuration. You can also add a description or hint to recognize and find this configuration more easily later on.
- In the "Status" field you are able to choose if the configuration is still under construction and cannot be added to exams yet, or if it is ready to use.
- Save the form with the "Save Exam Configuration" action on the right action pane to create the configuration.
- After successfully saved the new exam configuration use "Edit SEB Settings" to open all the SEB settings that can be defined for a exam.
- For more information about the individual SEB settings see `SEB Configuration <https://www.safeexambrowser.org/windows/win_usermanual_en.html#configuration>`_.
- In the SEB settings view use the "Save / Publish Settings" action to save your settings.
.. note::
Changes in SEB settings are automatically sent to the server and stored within the open working revision of the settings.
To make an open working revision active and available for export, exams and other uses, you need to save / publish this settings exclusively
by using the "Save / Publish Settings" action. After using this action, all the changes are saved in a historical revision and
available for use. A new working revision will be created and all the changes until then will go into the new working revision.
To revert all the changes done since last save / publish use the "Undo" action.
**Export SEB Settings**
You want to test an exam configuration manually with a SEB client. Therefore, you need to export the settings of an existing exam configuration and load
it with a SEB client or the SEB configuration tool.
- Sign into SEB Server with your exam administrator role account.
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left-hand side.
- You see a list of all available exam configuration.
- Use the Filter above the list to narrow down the number of entries and to find a specific exam configuration.
- Open the exam configuration either by double-click on the list entry or be selecting the list entry and using the "View Exam Configuration" action.
- Open the SEB settings of the exam configuration by using the action on the right action pane.
- Use the "Export SEB Settings" action to start the export download.
- Save the file or open it directly with SEB.
**Import an Exam Configuration**
There is an existing SEB configuration file once created with the SEB config tool that must be imported to use with SEB Server.
The SEB configuration files were created with the SEB configuration tool and are all saved with the purpose to start an exam.
- Sign into SEB Server with your exam administrator role account.
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left hand-side.
- Use the "Import Exam Configuration" action from the right action pane to start an upload dialog.
- Within the upload dialog use the file selector to select the SEB configuration file for importing.
- Give a unique name for the imported exam configuration and a description (optional).
- If the original SEB configuration is password protected, give the password that is needed to decrypt the configuration file.
- Use the OK action on the upload dialog to start the import.
- If the import was successful a new exam configuration with the given name exists.
.. _copy-config-label:
**Copy an Exam Configuration**
Since an exam configuration can only be used by one exam you have periodically to create a copy of an existing exam configuration
that is already attached to an exam. The copy can then be used to either make first some changes to the settings or add it directly
to another exam that has to be configured for SEB.
- Sign into SEB Server with your exam administrator role account.
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left-hand side.
- You see a list of all available exam configuration.
- Use the Filter above the list to narrow down the number of entries and to find a specific exam configuration.
- Open the exam configuration either by double-click on the list entry or be selecting the list entry and using the "View Exam Configuration" action.
- Use the "Copy Exam Configuration" action from the right action pane to open up the copy dialog.
- Within the copy dialog give a new unique name for the new exam configuration and a description if needed.
- Use "With History" apply the whole history of the original exam configuration to be copied or let it unchecked to just copy the last saved / published revision of the original.
- If all information is correct, use the "OK" button of the copy dialog to create the copy.
.. note:: If there were changes in the working revision of the exam configuration to copy, they will not be included in the copy.
Only saved / published changes are included in the copy.
**Generate and Export the Config-Key of an Exam Configuration**
Usually the `SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_ that is used to validate the SEB configuration
on the LMS is propagated automatically to a LMS by the SEB Server with the automated SEB restriction feature. But For testing purposes you need to generate and export the
`SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_ and set it manually on the LMS.
- Sign into SEB Server with your exam administrator role account.
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left-hand side.
- You see a list of all available exam configuration.
- Use the Filter above the list to narrow down the number of entries and to find a specific exam configuration.
- Open the exam configuration either by double-click on the list entry or be selecting the list entry and using the "View Exam Configuration" action.
- Use the "Export Config-Key" action from the right action pane to generate the Config-Key and open a dialog that presents this generated Config-Key.
- Mark the Config-Key hash in the dialog with double-click and copy it (ctrl+c) to the clipboard.
.. note:: If there were changes in the working revision of the exam configuration to create the Config-Key from, they will not be included in the generation of the Config-Key.
Only saved / published changes are included in the Config-Key generation.
**Changing SEB Settings of an Exam Configuration in Use**
There is an already fully configured exam within SEB Server that is currently running with a prepared exam configuration. You have now realized that
some SEB settings are missing or wrong and has to be changed for the exam. This is possible but under some restrictions. See the note below.
.. note::
When an exam configuration is applied to a currently running exam, the exam configuration is in "Used" state and the SEB settings of the exam configuration
are in read only mode. Changing the SEB settings of an exam configuration during a running exam that has already connected clients can lead to unexpected
behavior. SEB clients that have already been connected and are in a running session will work with the old configuration while SEB clients that are connecting
after a SEB settings change will work with the new configuration. Also, the automated SEB restriction with the changed `SEB Config-Key <https://safeexambrowser.org/developer/seb-config-key.html>`_
will be updated immediately after saving / publishing the configuration changes. This may also lead to unexpected behavior and eventually blocking of already connected SEB clients.
Therefore, SEB Server restricts the change of SEB settings for configurations that are attached to an exam that is currently running to be only possible if there are no
active SEB client connections for this exam at the moment when save / publish the SEB setting changes.
- Sign into SEB Server with your exam administrator role account.
- To change the SEB Settings of an exam configuration that is attached to a currently running exam, make sure that there are no active SEB client connections.
Go to the "Monitoring" section and find and view the concerned exam to make sure there are currently no active SEB client connections.
- Navigate to the "Exam Configuration" menu within the SEB Configuration section on the left-hand side.
- You see a list of all available exam configuration.
- Use the Filter above the list to narrow down the number of entries and to find a specific exam configuration.
- Open the exam configuration either by double-click on the list entry or be selecting the list entry and using the "View Exam Configuration" action.
- See that you currently are not able to edit the SEB settings. There is only a "View SEB Settings" action that opens the SEB settings in read-only mode.
- Use the "Edit Exam Configuration" action from the right action pane to open the edit mode of the exam configuration.
- Change the status from "Used" to "Under Construction" to be able to edit the SEB settings again. There will be a message that tells you the implication with changing SEB settings within an exam configuration that is already
used by a running exam.
- After saving the exam configuration in "Under Construction" it is now possible to edit the SEB settings for this exam configuration.
- Use the "Edit SEB Settings" action from the right action pane to open the SEB settings form in the edit mode.
- Apply your changes to the settings and use "Save / Publish Settings" to make the settings take affect and trigger a configuration change to the exam. This will check first if there are currently no active SEB clients connected within the running exam that uses this exam configuration. If there is one or more active SEB client connected, the action will deny and inform you about the active SEB clients.
.. _setting-dif-label:
SEB Setting Differences
-----------------------
In the current version of SEB Server, there are some differences to some SEB settings as well as some SEB settings that are slightly different or not available at all on the SEB Server.
**SEB settings currently not supported by the SEB Server**
- Start URL: Since SEB Server has already been contacted by a SEB client when downloading the exam configuration this is not used by the exam configuration on SEB Server. But this can be used as fallback URL in the Connection Configuration.
- Embedded Resource: There is currently no embedding supported within exam configurations on SEB Server.
- Additional Dictionaries: There are only the SEB client default dictionaries available in the current SEB Server version.
- Additional Resources: Additional resources are currently not available in the current SEB Server version.
- Embedded Certificates: There is currently no certificate management possible on current SEB Server version.
- Browser Exam Key: There is currently no possibility to generate the Browser Exam Key on the SEB Server. But an already generated Browser Exam Key may be used within the SEB restriction feature on the exam configuration if this feature is supported by the LMS in use.
**SEB settings that have a slightly different form or handling in SEB Server comparing to the SEB configuration tool**
- Download Directory OSX: Since it is not possible within a web-service to choose a local directory on a remote device this is just a text input where one has to give the full-path to the directory on the client device in text form.
- Log Directory OSX, Log Directory Win: Since it is not possible within a web-service to choose a local directory on a remote device this is just a text input where one has to give the full-path to the directory on the client device in text form.
- Permitted Processes / Executable: This is also just a text input field where one can give the name of the process in text form.
**SEB settings from versions before 3.0 that are not supported anymore**
- Permitted Processes / Window Handling Process

View file

@ -1,262 +1,267 @@
Exam Monitoring
===============
A key feature of the SEB Server is the ability to overview and monitor SEB clients that are connected to the SEB Server and participate in a running exam.
It is also possible to interact with individual SEB clients that are connected and send them instructions, e.g.: to quit and reload for example.
But the main focus lies on monitoring and the SEB Server does not take automated actions but always only shows incidents as they are defined by
indicators to an exam supporter. A exam supporter then can take action.
As an exam supporter you see all running exams where you have been assigned to by an exam administrator in a list.
.. image:: images/monitoring/runningExams.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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
and make sure that it is set before the start-time of the exam. If not, use the filter to set the date before the exams start-date and
use the lens-symbol on the right to apply the new filter. If the exam you are looking for is still not on the list, please contact a
exam administrator of your institution to get help and check if you are correctly assigned to the exam as an exam supporter.
To monitor an exam either double-click on the list entry of the exam or select the list entry and use the "Monitoring" action form the
right action pane to navigate into the main page of exam monitoring.
On the main page of exam monitoring you find a heat-map list of all SEB client connections that are connected to the exam since the
exam is running. There are state filter switches on the right action pane that allows to show/hide SEB client connection of specified states.
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
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:
- **User Name or Session** The user account or user session identifier sent by the LMS to the SEB client and from SEB client to the SEB Server. This identifier may vary depending on the LMS that is involved. For Open edX it is the user account identifier (username).
- **Connection Info** The IP address of the device the connected SEB client is running plus some additional information about the operating system and the SEB version.
- **Status** The status of the SEB client connection.
The following SEB connection states are defined:
- **Connection Requested** This state appears from when a SEB client contacted to SEB Server the first time until the SEB client has finished up the hand-shake protocol with the SEB Server and the student has logged into the LMS.
- **Active** This state appears after successful hand-shake and login into LMS and stays as long as the SEB connection is available and not closed or terminated
- **Missing** This state appears when a SEB connection is currently in active state but has missing ping (last ping last longer than the highest ping threshold of the ping indicator).
- **Closed** This state marks a closed SEB connection that was once active.
- **Canceled** This state marks a SEB connection that has been canceled.
This general connection attributes are followed by the indicator attributes of all indicator defined by the exam. The column name of an indicator is
the name of the indicator defined in the exam. The cell shows the measured value of the indicator for each SEB client connection and
the cell is tinted in the color of the reached threshold also defined for each indicator on the exam administration.
**Search**
Since the monitoring heat-map list is automatically sorted and cannot be filtered except on connection status, there is a search feature to find a
particular connection or a set of connections. To search connection on a running exam, please use the "Search" action from the right action pane.
A search pop-pup will appear with all connection is a usual list with the possibility to filter and sort the entries.
Double-click on an entry to go to the detail view of the specified SEB client connection.
.. image:: images/monitoring/search.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/search.png
**Instructions**
Instructions are actions applied to one or more SEB client connections that also can apply a signal to an active SEB Client connection to
instruct the SEB client to do a particular action on client side. In the monitoring view you can select one or more list entries
with usual list (multi)selection by holding Ctrl or Shift key plus right mouse click(s). Currently there are two instructions.
- **Quit SEB Client** Sends a quit instruction to the SEB Client to quit the session. This can be applied to all active SEB client connection with the "Quit all SEB Clients" action from the right action pane or to all selected SEB client connections with the "Quit Selected SEB Clients" action.
- **Mark As Canceled** Can be applied to all inactive SEB client connections to enforce the inactive SEB client connection to "Canceled" state. This can be used to mark and remove inactive SEB client connection you don't want to have on the main monitoring board anymore when the filter for canceled SEB client connections is set to hide.
**Filter**
There are connection state filter to hide/show SEB client connection in particular states. These are located in the right action pane hand has the name of the
filter action that will be performed on click (hide/show) and the name of the affected connection status. With this actions you are able to toggle between
hide and show SEB client connection of a particular state.
- **Show/Hide Requested** Use this to show or hide all SEB client connections that are currently in the "Requested" state and are not responding anymore.
- **Show/Hide Active** Use this to hide SEB client connections in active state that has no incident and are not missing. If this filter is enabled and an active SEB connection gets an incident or is marked as missing it suddenly appears in the list. So no incidences are accidentally hidden. This feature is best used for exams with a lot of participants to keep a good overview.
- **Show/Hide Closed** Use this to show or hide all SEB client connections that are currently in the "Closed" state.
- **Show/Hide Canceled** Use this to show or hide all SEB client connections that are currently in the "Canceled" state.
Since SEB Server version 1.3 each filter also shows the current number of connection in the particular state. Now one has an overview of how many connections
are there for an exam and in witch state.
.. note::
When a certain state filter is set to hide and a particular SEB client connection switches into that state, it will automatically disappear from the list.
Detailed View
-------------
To view more details of a particular SEB client connection either select the SEB client connection entry from the list and use the "View Details" action
from the right action pane or just double-click the SEB client connection entry from the list. In the details view you also see all the attributes
in a form and additional a list of all events and logs the SEB client has sent to the SEB Server for this session so far.
.. image:: images/monitoring/clientMonitoring.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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
sends along with the event to the SEB Server and the server time is the time the SEB Server got the event. With this it is also possible to see or
overview temporary network latency or other irregularities, when this two time values differs much.
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.
Optional Live Proctoring
------------------------
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 appear 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>`_ or `Jitsi Meet SaS <https://jaas.8x8.vc/#/>`_
- In both services while broadcasting, it is not guaranteed that a student always see the proctor. Usually the meeting service shows or pins the participant that is currently speaking automatically.
Finished Exams
--------------
Since SEB Server version 1.4 there is a new section "Finished Exams" within the monitoring section to view finished and archived exams
like you do within the monitoring. You see all the SEB connections that has been connected to the exam when running and are able to view
particular SEB client connection details by either double-click on a SEB client connection entry in the list or by selection and using the View action
on the right action pane.
In the "Finished Exams" list you can see all finished or archived exams and filter the list by Name, State and Type.
.. image:: images/monitoring/finishedExams.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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
but with no update since the SEB connections are not active and the data is not changing anymore. You are able to filter the list by
User or Session Info, Connection Info or Status and are also be able to sort the list even for indicator columns.
.. image:: images/monitoring/finishedExam.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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.
In the detail view you see the same information for a particular SEB client connection as within the usual monitoring view. You can view
the SEB client logs of a SEB client connection here and analyze it after the exam was running.
.. image:: images/monitoring/finishedClientConnection.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/finishedClientConnection.png
All SEB Client Logs
-------------------
As an exam administrator as well as an exam supporter, you are able to search SEB client events for all exams that have been run on the SEB Server and that
you have access to within your user-account privilege settings. As an exam supporter you will only see the SEB client logs of the exams you are assigned to.
To search all SEB client log events, go the the "Monitoring" section and click on the "SEB Client Logs" menu on the left menu pane. The SEB Server will show
you a list of all SEB client logs ever happen and you have access to. You can filter and sort the list as usual by using the filter above to find all logs
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
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
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.
**Export filtered client logs**
To export all currently filtered client logs in CSV format, please use the "Export CSV" action form the right action pane. SEB Server will then convert and download
all client logs for you. This might take some time if there are a lot of logs to export.
.. note::
Please avoid exporting of huge log files while one or more performance intensive exam are running to not stress the service unnecessarily.
**Delete filtered client logs**
To delete all currently filtered client logs, please use the "Delete Logs" action form the right action pane.
.. note::
On deletion, all available logs will permanently be deleted from the persistent storage. So please make sure you want to delete all
logs that are currently displayed in the list before deleting.
Exam Monitoring
===============
A key feature of the SEB Server is the ability to overview and monitor SEB clients that are connected to the SEB Server and participate in a running exam.
It is also possible to interact with individual SEB clients that are connected and send them instructions, e.g.: to quit and reload for example.
But the main focus lies on monitoring and the SEB Server does not take automated actions but always only shows incidents as they are defined by
indicators to an exam supporter. An exam supporter then can take action.
As an exam supporter you see all running exams where you have been assigned to by an exam administrator in a list.
.. image:: images/monitoring/runningExams.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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
and make sure that it is set before the start-time of the exam. If not, use the filter to set the date before the exams start-date and
use the lens-symbol on the right to apply the new filter. If the exam you are looking for is still not on the list, please contact an
exam administrator of your institution to get help and check if you are correctly assigned to the exam as an exam supporter.
To monitor an exam either double-click on the list entry of the exam or select the list entry and use the "Monitoring" action form the
right action pane to navigate into the main page of exam monitoring.
On the main page of exam monitoring, you find a heat-map list of all SEB client connections that are connected to the exam since the
exam is running. There are state filter switches on the right action pane that allows to show/hide SEB client connection of specified states.
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
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:
- **User Name or Session** The user account or user session identifier sent by the LMS to the SEB client and from SEB client to the SEB Server. This identifier may vary depending on the LMS that is involved. For Open edX it is the user account identifier (username).
- **Connection Info** The IP address of the device the connected SEB client is running plus some additional information about the operating system and the SEB version.
- **Status** The status of the SEB client connection.
The following SEB connection states are defined:
- **Connection Requested** This state appears from when a SEB client contacted to SEB Server the first time until the SEB client has finished up the hand-shake protocol with the SEB Server and the student has logged into the LMS.
- **Active** This state appears after successful hand-shake and login into LMS and stays as long as the SEB connection is available and not closed or terminated
- **Missing** This state appears when a SEB connection is currently in active state but has missing ping (last ping last longer than the highest ping threshold of the ping indicator).
- **Closed** This state marks a closed SEB connection that was once active.
- **Canceled** This state marks a SEB connection that has been canceled.
This general connection attributes are followed by the indicator attributes of all indicators defined by the exam. The column name of an indicator is
the name of the indicator defined in the exam. The cell shows the measured value of the indicator for each SEB client connection and
the cell is tinted in the color of the reached threshold also defined for each indicator on the exam administration.
**Search**
Since the monitoring heat-map list is automatically sorted and cannot be filtered except on connection status, there is a search feature to find a
particular connection or a set of connections. To search connection on a running exam, please use the "Search" action from the right action pane.
A search pop-pup will appear with all connection is a usual list with the possibility to filter and sort the entries.
Double-click on an entry to go to the detail view of the specified SEB client connection.
.. image:: images/monitoring/search.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/search.png
**Instructions**
Instructions are actions applied to one or more SEB client connections that also can apply a signal to an active SEB Client connection to
instruct the SEB client to do a particular action on client side. In the monitoring view you can select one or more list entries
with usual list (multi)selection by holding Ctrl or Shift key plus right mouse click(s). Currently there are two instructions.
- **Quit SEB Client** Sends a quit instruction to the SEB Client to quit the session. This can be applied to all active SEB client connection with the "Quit all SEB Clients" action from the right action pane or to all selected SEB client connections with the "Quit Selected SEB Clients" action.
- **Mark As Canceled** Can be applied to all inactive SEB client connections to enforce the inactive SEB client connection to "Canceled" state. This can be used to mark and remove inactive SEB client connection you don't want to have on the main monitoring board anymore when the filter for canceled SEB client connections is set to hide.
**Filter**
There are connection state filter to hide/show SEB client connection in particular states. These are located in the right action pane hand has the name of the
filter action that will be performed on click (hide/show) and the name of the affected connection status. With this actions, you are able to toggle between
hide and show SEB client connection of a particular state.
- **Show/Hide Requested** Use this to show or hide all SEB client connections that are currently in the "Requested" state and are not responding anymore.
- **Show/Hide Active** Use this to hide SEB client connections in active state that has no incident and are not missing. If this filter is enabled and an active SEB connection gets an incident or is marked as missing it
suddenly appears in the list. So, no incidences are accidentally hidden. This feature is best used for exams with a lot of participants to keep a good overview.
- **Show/Hide Closed** Use this to show or hide all SEB client connections that are currently in the "Closed" state.
- **Show/Hide Canceled** Use this to show or hide all SEB client connections that are currently in the "Canceled" state.
Since SEB Server version 1.3 each filter also shows the current number of connections in the particular state. Now one has an overview of how many connections
are there for an exam and in which state.
.. note::
When a certain state filter is set to hide, and a particular SEB client connection switches into that state, it will automatically disappear from the list.
Detailed View
-------------
To view more details of a particular SEB client connection either select the SEB client connection entry from the list and use the "View Details" action
from the right action pane or just double-click the SEB client connection entry from the list. In the details view you also see all the attributes
in a form and additional a list of all events and logs the SEB client has sent to the SEB Server for this session so far.
.. image:: images/monitoring/clientMonitoring.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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
sends along with the event to the SEB Server and the server time is the time the SEB Server got the event. With this it is also possible to see or
overview temporary network latency or other irregularities, when those two time values differ much.
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.
Optional Live Proctoring
------------------------
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.
Finished Exams
--------------
Since SEB Server version 1.4 there is a new section "Finished Exams" within the monitoring section to view finished and archived exams
like you do within the monitoring. You see all the SEB connections that has been connected to the exam when running and are able to view
particular SEB client connection's details by either double-click on a SEB client connection entry in the list or by selection and using the View action
on the right action pane.
In the "Finished Exams" list you can see all finished or archived exams and filter the list by Name, State and Type.
.. image:: images/monitoring/finishedExams.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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
but with no update since the SEB connections are not active and the data is not changing anymore. You are able to filter the list by
User or Session Info, Connection Info or Status and are also able to sort the list even for indicator columns.
.. image:: images/monitoring/finishedExam.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/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.
In the detail view you see the same information for a particular SEB client connection as within the usual monitoring view. You can view
the SEB client logs of a SEB client connection here and analyze it after the exam was running.
.. image:: images/monitoring/finishedClientConnection.png
:align: center
:target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/monitoring/finishedClientConnection.png
All SEB Client Logs
-------------------
As an exam administrator as well as an exam supporter, you are able to search SEB client events for all exams that have been run on the SEB Server and that
you have access to within your user-account privilege settings. As an exam supporter you will only see the SEB client logs of the exams you are assigned to.
To search all SEB client log events, go the "Monitoring" section and click on the "SEB Client Logs" menu on the left menu pane. The SEB Server will show
you a list of all SEB client logs ever happened and you have access to. You can filter and sort the list as usual by using the filter above to find all logs
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
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
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.
**Export filtered client logs**
To export all currently filtered client logs in CSV format, please use the "Export CSV" action form the right action pane. SEB Server will then convert and download
all client logs for you. This might take some time if there are a lot of logs to export.
.. note::
Please avoid exporting of huge log files while one or more performance intensive exam are running to not stress the service unnecessarily.
**Delete filtered client logs**
To delete all currently filtered client logs, please use the "Delete Logs" action form the right action pane.
.. note::
On deletion, all available logs will permanently be deleted from the persistent storage. So please make sure you want to delete all
logs that are currently displayed in the list before deleting.