From f5df64a00395feca48915a151df64904c4fed975 Mon Sep 17 00:00:00 2001 From: anhefti Date: Wed, 13 May 2020 10:02:01 +0200 Subject: [PATCH 1/4] docu --- README.rst | 34 ++++++- docs/exam.rst | 108 ++++++++++----------- docs/exam_import.rst | 13 +++ docs/exam_indicator | 0 docs/exam_indicator.rst | 89 +++++++++++++++++ docs/exam_restriction | 69 +++++++++++++ docs/images/exam/sebRestriction.png | Bin 0 -> 56230 bytes docs/images/exam/sebRestrictionDetails.png | Bin 0 -> 55019 bytes docs/lmssetup.rst | 2 +- docs/overview.rst | 101 ++++++++++++------- 10 files changed, 316 insertions(+), 100 deletions(-) delete mode 100644 docs/exam_indicator create mode 100644 docs/exam_indicator.rst create mode 100644 docs/exam_restriction create mode 100644 docs/images/exam/sebRestriction.png create mode 100644 docs/images/exam/sebRestrictionDetails.png diff --git a/README.rst b/README.rst index 1cb6b110..47bd8aa7 100644 --- a/README.rst +++ b/README.rst @@ -16,13 +16,16 @@ What is Safe Exam Browser (SEB)? What is Safe Exam Browser Server (SEB Server)? ---------------------------------------------- -While the interaction with SEB is well known in Learning Management Systems (LMS) like `Open edX `_, `Moodle `_ etc. the SEB Server is an entirely new component to set up secured online exams. It interacts with the assessments system/LMS as well as with SEB on exam clients.It supports exam scenarios on student owned devices (BYOD) and on managed devices. +While the interaction with SEB is well known in Learning Management Systems (LMS) like `Open edX `_, +`Moodle `_ etc. the SEB Server is an entirely new component to set up secured online exams. +It interacts with the assessments system/LMS as well as with SEB on exam clients.It supports exam scenarios on student owned devices (BYOD) +and on managed devices. SEB Server is a modern webservice with a REST API and a GUI service on top of it. SEB Server is written in Java and uses Docker for installation and setup. -SEB Server provides a range of basic functionality: +SEB Server provides a range of basic functionalities: -- Built-in institutional multi-tenancy +- Built-in institutional multitenancy - Linking of multiple Learning Management Systems (LMS). Currently supported: `Open edX `_ - Accessing the Course/Exam-API of a linked LMS to import a courses or exams for managing with SEB Server - Creation and administration of SEB Client Configurations that can be used to startup a SEB and that contains SEB Server connection information for a SEB Client @@ -30,11 +33,36 @@ SEB Server provides a range of basic functionality: - Automated SEB restriction on LMS side if the specified type of LMS supports the SEB restriction API - Monitoring and administration of SEB Client connections within a running exam +The image below shows a very simplified diagram that locates the SEB Server in a setup with a Learning Management System (LMS) and the +Safe Exam Browser (SEB). The SEB Server communicates with the LMS for managing and prepare exams as well as with the SEB Client to ensure +a more automated and secure setup for high-stake exams. + +SEB - SEB Server Compatibility +------------------------------ + +The table below shows available and upcoming SEB client versions that has SEB Server integration support and are compatible with particular +SEB Server version. There is an entry for each platform with a beta or testing release date and a official release date. + +**SEB Server Version 1.0.X** + +.. csv-table:: + :header: "Platform / OS", "Beta/RC Version", "Release Version" + + "SEB Client for iOS", "22. April 2020 - Version 2.1.50", "Q2 2020 - Version 2.2" + "SEB Client for Mac", "Q2 2020 - Version 2.2", "Q2 2020 - Version 2.2" + "SEB Client for iOS", "Q2 2020 - Version 3.1", "Q3 2020 - Version 3.1" + + Install SEB Server ------------------ For a complete guide to install SEB Server please go to `SEB Server Installation Guide `_ +Getting started with SEB Server +------------------------------- + +For a complete SEB Server user guide please go to `SEB Server User Guide `_ + Project Background ------------------ diff --git a/docs/exam.rst b/docs/exam.rst index 86010930..6435bd6a 100644 --- a/docs/exam.rst +++ b/docs/exam.rst @@ -25,7 +25,9 @@ indicators for monitoring as well as defining details of the SEB restriction if :align: center :target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/examNotReady.png + At the beginning of the page - if there is no note - you see all the details of the exam. + - Name: Is the name of the course, defines on the LMS - LMS Setup: Is the name of the LMS Setup on the SEB Server from which the course was imported - Start-Time: Is the date and time when the exam is starting. This is defined on the LMS @@ -73,7 +75,8 @@ client that receives the encrypted SEB exam configuration will prompt the user f .. note:: If you need to use the same SEB exam configuration for different exams, you can just make a copy of a SEB exam configuration that is already used - by another exam. To do so go the the "Exam Configuration" section and find the specified SEB exam configuration by using the filter. If you have + by another exam. + - To do so go the the "Exam Configuration" section and find the specified SEB exam configuration by using the filter. If you have found the SEB exam configuration double-click on the table entry to open the SEB exam configuration. Then use the "Copy Exam Configuration" action from the right action pane. A pop-up will prompt you the give a new name and optionally description for the copy. Click "OK" and the system will generate a copy of the original SEB exam configuration with the new name and description and will lead you to the details page of the copy configuration. @@ -106,78 +109,65 @@ see the details of the SEB exam configuration as well as a table of exams where to apply one SEB exam configuration to one exam, there is only one entry and you can quickly navigate back to the exam be also double-click on the table entry of the exam. +Other Features +-------------- -Apply Indicators ------------------ +Currently there are two other features that can be managed within the exam administration. -For monitoring connected SEB clients, SEB server supports some indicators that can be defines within an exam and that are shown and measured during an -exam. When you import, the application automatically creates a default ping-indicator for the exam. You are able to modify this default indicator and also -add some other indicators to the exam to be able to get notified while monitoring a exam session. +- **:ref:`exam-indicators-label`** : Define indicators to measure values for each connected SEB client when an exam is running. And +define thresholds for the indicators to show incidences. -The type of indicators are pre-defined within the SEB Server and restricts the number of available indicators that can be used. Currently following -indicators are supported: - - - Last Ping Time: | This indicator measures the time that has passed since the last ping from a specified SEB client was received by the SEB Server in milliseconds. - | This can be used to monitor constant SEB client connections and get notified when a SEB client connection gets lost for some defined - | time or when a SEB client connection that has been list is back again. - | This indicator is used as default indicator and automatically applied to the exam on import. You are able to modify this indicator - | and also delete it but we recommend to have this basic indicator in place for every exam. - - - Errors: This indicator measures the number of error-logs a specified SEB client is sending to the SEB Server. - - Warnings: This indicator measures the number of warning-logs a specified SEB client is sending to the SEB Server. - -You can define thresholds for each indicator. A threshold is defined by an indication-color and by a threshold-value. On the monitoring side, the -indicator for each SEB client connection with change to the threshold color when the measured indicator value has reached the threshold-value. - -To add a new indicator to the exam you can use the "Add Indicator" action from the right action pane. In the indicator edit page you can give the -new indicator a name. This name will be displayed in the SEB client connection table on monitoring section as column name for the column of this -indicator. Then you can choose an "Type" that specified the type of indicator. Choose this from a drop-down selection of supported indicators. -If you have selected one indicator type, a discription of this indicate will be shown just below the "Type" attribute. You can also define a "Default Color" -for the indicator. An indicator which measured value has not reached any defines threshold will be shown in this color on the SEB client -connection table of the monitoring section. - -.. note:: - To select a color click on the brush-palette icon of the color input field to open up a color chooser pop-up window. Within the color chooser - you can select one of the basic colors provided by the chooser or by defining the red, green and blue part of the color. - -.. image:: images/exam/lmsExamLookup.png - :align: center - :target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/editIndicator.png - +- **:ref:`seb_restriction-label`** : If this feature is supported within the underling LMS of the exam, you are able to automatically +restrict the course or quiz on the LMS for SEB only access and may also be able to set the conditions and attributes for the restriction +as defined by the LMS. -.. _seb_restriction-label: - - -Automated SEB restriction --------------------------- - -TODO - Use Cases --------- **Apply or remove exam supporter** +Exam supporter "Eric" was planed to support the upcoming exam but he cancelled for reasons of illness and exam supporter "Anie" will take over. +Therefore you have to remove Eric from the exams supporter list while also adding Anie to the list. So she will be able to support the running exam. + +- Login as an exam administrator and go to the "Exam" page under the "Exam Administration" section. +- Use the filter to find the exam on that you have to change the supporter assignments. +- Double click the list entry of the exam to go to the exam details page. Check if you are on the right exam. +- Use the "Edit Exam" action form the right action pane to go into the exam edit page. +- Find Eric's user account on the list of selected exam supporter and use the minus sign icon on the entry to remove Eric from the list of exam supporter +- Click into the input field of the exam supporter selector and start typing the name of Anie's account. The drop down will present you all matching entries. +select Anie's account to add it to the list of selected exam supporter. +- Use the "Save Exam" action on the right action pane to save and confirm the task. This will lead you also back to the exam details page. +- Check again if all exam supporter are correctly assigned for the exam. + **Change the type of exam** +Although the exam type has just informative character for now and did not affect the exam in any other way, you have to change the type because +your institution use the type information of the exam to set them into context. + +- Login as an exam administrator and go to the "Exam" page under the "Exam Administration" section. +- Use the filter to find the exam on that you have to change the supporter assignments. +- Double click the list entry of the exam to go to the exam details page. Check if you are on the right exam. +- Use the "Edit Exam" action form the right action pane to go into the exam edit page. +- Use the drop down selection to change the type of the exam. +- Use the "Save Exam" action on the right action pane to save and confirm the task. This will lead you also back to the exam details page. + **Apply a SEB exam configuration** -**Remove a SEB exam configuration** - -**Add an indicator** - -**Modify indicators** - -**Apply automated SEB restriction** - - - - - - - - +- Login as an exam administrator and go to the "Exam" page under the "Exam Administration" section. +- Use the filter to find the exam on that you have to change the supporter assignments. +- Double click the list entry of the exam to go to the exam details page. Check if you are on the right exam. +- If the exam has already one exam configuration attached you have first to delete this attachment before being able to attach another exam configuration. +Use the "Delete Configuration" action from the right action pane to remove the attached exam configuration. +- Use the "Add Exam Configuration" action form the right action pane to open up the attachment dialog. +- If there is currently no exam configuration that can be attached to the exam, an information dialog will be shown instead of the attachment dialog. +- On the attachment dialog use the drop down selection to select the exam configuration you want to apply to the exam. +The drop down selection shows the names of the available exam configurations and you can filter this names by start typing the name of the exam configuration you +want to find in the input field of the selection. +- When you have selected a exam configuration the dialog shows you some additional information about the exam configuration. +- If you want or need to put an password protected encryption to the exam configuration for this exam you can do so by give the password for the encryption also within the attachment dialog. +Be aware that every SEB client that will receive an encrypted exam configuration from the SEB Server will prompt the user to give the correct password. In most cases an +encryption of the exam configuration is not needed, because a secure HTTPS connection form SEB client to SEB Server is already in place. diff --git a/docs/exam_import.rst b/docs/exam_import.rst index 26af2634..c44b894c 100644 --- a/docs/exam_import.rst +++ b/docs/exam_import.rst @@ -76,4 +76,17 @@ Use Cases ** Import a course as exam** +To start setting up a course or quiz form an existing LMS as e-assessment with SEB and SEB Server you have to find this course or quiz on the +SEB Server and import it as exam. Define a type and apply exam supporter. + +- Login as an exam administrator and go to the "LMS Exam Lookup" page under the "Exam Administration" section. +- If you are not sure if the LMS that runs your course has already been setup within the SEB server, go first to the "LMS Setup" page and try to find the particular LMS in the list. +If you can't find it, please contact an institutional administrator or setup the LMS by yourself as described in :ref:`lms-setup-label`. +- Find your course or quiz by using the filter of the list and the list navigation as usual. +- Double click on the list entries to get all information about a particular course or quiz. +- Once you have found the course or quiz, select it on the list and use the "Import Exam" action on the right action pane. +- The system will lead you to the exam import page where you see all the details of the course or quiz and where you can set a type and apply exam supporter before importing. +- Choose a type for the imported exam in the "Exam Type" selection. The type of an exam is currently just informative hand will cause no restriction for the imported exam. +- Select as many exam supporter as you want to be able to support the running exam. Read above, how to find and select exam supporter with the drop down multi selection. +- When all is properly set, use the "Save Exam" action on the right action pane to save the exam and complete the task. diff --git a/docs/exam_indicator b/docs/exam_indicator deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/exam_indicator.rst b/docs/exam_indicator.rst new file mode 100644 index 00000000..a4b8f6e9 --- /dev/null +++ b/docs/exam_indicator.rst @@ -0,0 +1,89 @@ +.. _exam-indicators-label: +Monitoring Indicators +--------------------- + +For monitoring connected SEB clients, SEB server supports some indicators that can be defined within an exam and that are shown and measured during an +exam. When you import, the application automatically creates a default ping-indicator for the exam. You are able to modify this default indicator and also +add some other indicators to the exam to be able to get notified while monitoring a exam session. + +The type of indicators are pre-defined within the SEB Server and restricts the number of available indicators that can be used. Currently following +indicators are supported: + + - Last Ping Time: This indicator measures the time that has passed since the last ping from a specified SEB client was received by the SEB Server in milliseconds. + This can be used to monitor constant SEB client connections and get notified when a SEB client connection gets lost for some defined + time or when a SEB client connection that has been list is back again. + This indicator is used as default indicator and automatically applied to the exam on import. You are able to modify this indicator + and also delete it but we recommend to have this basic indicator in place for every exam. + + - Errors: This indicator measures the number of error-logs a specified SEB client is sending to the SEB Server. + - Warnings: This indicator measures the number of warning-logs a specified SEB client is sending to the SEB Server. + +You can define thresholds for each indicator. A threshold is defined by an indication-color and by a threshold-value. On the monitoring side, the +indicator for each SEB client connection with change to the threshold color when the measured indicator value has reached the threshold-value. + +To add a new indicator to the exam you can use the "Add Indicator" action from the right action pane. In the indicator edit page you are able to give the +new indicator a name. This name will be displayed in the SEB client connection table on monitoring section as column name for the column of this +indicator. Then you are able to choose a "Type" that specifies the type of indicator. Choose this from a drop-down selection of supported indicators. +If you have selected one indicator type, a description will be shown just below the "Type" attribute. + +You can define a "Default Color" for the indicator. An indicator which measured value has not reached any defines threshold will be shown in this +color on the SEB client connection table of the monitoring section. + +.. note:: + To select a color click on the brush-palette icon of the color input field to open up a color chooser pop-up window. Within the color chooser + you can select one of the basic colors provided by the chooser or by defining the red, green and blue part of the color. + +.. image:: images/exam/lmsExamLookup.png + :align: center + :target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/editIndicator.png + + +Below the default color you see a list of thresholds. Use the plus sign icon to add a new threshold to the list and on an existing threshold use +the minus sign icon to remove a particular threshold form the list. A threshold has a threshold-value and a threshold-color. The threshold value +must be set in the format of the measured indicator value that is described within the type description. This is usually an integer or floating-point +number. The color for each threshold can be set using the color chooser tool by clicking on the brush-palette icon on the right side of each threshold. +The color chooser pop-up is the same as for the default color. + +.. note:: + In the monitoring section when the exam is running, an indicator will be shown within a column with given name of the indicator in the SEB connection + table. For each connection the measured indicator value will be displayed in the cell of the individual SEB client connection rows. If the measured + indicator value for a particular SEB client reaches a defined threshold, the cell will be displayed in the defined color of the threshold. + + +Use Cases +--------- + +**Add an indicator** + +- Login as an exam administrator and go to the "Exam" page under the "Exam Administration" section. +- Use the filter to find the exam on that you have to change the supporter assignments. +- Double click the list entry of the exam to go to the exam details page. Check if you are on the right exam. +- Use the "Add Indicator" action from the right action pane to create a new indicator. This will lead you to the indicator edit page. +- Set a name for the indicator and choose the type of indicator you want to use. Read the description above to learn more about indicators and supported types of indicators. +- You can also define a default color for the indicator that is displayed on the monitoring page while the exam is running and a particular SEB client has no incidence as defined for this indicator. +- To select a color use the brush-palette icon on the right side of the color input field to open up a color chooser dialog. +- Now you can define some threshold for the indicator that will help you find incidents and get informed about on the monitoring while the exam is running. +To do so you can use the plus icon on the threshold list to add a new empty threshold to the list. You can choose a value for the threshold and a color +that would indicate an overflow of the given value from the measured value of the indicator. +- To remove a already defined threshold from the list of threshold, use the minus icon on the right side of the particular threshold. +- When everything is set up properly use the "Save Indicator" action to save the indicator and go back to the exam details page. +- Back in the exam details page, you can check if your indicator is in the list and all thresholds are correctly set by going down to the indicators list of the exam. + +**Modify indicators** + +- Login as an exam administrator and go to the "Exam" page under the "Exam Administration" section. +- Use the filter to find the exam on that you have to change the supporter assignments. +- Double click the list entry of the exam to go to the exam details page. Check if you are on the right exam. +- Scroll down to the indicator section of the exam details page and find the indicator you want to modify. +- Double click on the indicator entry from the list to open the indicator edit page. +- In the indicator edit page modify the indicator for your new needs. Add / remove thresholds or change the name or type of the indicator. +- To confirm your changes and save the indicator, use the "Save Indicator" action from the right action pane. + +**Delete an indicator** + +- Login as an exam administrator and go to the "Exam" page under the "Exam Administration" section. +- Use the filter to find the exam on that you have to change the supporter assignments. +- Double click the list entry of the exam to go to the exam details page. Check if you are on the right exam. +- Scroll down to the indicator section of the exam details page and find the indicator you want to delete. +- Select the indicator from the list ans use the "Delete Indicator" action from the right action pane to delete the indicator. + diff --git a/docs/exam_restriction b/docs/exam_restriction new file mode 100644 index 00000000..aa45ab14 --- /dev/null +++ b/docs/exam_restriction @@ -0,0 +1,69 @@ +.. _seb_restriction-label: +Automated SEB Restriction +-------------------------- + +If the corresponding LMS of an exam supports the automated SEB restriction feature, the SEB restriction can be managed within the exam details page. +To navigate to the exam details page of an exam go to the "Exam" page under the "Exam Administration", find the specified exam in the list by using +the list filter and double click on the list entry of the exam you want to open the details page. + +In the exam details page you will see two action related to the SEB restriction feature on the right action pane. + +.. image:: images/exam/sebRestriction.png + :align: center + :target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/sebRestriction.png + +Use the "Apply SEB Lock" on an exam that has not already locked the course for SEB on the LMS to do apply the restriction and lock the course or quiz +for SEB access only. This will call the SEB course restriction API on the LMS and will send all information to lock the course on the LMS. +On an exam where the restriction lock is already in place, use the "Release SEB Lock" action to remove the restriction in the LMS and unlock the course. + +.. note:: + If the exam is already running on import the system will automatically restrict the course on the LMS with the available restriction details. + +Use the "SEB Restriction Details" action to open up a dialog to define all SEB restriction details that the LMS of the exam and its SEB course +restriction API is supporting. There are two global restriction details that are SEB specific and should be supported by every LMS that serves +a course restriction API for SEB. The `Config Key `_ and the `Browser Exam Key `_. +The Config Key is automatically generated by the exam configuration that is applied to the exam. And the Browser Exam Key can be applied within a +comma separated list if needed. + +.. image:: images/exam/sebRestrictionDetails.png + :align: center + :target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/exam/sebRestrictionDetails.png + +**SEB restriction on Open edX** + +To be able to use the SEB restriction feature with a Open edX LMS, you need to install the `SEB Open edX plugin `_ +from eduNEXT. Please consult the documentation for installing the `SEB Open edX plugin `_ as well as for the +use of all additional supported restriction attributes. + +.. note:: + If you change the attached exam configuration either by changing the attachment or by changing the attributes of a attached exam configuration + for an exam that has the SEB restriction in place, the Config Key generated from the exam config that is also changing, will automatically be + updated on the LMS. Therefore such an action that triggers an update may take some more time to complete as when the restriction is not in place. + + +Use Cases +--------- + +**Modify SEB restriction details (Open edX)** + +- Login as an exam administrator and go to the "Exam" page under the "Exam Administration" section. +- Use the filter to find the exam on that you have to change the supporter assignments. +- Double click the list entry of the exam to go to the exam details page. Check if you are on the right exam. +- Use the "SEB Restriction Details" action from the right action pane to open the restriction details dialog. +- In the restriction details dialog you will see all supported restriction attributes and you can define the restriction for your needs. +- To apply the new restriction details use the "OK" action of the dialog or use the "Cancel" action to abort and close the dialog. +- When the SEB restriction is active on the LMS, the system will automatically update the SEB restriction with the new details on the LMS. +- If the SEB restriction is not active in this moment, the details will be saved and applied when the restriction is activated. + + +**Apply automated SEB restriction (Open edX)** + +- Login as an exam administrator and go to the "Exam" page under the "Exam Administration" section. +- Use the filter to find the exam on that you have to change the supporter assignments. +- Double click the list entry of the exam to go to the exam details page. Check if you are on the right exam. +- Use the "Apply SEB Lock" action from the right action pane to activate the SEB restriction lock for this course on the LMS. +- Use the "Release SEB Lock" action from the right action pane to deactivate the SEB restriction lock for this course on the LMS. + +.. note:: + If a SEB restriction lock is active on the LMS, every change on the exam or related components that will affect a change on the restriction + details will automatically be updated on the LMS. You don't have to apply the SEB restriction lock again for update. diff --git a/docs/images/exam/sebRestriction.png b/docs/images/exam/sebRestriction.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd1c19a834e896db39de20d28390ef39df3a490 GIT binary patch literal 56230 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 E4+3@M*Z=?k literal 0 HcmV?d00001 diff --git a/docs/lmssetup.rst b/docs/lmssetup.rst index c599e358..75263cab 100644 --- a/docs/lmssetup.rst +++ b/docs/lmssetup.rst @@ -1,6 +1,6 @@ .. _lms-setup-label: -Leraning Management System Setup +Learning Management System Setup ================================ Overview diff --git a/docs/overview.rst b/docs/overview.rst index badf7b46..0f77ef7a 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -4,35 +4,58 @@ Overview Safe Exam Browser Server (SEB Server) is a web-service application to help setting up and maintain e-assessments with `Safe Exam Browser `_ (SEB) in a centralized manner. The SEB Server application can be used by an institution or organization as a self-maintained, lightweight server application to organize and setup their e-assessments. -Furthermore SEB Server can be setup and run within a cloud infrastructure by general service provider. - For an organization or institution that wants to provides safe e-assessments with `Safe Exam Browser `_, SEB Server can help to organize this e-assessments more effectively, safely and in one place. +Furthermore SEB Server can be setup and run within a cloud infrastructure by general service provider to offer e-assessments with +SEB and SEB Server as a service. SEB Server comes with a built-in multi-tenancy functionality that allows to create and maintain institutions that are separated by each other. This is most convenient for smaller groups of organizations or institutions that want to have one self maintained SEB Server instance but need internal separation of institutions. -Since SEB Server is generally an administration tool, meaning used to do administration work and task to setup and maintain e-assessments, -there is yet just a built-in small user-account management where users can register itself and get needed privileges assigned by already registered +Since SEB Server is generally an administration tool, meaning used to do administration work and tasks to setup and maintain e-assessments, +there is yet just a built-in and lightweight user-account management where users can register itself and get needed privileges assigned by already registered administrator users that has the privileges to maintain user accounts. Currently there is no possibility to register with a third -party account and single sign on. +party account and/or single sign on. SEB Server is written in Java and uses Docker for installation and setup. For more information about the architecture and installation, please go to `SEB Server Installation Guide `_ +The key features of SEB Server are: + +- Built-in multi-tenancy capabilities. Create and manage institutions as separated clients. + +- Lightweight user-account management where users can register itself and get needed privileges assigned by already registered +administrator users that has the privileges to maintain user accounts. + +- Track user activities within user-activity-logs for the whole SEB Server or the a client. + +- Create, export and maintain SEB client configurations. Those are needed to startup a Safe Exam Browser client with and contain all information +to connect securely to the SEB Server. + +- Create and maintain SEB exam configurations. Those are sent to a SEB client on connection setup and contain all SEB settings for a particular e-assessment. + +- Setup and maintain Learning Management Systems (LMS) like Open edX or Moodle to be able to navigate and find courses or quizzes on the LMS and to push access-restrictions to the LMS if supported by the LMS + +- Import and maintain courses or quizzes form a LMS. Setup everything that is needed for an e-assessment that is based on a course or quiz form the LMS + +- Apply indicators to the exams to indicate incidences while monitoring running e-assessments. + +- Monitor running e-assessment and have an overview of all connected SEB clients. Manage SEB client connections and view logs sent by individual SEB clients. + + .. _roles_and_usecases: Roles and Use-Cases ----------------------- The SEB Server supports a simple role based privilege system where a role has read, modify and write privileges on certain domain entities. -The privileges for a role are defined and cannot be changed by a user. Roles can be combined within one user-account. +The privileges for a role are pre-defined and cannot be changed by a user. But roles can be combined within one user-account. -Privileges for domain objects are categorized in read, modify and write where write includes creation and deletion grants in addition to the more +Privileges for domain objects are categorized in read, modify and write where write includes creation and deletion grants as well as activation grants in addition to the more restrict modify right that only allows to modify already created entities. They are also categorized in overall, institutional and owner privileges where overall means for all entities, over all available institutions and institutional means only the entities that belongs to the own institution -and owner means the creator or assigned owner of an entity. +whereas owner-privilege means the creator or assigned owner of an entity. There are four different roles. This reflect a good separation of concerns within the SEB Server application administration itself and the setup and maintaining work that has to be done for e-assessments with SEB. @@ -42,73 +65,74 @@ below are the names and a short description of each role. **SEB Server Administrator** -This role is primarily to administer the SEB Server application, create new and maintain available institutions and user-accounts. In addition to that a -SEB Server administrator also has overall read privileges for the most parts to be able to analyze problems and help others to solve them. +This role is primarily to administer the SEB Server application. Create new and maintain available institutions and user-accounts. In addition to that a +SEB Server administrator also has overall read privileges for the most domains to be able to analyze problems and help others to solve them. -A typical use-case for a SEB Server administrator is to create a new institution and an institutional administrator for this institution. -Another use-case would be to maintain registered user accounts, to give more privileges or the entirely deactivate a exisitng user account. +A typical use-case for a SEB Server administrator would be to create a new institution and an institutional administrator for this institution. +Another use-case would be to maintain registered user accounts, to give more privileges. Or to entirely deactivate an existing user account. **Institutional Administrator** An institutional administrator has overall read access for its institution and is able to modify the institution properties as well as create new or maintain existing user-accounts for the belonging institution. Furthermore an institutional administrator is able to create and maintain -learning management system setups and SEB client-configurations for the belonging institution. +learning management system (LMS) setups and SEB client-configurations for the belonging institution. -A typical use-case for a institutional administrator is to give the appropriate roles and privileges to newly registered users of the institution. +A typical use-case for a institutional administrator would be to give the appropriate roles and privileges to newly registered users of the institution. Or another use-case would be to create and maintain SEB client configurations for the institutions and setup and maintain learning management systems within the SEB Server and the belonging institution. **Exam Administrator** -With this role a user is able to prepare an exam for an e-assessment with SEB. A exam administrator is able to view all courses form all +With this role a user is able to prepare an exam for an e-assessment with SEB. A exam administrator is able to view all courses from all learning management systems that are setup for the belonging institution and find a particular course to import this course as an exam within SEB Server. This role is also able to create and maintain SEB exam configurations that can then be assigned to an imported exam. After setting importing an exam, the role is able to setup all aspects of an exam like automated restrictions, allowed supporter and monitoring indicator, to name a few, and prepare the exam for an e-assessment. -A typical use-case for an exam administrator is to create a SEB exam configuration within the templating and configuration section. -Then finding a specific course or quiz from the learning management systems that are defined within the institution. This course or quiz -can then be imported by the administrator as an exam. After that an exam administrator will prepare this exam for run and monitoring by attaching -a exam configuration to it, prepare monitoring indicators and specify the SEB restriction conditions. +A typical use-case for an exam administrator would be to create a SEB exam configuration within the templating and configuration section. +Then to find a particular course or quiz from the learning management systems that is defined within the institution. This course or quiz +can then be imported by the administrator as an exam. After import an exam administrator is able to prepare this exam for run and monitoring by attaching +a exam configuration to it, prepare indicators to monitor incidences and specify the SEB access-restriction conditions for the course or quiz. + **Exam Supporter** -This role is to support a running exam within SEB Server. An exam administrator is able to see the running exams on that he/she has -an assignment and open them either for monitoring or editing some exam attributes or configuration during the exam. +This role is to support a running exam within SEB Server. An exam supporter is able to see the running exams on that he/she has +an assignment and can open them either for monitoring or editing some exam attributes during the exam. -A typical use-case for an exam supporter is on the time an exam is running, to overview the connecting SEB clients and manage them. +A typical use-case for an exam supporter would be when the time an exam is running, to overview the connecting SEB clients and manage them. While SEB server shows incidences or irregularities, a exam supporter can act on them and take the appropriate actions if needed. Sign Up / Sign In ----------------- -What one probably see first when applying to a SEB server application is the login-screen +What one will see first when applying to a SEB server application is the login-screen .. image:: images/overview/login.png :align: center :target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/login.png If you are already registered you can use your username and password to log in. Or use the "Register" button to go the the register -page to create a new user-account. The newly created user account will only have the Exam Supporter role assigned. If one need another -role or more privileges, this must be given and granted by an institutional administrator of the specified institution. +page to create a new user-account. The newly created user account will only have the Exam Supporter role assigned. If you need another +role or more privileges, this must be given and granted by an institutional administrator of the belonging institution. .. image:: images/overview/register.png :align: center :target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/register.png -Fill in the register form and create a new account. After successfully creation, the application redirects to the login page for login. +Fill in the register form and create a new account. After the user account has been successfully created, the application redirects to the login page for login. On the current version, e-mail confirmation is not a feature of the SEB Server application and therefore the e-mail address is just informative by now. -With the "Time Zone" one can choose a specific time zone for an user-account. All dates and times will then be showed within this specific time zone to the user. +With the "Time Zone" you can choose a specific time zone for your user-account. All dates and times will then be showed within this time zone. .. _gui-label: Graphical User Interface ------------------------ -After successful login, one will see the main graphical user interface of the SEB Server application. On the left hand are the activities +After successful login, you will see the main graphical user interface of the SEB Server application. On the left hand are the activities that can be done, categorized within some few main sections with its relating activities underneath. By selecting a activity, -the main content section will show the activity content and the action that are possible for this activity on the right hand +the main content section will show the activity content and the action that are possible for this activity on the right hand side. .. image:: images/overview/overview.png :align: center @@ -120,17 +144,20 @@ The main content usually consist of a list or a form. **Lists** -A list shows all the objects of a particular activity in a table page. A list has paging and if a list has more objects than it fit on one page, -a page navigation is shown at the bottom of the list with the information of the current page and the number of pages along with a page navigation +A list shows all the objects of a particular activity in a table page. A list has paging functionality and the list has more objects than fitting all on one page, +a page navigation is shown at the bottom of the list with the information of the current page and the number of pages along with the page navigation that can be used to navigate forward and backward thought the list pages. Almost all lists have the ability to filter the content by certain column filter that are right above the corresponding columns. -To filter a list one can use the column filter input to narrow down a specific collection of content. Accordingly to the value type of the column, +You can use the column filter input to filter the list and to narrow down a specific collection of content. Accordingly to the value type of the column, there are different types of filter: - Selection, to select one instance of a defined collection of values (drop-down). + - Text input, to write some text that a value must contain. + - Date selection, To select a from-date from a date-picker. A date selection can also have an additional time selection within separate input field + - Date range selection, To select a from- and a to-date within different inputs and a date-picker. A date range selection can also have an additional time range selection within separate input fields .. image:: images/overview/list.png @@ -141,11 +168,11 @@ A list can be sorted within a column by clicking in the column header. The order column header of the sorted column. If sorting functionality is available for a column depends on the column type. There are a few columns that do not have a sort functionality yet. Most columns have a short tool-tip description that pops up while the mouse pointer stays over the column header for a moment. -A column tool-tip usually also explains how to use the column-related filter +A column tool-tip usually also explains how to use the column-related filter. **Forms** -Forms are used for object specific data input or presentation, like HTML Forms usually do. Forms appear in three +Forms are used for domain entity specific data input or presentation, like HTML Forms usually do. Forms appear in three different ways within the SEB Server GUI: - When a object is first created in edit mode @@ -164,8 +191,8 @@ The following images shows the same form, once in read-only mode and once edit m :align: center :target: https://raw.githubusercontent.com/SafeExamBrowser/seb-server/master/docs/images/overview/form_edit.png -There usually there is a tool-tip on a form field element that is activated either by going over and stay on the form field label or the input section. -If a form field is mandatory to either create or save an object, this is marked within a little red arrow just to the right of the form field label. -There may be more validation take place on saving the object. If a input needs a special form that is not given by the current input, the form-field +There usually is a tool-tip on a form field element for almost all attributes that can be activated by either going over and stay on the form field label or the input section. +If a form field is mandatory to either create or save an object, this is marked with a little red arrow just to the right of the form field label. +There may be more field validations takes place on saving the object. If a input needs a special form that is not given by the current input, the form-field will be marked with a red border and a thin red explanation text is shown right below the input field. After correct the missing or wrong input and save again, the SEB Server will accept and process the changes. If the user navigates away from a form in edit mode, the GUI will inform about possible data loss and asks for proceed or abort. \ No newline at end of file From 390182bc9bea88f05b978736bd2a7e9f0db688ae Mon Sep 17 00:00:00 2001 From: anhefti Date: Wed, 13 May 2020 10:38:46 +0200 Subject: [PATCH 2/4] fixed wording --- src/main/resources/messages.properties | 298 ++++++++++++------------- 1 file changed, 149 insertions(+), 149 deletions(-) diff --git a/src/main/resources/messages.properties b/src/main/resources/messages.properties index a10b4060..b3cc4361 100644 --- a/src/main/resources/messages.properties +++ b/src/main/resources/messages.properties @@ -23,7 +23,7 @@ sebserver.overall.action.goAwayFromEditPageConfirm=Are you sure you want to leav sebserver.overall.action.category.varia= sebserver.overall.action.category.filter= -sebserver.overall.action.showPassword.tooltip=Show / hide password in plain text. +sebserver.overall.action.showPassword.tooltip=Show / hide password in plain text sebserver.overall.status.active=Active sebserver.overall.status.inactive=Inactive @@ -91,7 +91,7 @@ sebserver.error.unexpected=Unexpected Error sebserver.page.message=Information sebserver.dialog.confirm.title=Confirmation sebserver.form.mandatory=This field is mandatory. -sebserver.table.column.sort.default.tooltip=Click on the column header to sort the table within this column. +sebserver.table.column.sort.default.tooltip=Click on the column header to sort the table within this column sebserver.dialog.confirm.deactivation=Note that there are {0} other entities that belong to this entity.
Those will also be deactivated by deactivating this entity.

Are You sure to deactivate this entity? sebserver.dialog.confirm.deactivation.noDependencies=Are You sure you want to deactivate? @@ -143,11 +143,11 @@ sebserver.institution.list.empty=No institution can be found. Please adapt the f sebserver.institution.list.title=Institutions sebserver.institution.list.title.subtitle= sebserver.institution.list.column.name=Name -sebserver.institution.list.column.name.tooltip=The name of the institution.

Use the filter above to narrow down to a specific name.
{0} +sebserver.institution.list.column.name.tooltip=The name of the institution

Use the filter above to narrow down to a specific name
{0} sebserver.institution.list.column.urlSuffix=URL Suffix -sebserver.institution.list.column.urlSuffix.tooltip=The URL suffix to the institutional login page.

Use the filter above to narrow down to a specific URL suffix.
{0} +sebserver.institution.list.column.urlSuffix.tooltip=The URL suffix to the institutional login page

Use the filter above to narrow down to a specific URL suffix
{0} sebserver.institution.list.column.active=Status -sebserver.institution.list.column.active.tooltip=The activity of the institution.

Use the filter above to specify the activity.
{0} +sebserver.institution.list.column.active.tooltip=The activity of the institution

Use the filter above to specify the activity
{0} sebserver.institution.action.list=Institution sebserver.institution.action.form=Institution @@ -169,7 +169,7 @@ sebserver.institution.form.title.subtitle= sebserver.institution.form.name=Name sebserver.institution.form.name.tooltip=The name of the institution sebserver.institution.form.urlSuffix=URL Suffix -sebserver.institution.form.urlSuffix.tooltip=The URL suffix to the institutional login page.
Institutional URL is: http(s):/// +sebserver.institution.form.urlSuffix.tooltip=The URL suffix to the institutional login page
Institutional URL is: http(s):/// sebserver.institution.form.logoImage=Logo Image sebserver.institution.form.logoImage.tooltip=The Image that is shown as a logo in the specified institutional login page.
In edit mode, use the arrow sign to open a upload dialog. sebserver.institution.form.logoImage.unsupportedFileType=The selected file is not supported. Supported are: PNG and JPG @@ -193,18 +193,18 @@ sebserver.useraccount.list.empty=No user account can be found. Please adapt the sebserver.useraccount.list.title=User Accounts sebserver.useraccount.list.title.subtitle= sebserver.useraccount.list.column.institution=Institution -sebserver.useraccount.list.column.institution.tooltip=The institution of the user account.

Use the filter above to specify the institution.
{0} +sebserver.useraccount.list.column.institution.tooltip=The institution of the user account

Use the filter above to specify the institution
{0} sebserver.useraccount.list.column.name=First Name -sebserver.useraccount.list.column.name.tooltip=The first name of the user.

Use the filter above to narrow down to a specific first name.
{0} +sebserver.useraccount.list.column.name.tooltip=The first name of the user

Use the filter above to narrow down to a specific first name
{0} sebserver.useraccount.list.column.surname=Surname -sebserver.useraccount.list.column.surname.tooltip=The surname of the user.

Use the filter above to narrow down to a specific surname.
{0} +sebserver.useraccount.list.column.surname.tooltip=The surname of the user

Use the filter above to narrow down to a specific surname
{0} sebserver.useraccount.list.column.username=User Name -sebserver.useraccount.list.column.username.tooltip=The internal user name of the user.

Use the filter above to narrow down to a specific user name.
{0} +sebserver.useraccount.list.column.username.tooltip=The internal user name of the user

Use the filter above to narrow down to a specific user name
{0} sebserver.useraccount.list.column.email=Mail -sebserver.useraccount.list.column.email.tooltip=The e-mail address of the user.

Use the filter above to narrow down to a specific e-mail address.
{0} +sebserver.useraccount.list.column.email.tooltip=The e-mail address of the user

Use the filter above to narrow down to a specific e-mail address
{0} sebserver.useraccount.list.column.language=Language sebserver.useraccount.list.column.active=Status -sebserver.useraccount.list.column.active.tooltip=The status of the user.

Use the filter above to specify the status.
{0} +sebserver.useraccount.list.column.active.tooltip=The status of the user

Use the filter above to specify the status
{0} sebserver.useraccount.action.list=User Account sebserver.useraccount.action.form=User Account of {0} @@ -226,23 +226,23 @@ sebserver.useraccount.form.title=User Account sebserver.useraccount.form.title.subtitle= sebserver.useraccount.form.title.new=Add User Account sebserver.useraccount.form.institution=Institution -sebserver.useraccount.form.institution.tooltip=The institution the user belongs to. +sebserver.useraccount.form.institution.tooltip=The institution the user belongs to sebserver.useraccount.form.creationdate=Creation Date -sebserver.useraccount.form.creationdate.tooltip=The date when the user account was first created. +sebserver.useraccount.form.creationdate.tooltip=The date when the user account was first created sebserver.useraccount.form.name=First Name -sebserver.useraccount.form.name.tooltip=The first name of the user. +sebserver.useraccount.form.name.tooltip=The first name of the user sebserver.useraccount.form.surname=Surname -sebserver.useraccount.form.surname.tooltip=The last- or surname of the user. +sebserver.useraccount.form.surname.tooltip=The last- or surname of the user sebserver.useraccount.form.username=Username -sebserver.useraccount.form.username.tooltip=The internal user name of the account. +sebserver.useraccount.form.username.tooltip=The internal user name of the account sebserver.useraccount.form.mail=E-Mail -sebserver.useraccount.form.mail.tooltip=The e-mail address of the user. +sebserver.useraccount.form.mail.tooltip=The e-mail address of the user sebserver.useraccount.form.language=Language -sebserver.useraccount.form.language.tooltip=The users language. +sebserver.useraccount.form.language.tooltip=The users language sebserver.useraccount.form.timezone=Time Zone -sebserver.useraccount.form.timezone.tooltip=The time-zone of the user.

Note that this also defines the exact time and date that is displayed to the user. +sebserver.useraccount.form.timezone.tooltip=The time-zone of the user

Note that this also defines the exact time and date that is displayed to the user sebserver.useraccount.form.roles=User Roles -sebserver.useraccount.form.roles.tooltip=The roles of the user.
A user can have more then one role but must have at least one.

In Edit mode, please use the tooltip on the role name for more information about a specific role. +sebserver.useraccount.form.roles.tooltip=The roles of the user
A user can have more then one role but must have at least one.

In Edit mode, please use the tooltip on the role name for more information about a specific role. sebserver.useraccount.form.password=Password sebserver.useraccount.form.password.tooltip=The password of the user account sebserver.useraccount.form.password.confirm=Confirm Password @@ -267,13 +267,13 @@ sebserver.lmssetup.list.empty=No LMS Setup can be found. Please adapt the filter sebserver.lmssetup.list.title=Learning Management System Setups sebserver.lmssetup.list.title.subtitle=List of connection settings to the LMS. sebserver.lmssetup.list.column.institution=Institution -sebserver.lmssetup.list.column.institution.tooltip=The institution of the LMS setup.

Use the filter above to specify the institution.
{0} +sebserver.lmssetup.list.column.institution.tooltip=The institution of the LMS setup

Use the filter above to specify the institution
{0} sebserver.lmssetup.list.column.name=Name -sebserver.lmssetup.list.column.name.tooltip=The name of the LMS setup.

Use the filter above to narrow down to a specific LMS by name.
{0} +sebserver.lmssetup.list.column.name.tooltip=The name of the LMS setup

Use the filter above to narrow down to a specific LMS by name
{0} sebserver.lmssetup.list.column.type=LMS Type -sebserver.lmssetup.list.column.type.tooltip=The type of the LMS.

Use the filter above to specify the LMS type.
{0} +sebserver.lmssetup.list.column.type.tooltip=The type of the LMS

Use the filter above to specify the LMS type
{0} sebserver.lmssetup.list.column.active=Status -sebserver.lmssetup.list.column.active.tooltip=The status of the LMS Setup.

Use the filter above to specify the status.
{0} +sebserver.lmssetup.list.column.active.tooltip=The status of the LMS Setup

Use the filter above to specify the status
{0} sebserver.lmssetup.action.list=LMS Setup sebserver.lmssetup.action.form=LMS Setup @@ -304,16 +304,16 @@ sebserver.lmssetup.form.institution.tooltip=The institution where the LMS setup sebserver.lmssetup.form.name=Name sebserver.lmssetup.form.name.tooltip=The name of the LMS setup sebserver.lmssetup.form.type=Type -sebserver.lmssetup.form.type.tooltip=The type of the LMS Setup. +sebserver.lmssetup.form.type.tooltip=The type of the LMS Setup sebserver.lmssetup.form.url=LMS Server Address -sebserver.lmssetup.form.url.tooltip=The server URL to the specific LMS server.

This should point to the main- or root-address of the LMS server +sebserver.lmssetup.form.url.tooltip=The server URL to the specific LMS server

This should point to the main- or root-address of the LMS server sebserver.lmssetup.form.clientname.lms=LMS Server Username -sebserver.lmssetup.form.clientname.lms.tooltip=The client name of the API client access to the LMS.

This is usually provided by an LMS administrator that has created a API access account for SEB Server binding within the LMS server. +sebserver.lmssetup.form.clientname.lms.tooltip=The client name of the API client access to the LMS

This is usually provided by an LMS administrator that has created a API access account for SEB Server binding within the LMS server. sebserver.lmssetup.form.secret.lms=LMS Server Password -sebserver.lmssetup.form.secret.lms.tooltip=The secret or password of the API client access to the LMS.

This is usually provided by an LMS administrator that has created a API access account for SEB Server binding within the LMS server. +sebserver.lmssetup.form.secret.lms.tooltip=The secret or password of the API client access to the LMS

This is usually provided by an LMS administrator that has created a API access account for SEB Server binding within the LMS server. sebserver.lmssetup.form.proxy=Proxy sebserver.lmssetup.form.proxy.check=With Proxy -sebserver.lmssetup.form.proxy.check.tooltip=Check and give detailed information if the SEB Server runs behind a proxy
and need proxy settings to connect to the internet. +sebserver.lmssetup.form.proxy.check.tooltip=Check and give detailed information if the SEB Server runs behind a proxy
and need proxy settings to connect to the internet sebserver.lmssetup.form.proxy.tooltip=The proxy details of a proxy is needed to connect to a LMS server sebserver.lmssetup.form.proxy.host=Proxy Host sebserver.lmssetup.form.proxy.host.tooltip=The server name of the proxy host to connect to @@ -335,15 +335,15 @@ sebserver.quizdiscovery.list.title=LMS Exams sebserver.quizdiscovery.list.title.subtitle=List of exams found in connected LMS. sebserver.quizdiscovery.list.empty=No LMS exam can be found. Please adapt the filter or create a new LMS Setup sebserver.quizdiscovery.list.column.institution=Institution -sebserver.quizdiscovery.list.column.institution.tooltip=The institution filter.

Use the filter above to specify the institution.
{0} +sebserver.quizdiscovery.list.column.institution.tooltip=The institution filter

Use the filter above to specify the institution
{0} sebserver.quizdiscovery.list.column.lmssetup=LMS -sebserver.quizdiscovery.list.column.lmssetup.tooltip=The LMS setup filter

Use the filter above to find all LMS exams of a specific LMS setup.
{0} +sebserver.quizdiscovery.list.column.lmssetup.tooltip=The LMS setup filter

Use the filter above to find all LMS exams of a specific LMS setup
{0} sebserver.quizdiscovery.list.column.name=Name -sebserver.quizdiscovery.list.column.name.tooltip=The name of the LMS exam.

Use the filter above to narrow down to a specific name.
{0} +sebserver.quizdiscovery.list.column.name.tooltip=The name of the LMS exam

Use the filter above to narrow down to a specific name
{0} sebserver.quizdiscovery.list.column.starttime=Start Time {0} -sebserver.quizdiscovery.list.column.starttime.tooltip=The start time of the LMS exam.

Use the filter above to set a specific from date.
{0} +sebserver.quizdiscovery.list.column.starttime.tooltip=The start time of the LMS exam

Use the filter above to set a specific from date
{0} sebserver.quizdiscovery.list.column.endtime=End Time {0} -sebserver.quizdiscovery.list.column.endtime.tooltip=The end time of the LMS exam.

{0} +sebserver.quizdiscovery.list.column.endtime.tooltip=The end time of the LMS exam

{0} sebserver.quizdiscovery.info.pleaseSelect=At first please select an LMS exam from the list sebserver.quizdiscovery.list.action.no.modify.privilege=No Access: A LMS exam from other institution cannot be imported. @@ -355,19 +355,19 @@ sebserver.quizdiscovery.quiz.import.existing.confirm=This course was already imp sebserver.quizdiscovery.quiz.details.title=LMS Exam Details sebserver.quizdiscovery.quiz.details.institution=Institution -sebserver.quizdiscovery.quiz.details.institution.tooltip=The institution of the LMS setup. +sebserver.quizdiscovery.quiz.details.institution.tooltip=The institution of the LMS setup sebserver.quizdiscovery.quiz.details.lmssetup=LMS Setup -sebserver.quizdiscovery.quiz.details.lmssetup.tooltip=The LMS setup that defines the LMS where the exam was created. +sebserver.quizdiscovery.quiz.details.lmssetup.tooltip=The LMS setup that defines the LMS where the exam was created sebserver.quizdiscovery.quiz.details.name=Name sebserver.quizdiscovery.quiz.details.name.tooltip=The name of the LMS exam.

This name is defined on the corresponding LMS sebserver.quizdiscovery.quiz.details.description=Description -sebserver.quizdiscovery.quiz.details.description.tooltip=The description of the LMS exam.

This description is defined on the corresponding LMS +sebserver.quizdiscovery.quiz.details.description.tooltip=The description of the LMS exam

This description is defined on the corresponding LMS sebserver.quizdiscovery.quiz.details.starttime=Start Time -sebserver.quizdiscovery.quiz.details.starttime.tooltip=The start time of the LMS exam.

This time is set on the corresponding LMS +sebserver.quizdiscovery.quiz.details.starttime.tooltip=The start time of the LMS exam

This time is set on the corresponding LMS sebserver.quizdiscovery.quiz.details.endtime=End Time -sebserver.quizdiscovery.quiz.details.endtime.tooltip=The end time of the LMS exam.

This time is set on the corresponding LMS +sebserver.quizdiscovery.quiz.details.endtime.tooltip=The end time of the LMS exam

This time is set on the corresponding LMS sebserver.quizdiscovery.quiz.details.url=Start URL -sebserver.quizdiscovery.quiz.details.url.tooltip=The start URL on the LMS for the exam.

This is defined by the LMS setup and the exam URL +sebserver.quizdiscovery.quiz.details.url.tooltip=The start URL on the LMS for the exam

This is defined by the LMS setup and the exam URL sebserver.quizdiscovery.quiz.details.additional.timecreated=Creation Time sebserver.quizdiscovery.quiz.details.additional.timecreated.tooltip=The time when the LMS exam was first created

This time is defined by the corresponding LMS sebserver.quizdiscovery.quiz.details.additional.course_shortname=Short Name @@ -389,15 +389,15 @@ sebserver.exam.list.actions= sebserver.exam.list.title=Exam sebserver.exam.list.title.subtitle= sebserver.exam.list.column.institution=Institution -sebserver.exam.list.column.institution.tooltip=The institution of the LMS setup that defines the LMS of the exam.

Use the filter above to specify the institution.
{0} +sebserver.exam.list.column.institution.tooltip=The institution of the LMS setup that defines the LMS of the exam

Use the filter above to specify the institution
{0} sebserver.exam.list.column.lmssetup=LMS -sebserver.exam.list.column.lmssetup.tooltip=The LMS setup that defines the LMS of the exam

Use the filter above to specify the LMS setup.
{0} +sebserver.exam.list.column.lmssetup.tooltip=The LMS setup that defines the LMS of the exam

Use the filter above to specify the LMS setup
{0} sebserver.exam.list.column.name=Name -sebserver.exam.list.column.name.tooltip=The name of the exam.

Use the filter above to narrow down to a specific exam name.
{0} +sebserver.exam.list.column.name.tooltip=The name of the exam

Use the filter above to narrow down to a specific exam name
{0} sebserver.exam.list.column.starttime=Start Time {0} -sebserver.exam.list.column.starttime.tooltip=The start time of the exam.

Use the filter above to set a specific from date.
{0} +sebserver.exam.list.column.starttime.tooltip=The start time of the exam

Use the filter above to set a specific from date
{0} sebserver.exam.list.column.type=Type -sebserver.exam.list.column.type.tooltip=The type of the exam.

Use the filter above to set a specific exam type.
{0} +sebserver.exam.list.column.type.tooltip=The type of the exam

Use the filter above to set a specific exam type
{0} sebserver.exam.list.empty=No Exam can be found. Please adapt the filter or import one from LMS sebserver.exam.list.modify.out.dated=Finished exams cannot be modified. @@ -428,7 +428,7 @@ sebserver.exam.form.title.import=Import Exam sebserver.exam.form.title=Exam sebserver.exam.form.title.subtitle= sebserver.exam.form.lmssetup=LMS Setup -sebserver.exam.form.lmssetup.tooltip=The LMS setup that defines the LMS of the exam. +sebserver.exam.form.lmssetup.tooltip=The LMS setup that defines the LMS of the exam sebserver.exam.form.quizid=LMS exam Identifier sebserver.exam.form.quizid.tooltip=The identifier that identifies the quiz of the exam on the corresponding LMS sebserver.exam.form.quizurl=LMS exam URL @@ -446,7 +446,7 @@ sebserver.exam.form.status.tooltip=The current status for the exam.

Eit sebserver.exam.form.type=Exam Type sebserver.exam.form.type.tooltip=The type of the exam.

This has only descriptive character for now and can be used to categorise exams within a type sebserver.exam.form.supporter=Exam Supporter -sebserver.exam.form.supporter.tooltip=A list of users that are allowed to support this exam.

To add a user in edit mode click into the field on the right-hand side and start typing the first letters of the username.
A filtered choice will drop down. Select a specific username in the dropdown list to add the user to the list.
To remove a user from the list, just double-click the username on the list. +sebserver.exam.form.supporter.tooltip=A list of users that are allowed to support this exam

To add a user in edit mode click into the field on the right-hand side and start typing the first letters of the username.
A filtered choice will drop down. Select a specific username in the dropdown list to add the user to the list.
To remove a user from the list, just double-click the username on the list. sebserver.exam.form.sebrestriction.title=SEB Restriction Details sebserver.exam.form.sebrestriction.title.subtitle= @@ -457,13 +457,13 @@ sebserver.exam.form.sebrestriction.configKeys.tooltip=A comma-separated list of sebserver.exam.form.sebrestriction.browserExamKeys=Browser Exam Keys sebserver.exam.form.sebrestriction.browserExamKeys.tooltip=A comma-separated list of SEB Browser Exam Keys
that are checked by the LMS for the restricted SEB access for every request sebserver.exam.form.sebrestriction.WHITELIST_PATHS=Component White-List -sebserver.exam.form.sebrestriction.WHITELIST_PATHS.tooltip=Grant no-restriction to each of the given Open edX path components by select them for white-list. +sebserver.exam.form.sebrestriction.WHITELIST_PATHS.tooltip=Grant no-restriction to each of the given Open edX path components by select them for white-list sebserver.exam.form.sebrestriction.BLACKLIST_CHAPTERS=Chapters Black-List sebserver.exam.form.sebrestriction.BLACKLIST_CHAPTERS.tooltip=Explicitly restrict a course chapter by adding the course-chapter-identifier to this comma-separated list sebserver.exam.form.sebrestriction.PERMISSION_COMPONENTS=Permissions sebserver.exam.form.sebrestriction.PERMISSION_COMPONENTS.tooltip=Define the additional SEB restriction permissions sebserver.exam.form.sebrestriction.USER_BANNING_ENABLED=User Banning -sebserver.exam.form.sebrestriction.USER_BANNING_ENABLED.tooltip=Indicates whether the user of a restricted access shall be banned on authentication failure or not. +sebserver.exam.form.sebrestriction.USER_BANNING_ENABLED.tooltip=Indicates whether the user of a restricted access shall be banned on authentication failure or not sebserver.exam.form.sebrestriction.whiteListPaths.ABOUT=About sebserver.exam.form.sebrestriction.whiteListPaths.ABOUT.tooltip=The "About" section of the Open edX course @@ -479,13 +479,13 @@ sebserver.exam.form.sebrestriction.whiteListPaths.WIKI=Description (Wiki) sebserver.exam.form.sebrestriction.whiteListPaths.WIKI.tooltip=The wikipedia section of the Open edX course sebserver.exam.form.sebrestriction.permissions.ALWAYS_ALLOW_STAFF=Staff Role Always Allowed -sebserver.exam.form.sebrestriction.permissions.ALWAYS_ALLOW_STAFF.tooltip=Set this to always allow none-restricted access for a user that has "staff" privileges. +sebserver.exam.form.sebrestriction.permissions.ALWAYS_ALLOW_STAFF.tooltip=Set this to always allow none-restricted access for a user that has "staff" privileges sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_KEY=Check Browser Exam Key -sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_KEY.tooltip=Always check received SEB Browser Exam Key with the defined ones for every request. +sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_KEY.tooltip=Always check received SEB Browser Exam Key with the defined ones for every request sebserver.exam.form.sebrestriction.permissions.CHECK_CONFIG_KEY=Check Config Key -sebserver.exam.form.sebrestriction.permissions.CHECK_CONFIG_KEY.tooltip=Always check received SEB Config Key with the defined ones for every request. +sebserver.exam.form.sebrestriction.permissions.CHECK_CONFIG_KEY.tooltip=Always check received SEB Config Key with the defined ones for every request sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_OR_CONFIG_KEY=Check Browser Exam-, Or Config Key -sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_OR_CONFIG_KEY.tooltip=Always check either SEB Browser Exam Key or SEB Config Key with the defined ones for every request. +sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_OR_CONFIG_KEY.tooltip=Always check either SEB Browser Exam Key or SEB Config Key with the defined ones for every request sebserver.exam.type.UNDEFINED=Not Defined @@ -503,13 +503,13 @@ sebserver.exam.status.FINISHED=Finished sebserver.exam.configuration.list.actions= sebserver.exam.configuration.list.title=Exam Configuration -sebserver.exam.configuration.list.title.tooltip=A list of all attached exam configuration for this exam. +sebserver.exam.configuration.list.title.tooltip=A list of all attached exam configuration for this exam sebserver.exam.configuration.list.column.name=Name -sebserver.exam.configuration.list.column.name.tooltip=The name of the attached exam configuration. +sebserver.exam.configuration.list.column.name.tooltip=The name of the attached exam configuration sebserver.exam.configuration.list.column.description=Description -sebserver.exam.configuration.list.column.description.tooltip=The description of the attached exam configuration. +sebserver.exam.configuration.list.column.description.tooltip=The description of the attached exam configuration sebserver.exam.configuration.list.column.status=Status -sebserver.exam.configuration.list.column.status.tooltip=The current status of the attached exam configuration. +sebserver.exam.configuration.list.column.status.tooltip=The current status of the attached exam configuration sebserver.exam.configuration.list.empty=There is currently no exam configuration defined for this Exam. Please add one sebserver.exam.configuration.list.pleaseSelect=At first please select an exam configuration from the list sebserver.exam.configuration.action.noconfig.message=There is currently no exam configuration to select.
Please create one in Exam Configurations @@ -566,15 +566,15 @@ sebserver.exam.indicator.form.title=Indicator sebserver.exam.indicator.form.title.subtitle= sebserver.exam.indicator.form.title.new=Add Indicator sebserver.exam.indicator.form.exam=Exam -sebserver.exam.indicator.form.exam.tooltip=The exam this indicator belongs to. +sebserver.exam.indicator.form.exam.tooltip=The exam this indicator belongs to sebserver.exam.indicator.form.name=Name sebserver.exam.indicator.form.name.tooltip=The name of the indicator.

This name is also displayed as the column title of the indicator on the exam monitoring view sebserver.exam.indicator.form.type=Type -sebserver.exam.indicator.form.type.tooltip=The type of the indicator.

There are only a set of defined indicators to choose from.
Choose one to see a detailed description for each indicator below. +sebserver.exam.indicator.form.type.tooltip=The type of the indicator

There are only a set of defined indicators to choose from.
Choose one to see a detailed description for each indicator below. sebserver.exam.indicator.form.description=Type Description -sebserver.exam.indicator.form.description.tooltip=A detailed description of the selected indicator. +sebserver.exam.indicator.form.description.tooltip=A detailed description of the selected indicator sebserver.exam.indicator.form.color=Default Color -sebserver.exam.indicator.form.color.tooltip=The default color that is displayed on the exam monitoring for this indicator. +sebserver.exam.indicator.form.color.tooltip=The default color that is displayed on the exam monitoring for this indicator sebserver.exam.indicator.form.color.action=Please select a color sebserver.exam.indicator.form.thresholds=Thresholds sebserver.exam.indicator.form.thresholds.tooltip=A list of value / color pairs that defines the thresholds of the indicator.

On the exam monitoring view a cell of the indicator is displayed in the specified color when the defined threshold value is reached @@ -582,9 +582,9 @@ sebserver.exam.indicator.thresholds.select.color=Please select a color sebserver.exam.indicator.thresholds.list.title=Thresholds sebserver.exam.indicator.thresholds.list.value=Value -sebserver.exam.indicator.thresholds.list.value.tooltip=The threshold value. +sebserver.exam.indicator.thresholds.list.value.tooltip=The threshold value sebserver.exam.indicator.thresholds.list.color=Color -sebserver.exam.indicator.thresholds.list.color.tooltip=The color that is displayed on the exam monitoring view when indicator value has reached the defined threshold value. +sebserver.exam.indicator.thresholds.list.color.tooltip=The color that is displayed on the exam monitoring view when indicator value has reached the defined threshold value sebserver.exam.indicator.thresholds.list.add=Add a new threshold sebserver.exam.indicator.thresholds.list.remove=Delete this threshold @@ -597,13 +597,13 @@ sebserver.clientconfig.list.title=Client Configuration sebserver.clientconfig.list.title.subtitle= sebserver.clientconfig.list.actions= sebserver.clientconfig.list.column.institution=Institution -sebserver.clientconfig.list.column.institution.tooltip=The institution of the client configuration.

Use the filter above to specify the institution.
{0} +sebserver.clientconfig.list.column.institution.tooltip=The institution of the client configuration

Use the filter above to specify the institution
{0} sebserver.clientconfig.list.column.name=Name -sebserver.clientconfig.list.column.name.tooltip=The name of the client configuration.

Use the filter above to narrow down to a specific name.
{0} +sebserver.clientconfig.list.column.name.tooltip=The name of the client configuration

Use the filter above to narrow down to a specific name
{0} sebserver.clientconfig.list.column.date=Creation Date {0} -sebserver.clientconfig.list.column.date.tooltip=The date when the client configuration was first created.

Use the filter above to specify a from-date.
{0} +sebserver.clientconfig.list.column.date.tooltip=The date when the client configuration was first created

Use the filter above to specify a from-date
{0} sebserver.clientconfig.list.column.active=Status -sebserver.clientconfig.list.column.active.tooltip=The status of client configuration.

Use the filter above to specify the status.
{0} +sebserver.clientconfig.list.column.active.tooltip=The status of client configuration

Use the filter above to specify the status
{0} sebserver.clientconfig.info.pleaseSelect=At first please select a Client Configuration from the list sebserver.clientconfig.list.action.no.modify.privilege=No Access: A client configuration from other institution cannot be modified. @@ -615,24 +615,24 @@ sebserver.clientconfig.form.name.tooltip=The name of the client configuration.
Use the filter above to specify the institution.
{0} +sebserver.examconfig.list.column.institution.tooltip=The institution of the SEB exam configuration

Use the filter above to specify the institution
{0} sebserver.examconfig.list.column.name=Name -sebserver.examconfig.list.column.name.tooltip=The name of the SEB exam configuration.

Use the filter above to narrow down to a specific name.
{0} +sebserver.examconfig.list.column.name.tooltip=The name of the SEB exam configuration

Use the filter above to narrow down to a specific name
{0} sebserver.examconfig.list.column.description=Description -sebserver.examconfig.list.column.description.tooltip=The description of the SEB exam configuration.

Use the filter above to find configurations that contain specific words or phrases within the description.
{0} +sebserver.examconfig.list.column.description.tooltip=The description of the SEB exam configuration

Use the filter above to find configurations that contain specific words or phrases within the description.
{0} sebserver.examconfig.list.column.status=Status -sebserver.examconfig.list.column.status.tooltip=The status of the SEB exam configuration.

Use the filter above to specify a status.
{0} +sebserver.examconfig.list.column.status.tooltip=The status of the SEB exam configuration

Use the filter above to specify a status
{0} sebserver.examconfig.list.actions= @@ -707,14 +707,14 @@ sebserver.examconfig.form.title.new=Add Exam Configuration sebserver.examconfig.form.title=Exam Configuration sebserver.examconfig.form.title.subtitle= sebserver.examconfig.form.name=Name -sebserver.examconfig.form.name.tooltip=The name of the SEB exam configuration. +sebserver.examconfig.form.name.tooltip=The name of the SEB exam configuration sebserver.examconfig.form.description=Description -sebserver.examconfig.form.description.tooltip=The description text of the SEB exam configuration. +sebserver.examconfig.form.description.tooltip=The description text of the SEB exam configuration sebserver.examconfig.form.with-history=With History sebserver.examconfig.form.template=Template -sebserver.examconfig.form.template.tooltip=The template this SEB exam configuration depends on. +sebserver.examconfig.form.template.tooltip=The template this SEB exam configuration depends on sebserver.examconfig.form.status=Status -sebserver.examconfig.form.status.tooltip=The status of this SEB exam configuration.

Under Construction marks a SEB exam configuration to not be able to attach to an exam so far.
Ready to use marks an SEB exam configuration to be able to attach to an exam.
In Use marks a SEB exam configuration is already been used from one or more exam(s) +sebserver.examconfig.form.status.tooltip=The status of this SEB exam configuration

"Under Construction" marks a SEB exam configuration to not be able to attach to an exam so far.
"Ready to Use" marks an SEB exam configuration to be able to attach to an exam.
"In Use" marks a SEB exam configuration is already been used from one or more exam(s) sebserver.examconfig.form.config-key.title=Config Key sebserver.examconfig.form.attached-to=Attached To Exam sebserver.examconfig.form.attached-to.tooltip=This SEB exam configuration is currently attached to the following exams.

Select an exam from the list and use the "View Exam" or Double-Click on the list to go to a specific exam. @@ -765,7 +765,7 @@ sebserver.examconfig.props.group.browserViewMode=Browser View Mode sebserver.examconfig.props.label.browserViewMode.0=Use browser window sebserver.examconfig.props.label.browserViewMode.0.tooltip=Use window for the SEB browser which can be scaled and moved around, also to another screen if available sebserver.examconfig.props.label.browserViewMode.1=Use full screen mode -sebserver.examconfig.props.label.browserViewMode.1.tooltip=Display the SEB browser full screen. +sebserver.examconfig.props.label.browserViewMode.1.tooltip=Display the SEB browser full screen sebserver.examconfig.props.label.touchOptimized=Touch optimized sebserver.examconfig.props.label.touchOptimized.tooltip=Mainly to be used on Windows tablets. Not working with the Create New Desktop kiosk mode sebserver.examconfig.props.label.enableTouchExit=Enable touch exit @@ -773,9 +773,9 @@ sebserver.examconfig.props.label.enableTouchExit.tooltip=SEB can be quit by a sw sebserver.examconfig.props.group.winsize=Main Browser Window Size And Position sebserver.examconfig.props.label.mainBrowserWindowWidth=Width -sebserver.examconfig.props.label.mainBrowserWindowWidth.tooltip=Window width in pixel or percentage of total screen width. +sebserver.examconfig.props.label.mainBrowserWindowWidth.tooltip=Window width in pixel or percentage of total screen width sebserver.examconfig.props.label.mainBrowserWindowHeight=Height -sebserver.examconfig.props.label.mainBrowserWindowHeight.tooltip=Window height in pixel or percentage of total screen height. +sebserver.examconfig.props.label.mainBrowserWindowHeight.tooltip=Window height in pixel or percentage of total screen height sebserver.examconfig.props.label.mainBrowserWindowPositioning=Horizontal positioning sebserver.examconfig.props.label.mainBrowserWindowPositioning.0=Left sebserver.examconfig.props.label.mainBrowserWindowPositioning.1=Center @@ -783,11 +783,11 @@ sebserver.examconfig.props.label.mainBrowserWindowPositioning.2=Right sebserver.examconfig.props.group.wintoolbar=Browser Window Toolbar sebserver.examconfig.props.label.enableBrowserWindowToolbar=Enable browser window toolbar -sebserver.examconfig.props.label.enableBrowserWindowToolbar.tooltip=Displays a toolbar on top of the browser window
which can also be hidden by the user. +sebserver.examconfig.props.label.enableBrowserWindowToolbar.tooltip=Displays a toolbar on top of the browser window
which can also be hidden by the user sebserver.examconfig.props.label.hideBrowserWindowToolbar=Hide toolbar as default (Mac) sebserver.examconfig.props.label.hideBrowserWindowToolbar.tooltip=Hide browser window toolbar by default.
It can be shown again by using the View menu or Alt-Command-T. sebserver.examconfig.props.label.showMenuBar=Show menu bar (Mac) -sebserver.examconfig.props.label.showMenuBar.tooltip=Show the OS X menu bar to allow to access settings like Wi-Fi. +sebserver.examconfig.props.label.showMenuBar.tooltip=Show the OS X menu bar to allow to access settings like Wi-Fi sebserver.examconfig.props.group.taskbar=SEB Taskbar/Dock sebserver.examconfig.props.label.showTaskBar=Show SEB taskbar @@ -847,9 +847,9 @@ sebserver.examconfig.props.label.newBrowserWindowByLinkBlockForeign.tooltip=USE sebserver.examconfig.props.group.newwinsize=New browser window size and position sebserver.examconfig.props.label.newBrowserWindowByLinkWidth=Width -sebserver.examconfig.props.label.newBrowserWindowByLinkWidth.tooltip=Window width in pixel or percentage of total screen width. +sebserver.examconfig.props.label.newBrowserWindowByLinkWidth.tooltip=Window width in pixel or percentage of total screen width sebserver.examconfig.props.label.newBrowserWindowByLinkHeight=Height -sebserver.examconfig.props.label.newBrowserWindowByLinkHeight.tooltip=Window height in pixel or percentage of total screen height. +sebserver.examconfig.props.label.newBrowserWindowByLinkHeight.tooltip=Window height in pixel or percentage of total screen height sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning=Horizontal positioning sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.0=Left sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.1=Center @@ -863,7 +863,7 @@ sebserver.examconfig.props.label.enableJavaScript.tooltip=Enables JavaScript.
Note: Only applets with the highest Java security level will run in SEB. sebserver.examconfig.props.label.blockPopUpWindows=Block pop-up windows -sebserver.examconfig.props.label.blockPopUpWindows.tooltip=Disables pop-up windows
(often advertisement) opened by JavaScript without an user action such as a button click. +sebserver.examconfig.props.label.blockPopUpWindows.tooltip=Disables pop-up windows
(often advertisement) opened by JavaScript without an user action such as a button click sebserver.examconfig.props.label.allowVideoCapture=Allow video capture (webcam) sebserver.examconfig.props.label.allowVideoCapture.tooltip=Allow web applications to access camera sebserver.examconfig.props.label.allowAudioCapture=Allow audio capture (microphone) @@ -908,7 +908,7 @@ sebserver.examconfig.props.label.enableSebBrowser.tooltip=Disable this to start sebserver.examconfig.props.label.browserWindowTitleSuffix=Suffix to be added to every browser window sebserver.examconfig.props.label.allowDownUploads=Allow downloading and uploading files (Mac) -sebserver.examconfig.props.label.allowDownUpload.tooltip=Usually to be used with permitted third party applications
for which you want to provide files to be down-loaded. +sebserver.examconfig.props.label.allowDownUpload.tooltip=Usually to be used with permitted third party applications
for which you want to provide files to be down-loaded sebserver.examconfig.props.label.downloadDirectoryWin=Download directory (Win) sebserver.examconfig.props.label.downloadDirectoryOSX=Download directory (Mac) sebserver.examconfig.props.label.openDownloads=Open files after downloading (Mac) @@ -922,7 +922,7 @@ sebserver.examconfig.props.label.downloadPDFFiles.tooltip=PDF files will not be sebserver.examconfig.props.label.allowPDFPlugIn=Allow using Acrobat Reader PDF plugin (insecure! Mac only) sebserver.examconfig.props.label.allowPDFPlugIn.tooltip=The Adobe Acrobat Reader browser plugin should only be used on secured managed Mac computers,
at it allows limited access the file system and unlimited to cloud services sebserver.examconfig.props.label.downloadAndOpenSebConfig=Download and open SEB Config Files -sebserver.examconfig.props.label.downloadAndOpenSebConfig.tooltip=Download and open .seb config files regardless if downloading and opening other file types is allowed. +sebserver.examconfig.props.label.downloadAndOpenSebConfig.tooltip=Download and open .seb config files regardless if downloading and opening other file types is allowed sebserver.examconfig.props.group.sessionHandling=Session Handling sebserver.examconfig.props.group.sessionHandling.tooltip=Use the following parameter to control whether a browser session is persistent on disk, e.g. to keep users
logged in after a reconfiguration. @@ -940,7 +940,7 @@ sebserver.examconfig.props.label.restartExamUseStartURL.tooltip=The back to star sebserver.examconfig.props.label.restartExamURL=Enter custom URL or select 'Use Start URL' to display a back to start button in the SEB taskbar. sebserver.examconfig.props.label.restartExamText=Title/tool tip text for the back to start button (leave empty for localized standard text) sebserver.examconfig.props.label.restartExamPasswordProtected=Protect back to start button with the quit/unlock password -sebserver.examconfig.props.label.restartExamPasswordProtected.tooltip=The quit/restart password (if set) must be entered when the back to start button was pressed. +sebserver.examconfig.props.label.restartExamPasswordProtected.tooltip=The quit/restart password (if set) must be entered when the back to start button was pressed sebserver.examconfig.props.label.allowSwitchToApplications=Allow switching to third party application (Mac) sebserver.examconfig.props.label.allowSwitchToApplications.tooltip=Decreases security of the kiosk mode by allowing process switcher (Cmd+Tab).
The blacked out background of SEB also doesn't cover some alerts and modal windows in this mode. @@ -950,9 +950,9 @@ sebserver.examconfig.props.label.permittedProcesses.remove.tooltip=Remove select sebserver.examconfig.props.label.permittedProcesses.row.title=Permitted Processes sebserver.examconfig.props.label.permittedProcesses=Permitted Processes sebserver.examconfig.props.label.permittedProcesses.active=Active -sebserver.examconfig.props.label.permittedProcesses.active.tooltip=This permitted process item is active. +sebserver.examconfig.props.label.permittedProcesses.active.tooltip=This permitted process item is active sebserver.examconfig.props.label.permittedProcesses.os=OS -sebserver.examconfig.props.label.permittedProcesses.os.tooltip=Indicates on which operating system the permitted process runs. +sebserver.examconfig.props.label.permittedProcesses.os.tooltip=Indicates on which operating system the permitted process runs sebserver.examconfig.props.label.permittedProcesses.os.0=macOS sebserver.examconfig.props.label.permittedProcesses.os.1=Win sebserver.examconfig.props.label.permittedProcesses.title=Title @@ -974,7 +974,7 @@ sebserver.examconfig.props.label.permittedProcesses.identifier.tooltip=(Sub) str sebserver.examconfig.props.label.permittedProcesses.iconInTaskbar=Icon in taskbar sebserver.examconfig.props.label.permittedProcesses.iconInTaskbar.tooltip=Show icon of permitted application in task bar
(not possible when 'run in background' is enabled). sebserver.examconfig.props.label.permittedProcesses.autostart=Autostart -sebserver.examconfig.props.label.permittedProcesses.autostart.tooltip=Start the process automatically together with SEB. +sebserver.examconfig.props.label.permittedProcesses.autostart.tooltip=Start the process automatically together with SEB sebserver.examconfig.props.label.permittedProcesses.runInBackground=Allow running in background sebserver.examconfig.props.label.permittedProcesses.runInBackground.tooltip=Allow the permitted process to already be running when SEB starts.
Such a process can't have an icon in the task bar. sebserver.examconfig.props.label.permittedProcesses.allowUserToChooseApp=Allow user to select location of application @@ -986,7 +986,7 @@ sebserver.examconfig.props.label.prohibitedProcesses.remove.tooltip=Remove selec sebserver.examconfig.props.label.prohibitedProcesses.row.title=Prohibited Processes sebserver.examconfig.props.label.prohibitedProcesses=Prohibited Processes sebserver.examconfig.props.label.prohibitedProcesses.active=Active -sebserver.examconfig.props.label.prohibitedProcesses.active.tooltip=Indicates if this prohibited process item is active. +sebserver.examconfig.props.label.prohibitedProcesses.active.tooltip=Indicates if this prohibited process item is active sebserver.examconfig.props.label.prohibitedProcesses.os=OS sebserver.examconfig.props.label.prohibitedProcesses.os.0=macOS sebserver.examconfig.props.label.prohibitedProcesses.os.1=Win @@ -1084,7 +1084,7 @@ sebserver.examconfig.props.label.sebServicePolicy.2=allow to use SEB only with s sebserver.examconfig.props.label.sebServicePolicy.tooltip=Policy that applies when an exam client doesn't have the SEB client running sebserver.examconfig.props.group.kioskMode=Kiosk Mode -sebserver.examconfig.props.label.kioskMode.tooltip=The kiosk mode setting reflects how the computer is locked down in SEB. +sebserver.examconfig.props.label.kioskMode.tooltip=The kiosk mode setting reflects how the computer is locked down in SEB sebserver.examconfig.props.label.kioskMode.0=Create new desktop sebserver.examconfig.props.label.kioskMode.0.tooltip=This kiosk mode may prevent specific third party software to run correctly together with SEB, like some screen recording software or the Windows onscreen keyboard. sebserver.examconfig.props.label.kioskMode.1=Disable explorer Shell @@ -1093,7 +1093,7 @@ sebserver.examconfig.props.label.kioskMode.2=None (for debugging only) sebserver.examconfig.props.label.kioskMode.2.tooltip=SEB runs without kiosk mode, switching to other applications is possible. Use this for debugging purposes only. sebserver.examconfig.props.label.allowVirtualMachine=Allow to run inside virtual machine -sebserver.examconfig.props.label.allowVirtualMachine.tooltip=Indicates if SEB is allowed to run in a virtual machine or not (in order to prevent potential manipulation). +sebserver.examconfig.props.label.allowVirtualMachine.tooltip=Indicates if SEB is allowed to run in a virtual machine or not (in order to prevent potential manipulation) sebserver.examconfig.props.label.allowScreenSharing=Allow remote session/screen sharing sebserver.examconfig.props.label.allowScreenSharing.tootlip=Allows Windows remote sessions and macOS screen sharing to be used sebserver.examconfig.props.label.enablePrivateClipboard=Use private clipboard (Mac) @@ -1163,13 +1163,13 @@ sebserver.examconfig.props.label.insideSebEnableEaseOfAccess.tooltip=Shows optio sebserver.examconfig.props.label.insideSebEnableVmWareClientShade=Enable VMware Client Shade sebserver.examconfig.props.label.insideSebEnableVmWareClientShade.tooltip=Activates the "Shade" bar at the upper edge of a virtual desktop, if existent. If you're not using VMware, this setting doesn't have any effect. sebserver.examconfig.props.label.insideSebEnableNetworkConnectionSelector=Enable network connection selector -sebserver.examconfig.props.label.insideSebEnableNetworkConnectionSelector.tooltip=Activates the button which allows to connect to WiFi networks, introduces in Windows 10. +sebserver.examconfig.props.label.insideSebEnableNetworkConnectionSelector.tooltip=Activates the button which allows to connect to WiFi networks, introduces in Windows 10 sebserver.examconfig.props.group.specialKeys=Special Keys -sebserver.examconfig.props.group.specialKeys.tooltip=Settings to enable or block (hook) keys, key combinations and mouse buttons. +sebserver.examconfig.props.group.specialKeys.tooltip=Settings to enable or block (hook) keys, key combinations and mouse buttons sebserver.examconfig.props.label.enableEsc=Enable Esc sebserver.examconfig.props.label.enablePrintScreen=Allow screen capture -sebserver.examconfig.props.label.enablePrintScreen.tooltip=Controls Print Screen and OS X screen capture, corresponds with Enable screen capture in Security settings. +sebserver.examconfig.props.label.enablePrintScreen.tooltip=Controls Print Screen and OS X screen capture, corresponds with Enable screen capture in Security settings sebserver.examconfig.props.label.enableCtrlEsc=Enable Ctrl-Esc sebserver.examconfig.props.label.enableAltEsc=Enable Alt-Esc sebserver.examconfig.props.label.enableAltTab=Enable Alt-Tap @@ -1251,13 +1251,13 @@ sebserver.configtemplate.attr.type.COMPOSITE_TABLE=Table sebserver.configtemplate.attrs.list.title=Exam Configuration Attributes sebserver.configtemplate.attrs.list.title.subtitle=Table of all exam configuration attributes of this template sebserver.configtemplate.attrs.list.name=Name -sebserver.configtemplate.attrs.list.name.tooltip=The technical name of the exam configuration attribute with the display name in brackets if available.

{0} +sebserver.configtemplate.attrs.list.name.tooltip=The technical name of the exam configuration attribute with the display name in brackets if available

{0} sebserver.configtemplate.attrs.list.view=View -sebserver.configtemplate.attrs.list.view.tooltip=The view/tab where the exam configuration attribute belongs to.

{0} +sebserver.configtemplate.attrs.list.view.tooltip=The view/tab where the exam configuration attribute belongs to

{0} sebserver.configtemplate.attrs.list.group=Group -sebserver.configtemplate.attrs.list.group.tooltip=The group on the view/tab where the exam configuration attribute belongs to.

{0} +sebserver.configtemplate.attrs.list.group.tooltip=The group on the view/tab where the exam configuration attribute belongs to

{0} sebserver.configtemplate.attrs.list.type=Type -sebserver.configtemplate.attrs.list.type.tooltip=The type of the exam configuration attribute.

{0} +sebserver.configtemplate.attrs.list.type.tooltip=The type of the exam configuration attribute

{0} sebserver.configtemplate.attr.list.actions= sebserver.configtemplate.attr.list.actions.modify=Edit Attribute @@ -1269,13 +1269,13 @@ sebserver.configtemplate.attr.info.pleaseSelect=At first please select an Attrib sebserver.configtemplate.attr.form.title=Configuration Template Attribute sebserver.configtemplate.attr.form.title.subtitle= sebserver.configtemplate.attr.form.name=Name -sebserver.configtemplate.attr.form.name.tooltip=The technical name of the exam configuration attribute with the display name in brackets if available. +sebserver.configtemplate.attr.form.name.tooltip=The technical name of the exam configuration attribute with the display name in brackets if available sebserver.configtemplate.attr.form.type=Type -sebserver.configtemplate.attr.form.type.tooltip=The type of the exam configuration attribute. +sebserver.configtemplate.attr.form.type.tooltip=The type of the exam configuration attribute sebserver.configtemplate.attr.form.view=View -sebserver.configtemplate.attr.form.view.tooltip=The view/tab where the exam configuration attribute belongs to. +sebserver.configtemplate.attr.form.view.tooltip=The view/tab where the exam configuration attribute belongs to sebserver.configtemplate.attr.form.group=Group -sebserver.configtemplate.attr.form.group.tooltip=The group on the view/tab where the exam configuration attribute belongs to. +sebserver.configtemplate.attr.form.group.tooltip=The group on the view/tab where the exam configuration attribute belongs to sebserver.configtemplate.attr.form.value=Configuration Template Attribute Value sebserver.configtemplate.attr.form.value.tooltip=The SEB exam configuration attribute value that can be set as default for this template @@ -1298,27 +1298,27 @@ sebserver.monitoring.exam.info.pleaseSelect=At first please select an Exam from sebserver.monitoring.exam.list.empty=There are currently no running exams sebserver.monitoring.exam.list.column.name=Name -sebserver.monitoring.exam.list.column.name.tooltip=The name of the exam.

Use the filter above to narrow down to a specific exam name.
{0} +sebserver.monitoring.exam.list.column.name.tooltip=The name of the exam

Use the filter above to narrow down to a specific exam name
{0} sebserver.monitoring.exam.list.column.type=Type -sebserver.monitoring.exam.list.column.type.tooltip=The type of the exam.

Use the filter above to set a specific exam type.
{0} +sebserver.monitoring.exam.list.column.type.tooltip=The type of the exam

Use the filter above to set a specific exam type
{0} sebserver.monitoring.exam.list.column.startTime=Start Time {0} -sebserver.monitoring.exam.list.column.startTime.tooltip=The start date and time of the exam.

{0} +sebserver.monitoring.exam.list.column.startTime.tooltip=The start date and time of the exam

{0} sebserver.monitoring.exam.list.column.endTime=End Time {0} -sebserver.monitoring.exam.list.column.endTime.tooltip=The end date and time of the exam.

{0} +sebserver.monitoring.exam.list.column.endTime.tooltip=The end date and time of the exam

{0} sebserver.monitoring.exam=Monitoring Exam: {0} sebserver.monitoring.connection.list.column.id=User Name or Session -sebserver.monitoring.connection.list.column.id.tooltip=The user session identifier or username sent by the SEB client after LMS login. +sebserver.monitoring.connection.list.column.id.tooltip=The user session identifier or username sent by the SEB client after LMS login sebserver.monitoring.connection.list.column.address=IP Address -sebserver.monitoring.connection.list.column.address.tooltip=The IP address from the host the SEB client is connecting to the SEB Server. +sebserver.monitoring.connection.list.column.address.tooltip=The IP address from the host the SEB client is connecting to the SEB Server sebserver.monitoring.connection.list.column.status=Status sebserver.monitoring.connection.list.column.status.tooltip=The current connection status sebserver.monitoring.connection.form.id=User Name or Session -sebserver.monitoring.connection.form.id.tooltip=The user session identifier or username sent by the SEB client after LMS login. +sebserver.monitoring.connection.form.id.tooltip=The user session identifier or username sent by the SEB client after LMS login sebserver.monitoring.connection.form.address=IP Address -sebserver.monitoring.connection.form.address.tooltip=The IP address from the host the SEB client is connecting to the SEB Server. +sebserver.monitoring.connection.form.address.tooltip=The IP address from the host the SEB client is connecting to the SEB Server sebserver.monitoring.connection.form.status=Status sebserver.monitoring.connection.form.status.tooltip=The current connection status sebserver.monitoring.connection.form.exam=Exam @@ -1351,15 +1351,15 @@ sebserver.monitoring.exam.connection.eventlist.title=Events sebserver.monitoring.exam.connection.eventlist.title.tooltip=All events and logs sent by the SEB Client sebserver.monitoring.exam.connection.eventlist.empty=No event found sebserver.monitoring.exam.connection.eventlist.type=Event Type -sebserver.monitoring.exam.connection.eventlist.type.tooltip=The type of the log event.

Use the filter above to set a specific event type.
{0} +sebserver.monitoring.exam.connection.eventlist.type.tooltip=The type of the log event

Use the filter above to set a specific event type
{0} sebserver.monitoring.exam.connection.eventlist.clienttime=Client Time {0} -sebserver.monitoring.exam.connection.eventlist.clienttime.tooltip=The time the SEB client has sent within the log event.

{0} +sebserver.monitoring.exam.connection.eventlist.clienttime.tooltip=The time the SEB client has sent within the log event

{0} sebserver.monitoring.exam.connection.eventlist.servertime=Server Time {0} -sebserver.monitoring.exam.connection.eventlist.servertime.tooltip=The exact time (UTC) the SEB Server has received the log event.

{0} +sebserver.monitoring.exam.connection.eventlist.servertime.tooltip=The exact time (UTC) the SEB Server has received the log event

{0} sebserver.monitoring.exam.connection.eventlist.value=Value -sebserver.monitoring.exam.connection.eventlist.value.tooltip=The value of the log event.

{0} +sebserver.monitoring.exam.connection.eventlist.value.tooltip=The value of the log event

{0} sebserver.monitoring.exam.connection.eventlist.text=Text -sebserver.monitoring.exam.connection.eventlist.text.tooltip=The text of the log event.

{0} +sebserver.monitoring.exam.connection.eventlist.text.tooltip=The text of the log event

{0} sebserver.monitoring.exam.connection.event.type.UNKNOWN=Unknown sebserver.monitoring.exam.connection.event.type.DEBUG_LOG=Debug @@ -1388,28 +1388,28 @@ sebserver.logs.activity.seblogs.details=Show Details sebserver.userlogs.list.title=User Activity Logs sebserver.userlogs.list.column.institution=Institution -sebserver.userlogs.list.column.institution.tooltip=The institution of the user activity log.

Use the filter above to specify the institution.
{0} +sebserver.userlogs.list.column.institution.tooltip=The institution of the user activity log

Use the filter above to specify the institution
{0} sebserver.userlogs.list.column.user=User -sebserver.userlogs.list.column.user.tooltip=The user account of the user activity log.

Use the filter above to specify a user account.
{0} +sebserver.userlogs.list.column.user.tooltip=The user account of the user activity log

Use the filter above to specify a user account
{0} sebserver.userlogs.list.column.dateTime=Date {0} -sebserver.userlogs.list.column.dateTime.tooltip=The date when the user activity log happened.

Use the filter above to specify a from- and to-date range.
{0} +sebserver.userlogs.list.column.dateTime.tooltip=The date when the user activity log happened

Use the filter above to specify a from- and to-date range
{0} sebserver.userlogs.list.column.activityType=User Activity -sebserver.userlogs.list.column.activityType.tooltip=The type of the user activity.

Use the filter above to specify an activity type.
{0} +sebserver.userlogs.list.column.activityType.tooltip=The type of the user activity

Use the filter above to specify an activity type
{0} sebserver.userlogs.list.column.entityType=Domain Type -sebserver.userlogs.list.column.entityType.tooltip=The domain type of the user activity.

Use the filter above to specify a domain type.
{0} +sebserver.userlogs.list.column.entityType.tooltip=The domain type of the user activity

Use the filter above to specify a domain type
{0} sebserver.userlogs.form.user=User -sebserver.userlogs.form.user.tooltip=The user account of the user activity log. +sebserver.userlogs.form.user.tooltip=The user account of the user activity log sebserver.userlogs.form.dateTime=Date {0} -sebserver.userlogs.form.dateTime.tooltip=The date when the user activity log happened. +sebserver.userlogs.form.dateTime.tooltip=The date when the user activity log happened sebserver.userlogs.form.activityType=User Activity -sebserver.userlogs.form.activityType.tooltip=The type of the user activity. +sebserver.userlogs.form.activityType.tooltip=The type of the user activity sebserver.userlogs.form.entityType=Domain Type -sebserver.userlogs.form.entityType.tooltip=The domain type of the user activity. +sebserver.userlogs.form.entityType.tooltip=The domain type of the user activity sebserver.userlogs.form.entityId=Entity-ID sebserver.userlogs.form.entityId.tooltip=The internal entity identifier of the domain object sebserver.userlogs.form.message=Message -sebserver.userlogs.form.message.tooltip=The user activity log message.
This is usually a data model representation of the domain object +sebserver.userlogs.form.message.tooltip=The user activity log message
This is usually a data model representation of the domain object sebserver.userlogs.details.title=User Activity Log Details sebserver.userlogs.info.pleaseSelect=At first please select a User Log from the list @@ -1423,17 +1423,17 @@ sebserver.seblogs.list.empty=No SEB client logs available. Please adapt or clear sebserver.seblogs.info.pleaseSelect=At first please select a SEB client Log from the list sebserver.seblogs.list.column.institution=Institution -sebserver.seblogs.list.column.institution.tooltip=The institution where the exam belongs to.

Use the filter above to specify the institution.
{0} +sebserver.seblogs.list.column.institution.tooltip=The institution where the exam belongs to

Use the filter above to specify the institution
{0} sebserver.seblogs.list.column.exam=Exam -sebserver.seblogs.list.column.exam.tooltip=The exam of the SEB client logs.

Use the filter above to specify an exam.
{0} +sebserver.seblogs.list.column.exam.tooltip=The exam of the SEB client logs

Use the filter above to specify an exam
{0} sebserver.seblogs.list.column.client-session=User Session-ID -sebserver.seblogs.list.column.client-session.tooltip=The user or user-session identifier.

Use the filter above to narrow down to a user identifier name.
{0} +sebserver.seblogs.list.column.client-session.tooltip=The user or user-session identifier

Use the filter above to narrow down to a user identifier name
{0} sebserver.seblogs.list.column.type=Event Type -sebserver.seblogs.list.column.type.tooltip=The SEB client log event type.

Use the filter above to specify log type.
{0} +sebserver.seblogs.list.column.type.tooltip=The SEB client log event type

Use the filter above to specify log type
{0} sebserver.seblogs.list.column.time=Event Time {0} -sebserver.seblogs.list.column.time.tooltip=The SEB client log time.

Use the filter above to specify from- and to-date and time.
{0} +sebserver.seblogs.list.column.time.tooltip=The SEB client log time

Use the filter above to specify from- and to-date and time
{0} sebserver.seblogs.list.column.value=Value -sebserver.seblogs.list.column.value.tooltip=The SEB client log value.

{0} +sebserver.seblogs.list.column.value.tooltip=The SEB client log value

{0} sebserver.seblogs.details.title=SEB Client Log Details sebserver.seblogs.details.event.title=Event @@ -1442,31 +1442,31 @@ sebserver.seblogs.details.exam.title=Exam Details sebserver.seblogs.details.dateTime=Date sebserver.seblogs.form.column.client-session=Session-ID -sebserver.seblogs.form.column.client-session.tooltip=The user or user session identifier. +sebserver.seblogs.form.column.client-session.tooltip=The user or user session identifier sebserver.seblogs.form.column.type=Event Type -sebserver.seblogs.form.column.type.tooltip=The SEB client log event type. +sebserver.seblogs.form.column.type.tooltip=The SEB client log event type sebserver.seblogs.form.column.server-time=Server Time -sebserver.seblogs.form.column.server-time.tooltip=The exact time when the SEB Server got the event log sent by a SEB client. +sebserver.seblogs.form.column.server-time.tooltip=The exact time when the SEB Server got the event log sent by a SEB client sebserver.seblogs.form.column.client-time=SEB Client Time -sebserver.seblogs.form.column.client-time.tooltip=The time that was send within the log from a SEB client. +sebserver.seblogs.form.column.client-time.tooltip=The time that was send within the log from a SEB client sebserver.seblogs.form.column.value=Value sebserver.seblogs.form.column.value.tooltip=The SEB client log event value sebserver.seblogs.form.column.message=Message sebserver.seblogs.form.column.message.tooltip=The SEB client log message sebserver.seblogs.form.column.connection.session-id=User Session-ID -sebserver.seblogs.form.column.connection.session-id.tooltip=The user or user session identifier. +sebserver.seblogs.form.column.connection.session-id.tooltip=The user or user session identifier sebserver.seblogs.form.column.connection.address=SEB client Address sebserver.seblogs.form.column.connection.address.tooltip=The IP address of the SEB client sebserver.seblogs.form.column.connection.token=SEB Connection Token -sebserver.seblogs.form.column.connection.token.tooltip=The connection token that was generated by the SEB Server to identify the SEB client connection. +sebserver.seblogs.form.column.connection.token.tooltip=The connection token that was generated by the SEB Server to identify the SEB client connection sebserver.seblogs.form.column.connection.status=Connection Status -sebserver.seblogs.form.column.connection.status.tooltip=The current SEB client connection status. +sebserver.seblogs.form.column.connection.status.tooltip=The current SEB client connection status sebserver.seblogs.form.column.exam.name=Name -sebserver.seblogs.form.column.exam.name.tooltip=The name of the exam. +sebserver.seblogs.form.column.exam.name.tooltip=The name of the exam sebserver.seblogs.form.column.exam.description=Description -sebserver.seblogs.form.column.exam.description.tooltip=The description of the exam. +sebserver.seblogs.form.column.exam.description.tooltip=The description of the exam sebserver.seblogs.form.column.exam.type=Type sebserver.seblogs.form.column.exam.type.tooltip=The type of the exam sebserver.seblogs.form.column.exam.startTime=Start Time From ebcc72f2ddb125835559c8c508b9a12973ff8baa Mon Sep 17 00:00:00 2001 From: anhefti Date: Wed, 13 May 2020 10:39:47 +0200 Subject: [PATCH 3/4] prepare for relese --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 73a5f3a7..9b07d877 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ jar - 1.0.1-SNAPSHOT + 1.0.0 ${sebserver-version} UTF-8 UTF-8 From 2c527ad2ccbf0e93fd2ca16977bfc83184e4bf59 Mon Sep 17 00:00:00 2001 From: anhefti Date: Wed, 13 May 2020 10:54:09 +0200 Subject: [PATCH 4/4] prepare for next release 1.0.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9b07d877..73a5f3a7 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ jar - 1.0.0 + 1.0.1-SNAPSHOT ${sebserver-version} UTF-8 UTF-8