diff --git a/.github/workflows/build_docker_images.yml b/.github/workflows/build_docker_images.yml
new file mode 100644
index 00000000..fe70ec59
--- /dev/null
+++ b/.github/workflows/build_docker_images.yml
@@ -0,0 +1,33 @@
+name: ci
+
+on:
+ push:
+ branches: master
+
+jobs:
+ main:
+ runs-on: ubuntu-latest
+ steps:
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ -
+ name: Login to DockerHub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ -
+ name: Build and push
+ id: docker_build
+ uses: docker/build-push-action@v2
+ with:
+ file: ./docker/demo/Dockerfile
+ push: true
+ tags: bengig/seb-server:latest
+ -
+ name: Image digest
+ run: echo ${{ steps.docker_build.outputs.digest }}
diff --git a/docker/.gitignore b/docker/.gitignore
new file mode 100644
index 00000000..19337860
--- /dev/null
+++ b/docker/.gitignore
@@ -0,0 +1 @@
+/test/
diff --git a/docker/demo/Dockerfile b/docker/demo/Dockerfile
new file mode 100644
index 00000000..63dc3339
--- /dev/null
+++ b/docker/demo/Dockerfile
@@ -0,0 +1,46 @@
+FROM alpine/git
+
+ARG SEBSERVER_VERSION
+ARG GIT_TAG="v${SEBSERVER_VERSION}"
+
+WORKDIR /sebserver
+RUN if [ "x${GIT_TAG}" = "x" ] ; \
+ then git clone --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; \
+ else git clone -b "$GIT_TAG" --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; fi
+
+FROM maven:latest
+
+ARG SEBSERVER_VERSION
+
+WORKDIR /sebserver
+COPY --from=0 /sebserver/seb-server /sebserver
+RUN mvn clean install -DskipTests -Dbuild-version="${SEBSERVER_VERSION}"
+
+FROM openjdk:11-jre-stretch
+
+ARG SEBSERVER_VERSION
+ENV SEBSERVER_JAR=${SEBSERVER_VERSION}
+ENV SERVER_PORT="8080"
+ENV JMX_PORT="9090"
+ENV SERVER_PWD=
+
+
+WORKDIR /sebserver
+COPY --from=1 /sebserver/target/seb-server-"${SEBSERVER_JAR}".jar /sebserver
+
+ENTRYPOINT exec java \
+ -Dcom.sun.management.jmxremote \
+ -Dcom.sun.management.jmxremote.port=9090 \
+ -Dcom.sun.management.jmxremote.rmi.port=9090 \
+ -Djava.rmi.server.hostname=localhost \
+ -Dcom.sun.management.jmxremote.local.only=false \
+ -Dcom.sun.management.jmxremote.ssl=false \
+ -Dcom.sun.management.jmxremote.authenticate=false \
+ -jar seb-server-"${SEBSERVER_JAR}".jar \
+ --server.port="${SERVER_PORT}" \
+ --spring.profiles.active=ws,gui,demo \
+ --spring.config.location=file:/sebserver/config/,classpath:/config/ \
+ --sebserver.mariadb.password="${SERVER_PWD}" \
+ --sebserver.password="${SERVER_PWD}"
+
+EXPOSE $SERVER_PORT $JMX_PORT
\ No newline at end of file
diff --git a/docker/demo/config/application-demo.properties b/docker/demo/config/application-demo.properties
new file mode 100644
index 00000000..ecfd8cc0
--- /dev/null
+++ b/docker/demo/config/application-demo.properties
@@ -0,0 +1,77 @@
+##########################################################
+### Global Server Settings
+
+# Server address (set for docker internal)
+server.address=0.0.0.0
+# Server http port
+server.port=8080
+# The servlet context path
+server.servlet.context-path=/
+
+### Logging
+# Default logging level in the form "logging.level" + namespace=LEVEL
+logging.level.ROOT=WARN
+logging.level.ch=DEBUG
+# Log file name and location
+logging.file=/sebserver/log/sebserver.log
+
+##########################################################
+### SEB Server Webservice configuration
+
+sebserver.test.property=This is a SEB Server Demo Configuration
+
+### webservice initialization
+sebserver.init.adminaccount.gen-on-init=false
+sebserver.init.organisation.name=
+sebserver.init.adminaccount.username=
+
+# database
+datastore.mariadb.server.address=seb-server-mariadb
+datastore.mariadb.server.port=3306
+spring.flyway.enabled=true
+spring.flyway.locations=classpath:config/sql/base,classpath:config/sql/demo
+spring.flyway.cleanDisabled=false
+spring.datasource.hikari.initializationFailTimeout=30000
+sebserver.webservice.clean-db-on-startup=true
+
+# webservice configuration
+sebserver.webservice.distributed=false
+sebserver.webservice.http.external.scheme=http
+sebserver.webservice.http.external.servername=ralph.ethz.ch
+sebserver.webservice.http.external.port=${server.port}
+sebserver.webservice.http.redirect.gui=${sebserver.gui.entrypoint}
+sebserver.webservice.api.admin.clientId=guiClient
+sebserver.webservice.api.admin.endpoint=/admin-api/v1
+sebserver.webservice.api.admin.accessTokenValiditySeconds=3600
+sebserver.webservice.api.admin.refreshTokenValiditySeconds=-1
+sebserver.webservice.api.exam.config.init.permittedProcesses=config/initialPermittedProcesses.xml
+sebserver.webservice.api.exam.config.init.prohibitedProcesses=config/initialProhibitedProcesses.xml
+sebserver.webservice.api.exam.endpoint=/exam-api
+sebserver.webservice.api.exam.endpoint.discovery=${sebserver.webservice.api.exam.endpoint}/discovery
+sebserver.webservice.api.exam.endpoint.v1=${sebserver.webservice.api.exam.endpoint}/v1
+sebserver.webservice.api.exam.accessTokenValiditySeconds=86400
+sebserver.webservice.api.pagination.maxPageSize=500
+# comma separated list of known possible OpenEdX API access token request endpoints
+sebserver.webservice.lms.openedx.api.token.request.paths=/oauth2/access_token
+sebserver.webservice.lms.address.alias=lms.mockup.com=ralph.ethz.ch,edx.devstack.lms=ralph.ethz.ch
+
+##########################################################
+### SEB Server GUI service configuration
+sebserver.gui.external.messages=file:/sebserver/config/messages
+sebserver.gui.multilingual=false
+sebserver.gui.supported.languages=en
+sebserver.gui.date.displayformat=de
+
+sebserver.gui.entrypoint=/gui
+sebserver.gui.webservice.protocol=http
+sebserver.gui.webservice.address=${server.address}
+sebserver.gui.webservice.port=8080
+sebserver.gui.webservice.apipath=/admin-api/v1
+sebserver.gui.theme=css/sebserver.css
+sebserver.gui.list.page.size=20
+sebserver.gui.date.displayformat=MM / dd / yyyy
+sebserver.gui.date.displayformat.time=HH:mm
+sebserver.gui.date.displayformat.timezone=|ZZ
+sebserver.gui.seb.client.config.download.filename=SEBServerSettings.seb
+sebserver.gui.seb.exam.config.download.filename=SebExamSettings.seb
+#sebserver.gui.defaultLogo=classpath:/static/images/ethz_logo_white.png
diff --git a/docker/demo/config/mariadb/config.cnf b/docker/demo/config/mariadb/config.cnf
new file mode 100644
index 00000000..56aac3cd
--- /dev/null
+++ b/docker/demo/config/mariadb/config.cnf
@@ -0,0 +1,10 @@
+[mysqld]
+# Disabling symbolic-links is recommended to prevent assorted security risks
+symbolic-links=0
+
+# network
+connect_timeout = 61
+wait_timeout = 28800
+max_connections = 100000
+max_allowed_packet = 64M
+max_connect_errors = 1000
\ No newline at end of file
diff --git a/docker/demo/config/messages_de.properties b/docker/demo/config/messages_de.properties
new file mode 100644
index 00000000..49642d94
--- /dev/null
+++ b/docker/demo/config/messages_de.properties
@@ -0,0 +1,144 @@
+################################
+# Overall
+################################
+
+sebserver.overall.version=SEB Server Version : {0}
+sebserver.overall.imprint=
+sebserver.overall.imprint.markup=
+sebserver.overall.about=
+sebserver.overall.about.markup=
+sebserver.overall.help=Dokumentation
+sebserver.overall.help.link=https://www.safeexambrowser.org/news_de.html
+
+sebserver.overall.message.leave.without.save=You are leaving this page without saved changes!\nThe unsaved changes will be lost.\Are you sure to leave the page?
+sebserver.overall.upload=Bitte Ausw\u00E4hlen
+sebserver.overall.action.modify.cancel=Abbrechen
+sebserver.overall.action.modify.cancel.confirm=Nicht gespeicherte Daten gehen verloren. Wirklich abbrechen?
+sebserver.overall.action.filter=Filtern
+sebserver.overall.action.filter.clear=Filter Zur\u00FCcksetzen
+
+################################
+# Form validation and messages
+################################
+
+sebserver.form.validation.error.title=Validierung
+sebserver.form.validation.error.message=Einige Daten fehlen oder sind nicht korrekt.
+sebserver.form.validation.fieldError.size=Der Text muss mindestens {3} und kann h\u00F6chstens {4} Zeichen beinhalten
+sebserver.form.validation.fieldError.name=Name is mandatory and must have a size between {3} and {4} character
+sebserver.form.validation.fieldError.urlSuffix=URL Suffix must have a size between {3} and {4} character
+sebserver.form.validation.fieldError.notNull=Dies ist ein Pflichtfeld
+sebserver.form.validation.fieldError.username.notunique=Dieser Username ist schon in Gebrauch. Bitte w\u00E4hlen Sie einen anderen.
+sebserver.form.validation.fieldError.password.wrong=Das (aktuelle) Passwort stimmt nicht
+sebserver.form.validation.fieldError.password.mismatch=Passwort, neues Passwort und Best\u00E4tigung stimmen nicht \u00FCberein
+sebserver.error.unexpected=Unerwarteter Fehler
+sebserver.page.message=Information
+sebserver.dialog.confirm.title=Best\u00E4tigung
+
+sebserver.dialog.confirm.deactivation=Es gibt {0} weitere Objekte die zu diesem Objeckt geh\u00F6ren.
Diese werden bei einer Deaktivierung ebenfalls deaktiviert.
Sollen alle deaktiviert weden?
+sebserver.dialog.confirm.deactivation.noDependencies=Soll dieses Object wirklich deaktiviert werden?
+
+################################
+# Login Page
+################################
+
+sebserver.login.username=Benutzer Name
+sebserver.login.pwd=Passwort
+sebserver.login.login=Anmelden
+sebserver.login.failed.title=Anmelden Fehlgeschlagen
+sebserver.login.failed.message=Zugang verweigert: Falscher Benutzer Name oder Passwort
+sebserver.logout=Abmelden
+sebserver.logout.success.message=Sie wurden erfolgreich abgemeldet
+sebserver.login.password.change=Information
+sebserver.login.password.change.success=Das Passwort wurde erfoglreich ge\u00E4ndert. Bitte melden Sie sich mit dem neuen Passwort an.
+
+################################
+# Main Page
+################################
+
+sebserver.logout=Abmelden
+sebserver.mainpage.maximize.tooltip=Maximieren
+sebserver.mainpage.minimize.tooltip=Minimieren
+sebserver.activitiespane.title=Aktivit\u00E4ten
+sebserver.actionpane.title=Aktionen
+
+################################
+# Institution
+################################
+
+sebserver.institution.list.title=Institutionen
+sebserver.institution.list.column.name=Name
+sebserver.institution.list.column.urlSuffix=URL Suffix
+sebserver.institution.list.column.active=Aktiv
+
+sebserver.institution.action.list=Institution
+sebserver.institution.action.form=Institution
+sebserver.institution.action.new=Neue Institution
+sebserver.institution.action.list.view=Ausgew\u00E4hlte Ansehen
+sebserver.institution.action.modify=Institution Editieren
+sebserver.institution.action.list.modify=Ausgew\u00E4hlte Editieren
+sebserver.institution.action.save=Institution Speichern
+sebserver.institution.action.activate=Aktiv
+sebserver.institution.action.deactivate=Aktiv
+sebserver.institution.action.delete=Institution L\u00F6schen
+
+
+sebserver.institution.info.pleaseSelect=Bitte zuerst eine Instiiution aus der List ausw\u00E4hlen.
+sebserver.institution.form.title.new=Neue Institution
+sebserver.institution.form.title=Institution : {0}
+
+sebserver.institution.form.name=Name
+sebserver.institution.form.urlSuffix=URL Suffix
+sebserver.institution.form.logoImage=Logo Bild
+
+
+################################
+# User Account
+################################
+
+sebserver.useraccount.role.SEB_SERVER_ADMIN=SEB Server Administrator
+sebserver.useraccount.role.INSTITUTIONAL_ADMIN=Institution Administrator
+sebserver.useraccount.role.EXAM_ADMIN=Examen Administrator
+sebserver.useraccount.role.EXAM_SUPPORTER=Examen Supporter
+
+sebserver.useraccount.list.title=Benutzer Konto
+sebserver.useraccount.list.column.name=Name
+sebserver.useraccount.list.column.username=Benutzer Name
+sebserver.useraccount.list.column.email=E-Mail
+sebserver.useraccount.list.column.language=Sprache
+sebserver.useraccount.list.column.active=Aktiv
+
+sebserver.useraccount.action.list=Benutzer Konto
+sebserver.useraccount.action.form=Benutzer Konto
+sebserver.useraccount.action.new=Neues Benutzer Konto
+sebserver.useraccount.action.view=Ausgew\u00E4hlter Ansehen
+sebserver.useraccount.action.list.modify=Ausgew\u00E4hlter Editieren
+sebserver.useraccount.action.modify=Editieren
+sebserver.useraccount.action.save=Benutzer Konto Speichern
+sebserver.useraccount.action.activate=Aktiv
+sebserver.useraccount.action.deactivate=Aktiv
+sebserver.useraccount.action.delete=Benutzer Konto L\u00F6schen
+sebserver.useraccount.action.change.password=Passwort Ändern
+sebserver.useraccount.action.change.password.save=Passwort Speichern
+
+sebserver.useraccount.info.pleaseSelect=Bitte zuerst ein Benutzer Konto aus der List ausw\u00E4hlen.
+
+sebserver.useraccount.form.title=Benutzer Konto : {0}
+sebserver.useraccount.form.title.new=Neues Benutzer Konto
+sebserver.useraccount.form.institution=Institution
+sebserver.useraccount.form.name=Name
+sebserver.useraccount.form.username=Benutzer Name
+sebserver.useraccount.form.mail=E-Mail
+sebserver.useraccount.form.language=Sprache
+sebserver.useraccount.form.timezone=Zeit Zone
+sebserver.useraccount.form.roles=Benutzer Rollen
+sebserver.useraccount.form.password=Passwort
+sebserver.useraccount.form.password.confirm=Passwort Best\u00E4tigen
+
+sebserver.useraccount.form.pwchange.title=Passwort \u00C4ndern : {0}
+sebserver.useraccount.form.password.old=Altes Passwort
+sebserver.useraccount.form.password.new=Neues Passwort
+sebserver.useraccount.form.password.new.confirm=Neues Password Best\u00E4tigen
+
+
+
+
diff --git a/docker/demo/config/messages_en.properties b/docker/demo/config/messages_en.properties
new file mode 100644
index 00000000..3c2d1d80
--- /dev/null
+++ b/docker/demo/config/messages_en.properties
@@ -0,0 +1,6 @@
+sebserver.overall.about=About
+sebserver.overall.about.markup=SEB Server About
1. Installation.
This is a SEB Server demo setup, ideal for testing or demonstrations.
+sebserver.overall.help=Documentation
+sebserver.overall.help.link=https://seb-server.readthedocs.io/en/latest/index.html
+
+sebserver.monitoring.exam.connection.action.disable=Mark as Canceled
diff --git a/docker/demo/docker-compose.yml b/docker/demo/docker-compose.yml
new file mode 100644
index 00000000..7296d134
--- /dev/null
+++ b/docker/demo/docker-compose.yml
@@ -0,0 +1,44 @@
+version: '3'
+services:
+ mariadb:
+ image: "mariadb/server:10.3"
+ container_name: seb-server-mariadb
+ environment:
+ MYSQL_ROOT_PASSWORD: somePW
+ volumes:
+ - seb-server-mariadb-data:/var/lib/mysql
+ - ./config/mariadb:/etc/mysql/conf.d
+ ports:
+ - 3306:3306
+ networks:
+ - ralph
+ restart: unless-stopped
+
+ seb-server:
+ build:
+ context: .
+ args:
+ - SEBSERVER_VERSION=1.0-latest
+ container_name: seb-server
+ environment:
+ - SERVER_PORT=8080
+ - SERVER_PWD=somePW
+ volumes:
+ - ./config:/sebserver/config
+ - seb-server-logs:/sebserver/log
+
+ ports:
+ - 8080:8080
+ - 9090:9090
+ networks:
+ - ralph
+ depends_on:
+ - "mariadb"
+ restart: unless-stopped
+
+networks:
+ ralph:
+
+volumes:
+ seb-server-mariadb-data:
+ seb-server-logs:
\ No newline at end of file
diff --git a/docker/prod/bundled/basic/config/jmx/jmxremote.access b/docker/prod/bundled/basic/config/jmx/jmxremote.access
new file mode 100644
index 00000000..7280be99
--- /dev/null
+++ b/docker/prod/bundled/basic/config/jmx/jmxremote.access
@@ -0,0 +1,2 @@
+admin readwrite
+user readonly
\ No newline at end of file
diff --git a/docker/prod/bundled/basic/config/jmx/jmxremote.password b/docker/prod/bundled/basic/config/jmx/jmxremote.password
new file mode 100644
index 00000000..e69de29b
diff --git a/docker/prod/bundled/basic/config/mariadb/config.cnf b/docker/prod/bundled/basic/config/mariadb/config.cnf
new file mode 100644
index 00000000..ee2437c2
--- /dev/null
+++ b/docker/prod/bundled/basic/config/mariadb/config.cnf
@@ -0,0 +1,15 @@
+[mysqld]
+# Disabling symbolic-links is recommended to prevent assorted security risks
+symbolic-links=0
+
+# network
+connect_timeout = 61
+wait_timeout = 28800
+max_connections = 100000
+max_allowed_packet = 256M
+max_connect_errors = 1000000
+
+skip_external_locking
+
+#memory
+innodb_buffer_pool_size=2G
diff --git a/docker/prod/bundled/basic/config/nginx/app.conf b/docker/prod/bundled/basic/config/nginx/app.conf
new file mode 100644
index 00000000..68eebce5
--- /dev/null
+++ b/docker/prod/bundled/basic/config/nginx/app.conf
@@ -0,0 +1,14 @@
+server {
+ listen 80;
+ charset utf-8;
+ access_log off;
+
+ location / {
+ proxy_pass http://seb-server:8080;
+ proxy_set_header Host $host:$server_port;
+ proxy_set_header X-Forwarded-Host $server_name;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ }
+
+}
diff --git a/docker/prod/bundled/basic/config/spring/application-prod.properties b/docker/prod/bundled/basic/config/spring/application-prod.properties
new file mode 100644
index 00000000..46f190a6
--- /dev/null
+++ b/docker/prod/bundled/basic/config/spring/application-prod.properties
@@ -0,0 +1,83 @@
+##########################################################
+### Global Server Settings
+
+# Server address (set for docker internal)
+server.address=0.0.0.0
+# Server http port
+server.port=8080
+# The servlet context path
+server.servlet.context-path=/
+
+# Logging
+# Default logging level in the form "logging.level" + namespace=LEVEL
+logging.level.ROOT=WARN
+logging.level.ch=INFO
+logging.file=/sebserver/log/sebserver.log
+logging.config=/sebserver/config/spring/logback-prod.xml
+
+##########################################################
+### SEB Server Webservice configuration
+
+sebserver.test.property=This is a basic bundled productive setup
+
+# webservice database server connection
+datastore.mariadb.server.address=seb-server-mariadb
+datastore.mariadb.server.port=3306
+
+# data source configuration
+spring.datasource.hikari.initializationFailTimeout=30000
+spring.datasource.hikari.connectionTimeout=30000
+spring.datasource.hikari.idleTimeout=600000
+spring.datasource.hikari.maxLifetime=1800000
+
+### webservice networking
+sebserver.webservice.distributed=false
+sebserver.webservice.http.external.scheme=https
+sebserver.webservice.http.external.servername=
+sebserver.webservice.http.external.port=
+sebserver.webservice.http.redirect.gui=/gui
+sebserver.http.client.connect-timeout=150000
+sebserver.http.client.connection-request-timeout=100000
+sebserver.http.client.read-timeout=200000
+
+# webservice API
+sebserver.webservice.api.admin.endpoint=/admin-api/v1
+sebserver.webservice.api.admin.accessTokenValiditySeconds=3600
+sebserver.webservice.api.admin.refreshTokenValiditySeconds=25200
+sebserver.webservice.api.exam.config.init.permittedProcesses=config/initialPermittedProcesses.xml
+sebserver.webservice.api.exam.config.init.prohibitedProcesses=config/initialProhibitedProcesses.xml
+sebserver.webservice.api.exam.endpoint=/exam-api
+sebserver.webservice.api.exam.endpoint.discovery=${sebserver.webservice.api.exam.endpoint}/discovery
+sebserver.webservice.api.exam.endpoint.v1=${sebserver.webservice.api.exam.endpoint}/v1
+sebserver.webservice.api.exam.accessTokenValiditySeconds=3600
+sebserver.webservice.api.exam.event-handling-strategy=ASYNC_BATCH_STORE_STRATEGY
+sebserver.webservice.api.exam.enable-indicator-cache=true
+sebserver.webservice.api.pagination.maxPageSize=500
+# comma separated list of known possible OpenEdX API access token request endpoints
+sebserver.webservice.lms.openedx.api.token.request.paths=/oauth2/access_token
+
+management.server.port=${server.port}
+management.endpoints.web.base-path=/management
+management.endpoints.web.exposure.include=logfile,loggers
+
+##########################################################
+### SEB Server GUI configuration
+sebserver.gui.external.messages=file:/sebserver/config/spring/messages
+sebserver.gui.multilingual=false
+sebserver.gui.supported.languages=en
+sebserver.gui.theme=css/sebserver.css
+sebserver.gui.list.page.size=20
+sebserver.gui.date.displayformat=de
+
+sebserver.gui.entrypoint=/gui
+sebserver.gui.webservice.protocol=http
+sebserver.gui.webservice.address=localhost
+sebserver.gui.webservice.port=8080
+# defines the polling interval that is used to poll the webservice for client connection data on a monitored exam page
+sebserver.gui.webservice.poll-interval=1000
+sebserver.gui.webservice.mock-lms-enabled=true
+sebserver.gui.webservice.edx-lms-enabled=true
+sebserver.gui.webservice.moodle-lms-enabled=false
+
+sebserver.gui.seb.client.config.download.filename=SEBServerSettings.seb
+sebserver.gui.seb.exam.config.download.filename=SEBExamSettings.seb
\ No newline at end of file
diff --git a/docker/prod/bundled/basic/config/spring/logback-prod.xml b/docker/prod/bundled/basic/config/spring/logback-prod.xml
new file mode 100644
index 00000000..3033898c
--- /dev/null
+++ b/docker/prod/bundled/basic/config/spring/logback-prod.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ %d{HH:mm:ss.SSS} %-5level [%thread]:[%logger] %msg%n
+
+
+
+
+ log/sebserver.log
+ true
+
+ %d{HH:mm:ss.SSS} %-5level [%thread]:[%logger] %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docker/prod/bundled/basic/config/spring/messages_en.properties b/docker/prod/bundled/basic/config/spring/messages_en.properties
new file mode 100644
index 00000000..77eaebd4
--- /dev/null
+++ b/docker/prod/bundled/basic/config/spring/messages_en.properties
@@ -0,0 +1,1476 @@
+################################
+# Overall
+################################
+
+sebserver.overall.imprint=
+sebserver.overall.imprint.markup=
+sebserver.overall.help=About
+sebserver.overall.help.link=https://seb-server.readthedocs.io/en/latest/index.html
+sebserver.overall.about=
+sebserver.overall.about.markup=
+
+
+sebserver.overall.message.leave.without.save=You have unsaved changes!
Are you sure you want to leave the page? The changes will be lost.
+sebserver.overall.upload=Please select a file
+sebserver.overall.upload.unsupported.file=This file type is not supported. Supported files are: {0}
+sebserver.overall.action.modify.cancel=Cancel
+sebserver.overall.action.modify.cancel.confirm=Are you sure you want to cancel? Modifications will be lost.
+sebserver.overall.action.filter=Apply filter
+sebserver.overall.action.filter.clear=Clear filter criteria
+sebserver.overall.action.ok=OK
+sebserver.overall.action.cancel=Cancel
+sebserver.overall.action.close=Close
+sebserver.overall.action.goAwayFromEditPageConfirm=Are you sure you want to leave this page? Unsaved data will be lost.
+sebserver.overall.action.category.varia=
+sebserver.overall.action.category.filter=
+
+sebserver.overall.action.showPassword.tooltip=Show / hide password in plain text.
+
+sebserver.overall.status.active=Active
+sebserver.overall.status.inactive=Inactive
+sebserver.overall.status.all=All
+
+sebserver.overall.date.from=From
+sebserver.overall.date.to=To
+
+sebserver.overall.action.add=Add;
+sebserver.overall.action.remove=Remove
+sebserver.overall.action.select=Please Select
+sebserver.overall.action.toggle-activity=Switch Status
+
+sebserver.overall.types.activityType.REGISTER=Register new Account
+sebserver.overall.types.activityType.CREATE=Create New
+sebserver.overall.types.activityType.IMPORT=Import
+sebserver.overall.types.activityType.EXPORT=Export
+sebserver.overall.types.activityType.MODIFY=Modify
+sebserver.overall.types.activityType.PASSWORD_CHANGE=Password Change
+sebserver.overall.types.activityType.DEACTIVATE=Deactivate
+sebserver.overall.types.activityType.ACTIVATE=Activate
+sebserver.overall.types.activityType.DELETE=Delete
+
+sebserver.overall.types.entityType.CONFIGURATION_ATTRIBUTE=Configuration Attribute
+sebserver.overall.types.entityType.CONFIGURATION_VALUE=Configuration Value
+sebserver.overall.types.entityType.VIEW=Configuration View
+sebserver.overall.types.entityType.ORIENTATION=Configuration Orientation
+sebserver.overall.types.entityType.CONFIGURATION=Exam Configuration History
+sebserver.overall.types.entityType.CONFIGURATION_NODE=Exam Configuration
+sebserver.overall.types.entityType.EXAM_CONFIGURATION_MAP=Exam Configuration Mapping
+sebserver.overall.types.entityType.EXAM=Exam
+sebserver.overall.types.entityType.INDICATOR=Indicator
+sebserver.overall.types.entityType.THRESHOLD=Threshold
+sebserver.overall.types.entityType.INSTITUTION=Institution
+sebserver.overall.types.entityType.SEB_CLIENT_CONFIGURATION=Client Configuration
+sebserver.overall.types.entityType.LMS_SETUP=LMS Setup
+sebserver.overall.types.entityType.USER=User Account
+sebserver.overall.types.entityType.CLIENT_INSTRUCTION=SEB Client Instruction
+sebserver.overall.types.entityType.EXAM_SEB_RESTRICTION=SEB Exam Restriction
+
+sebserver.overall.activity.title.serveradmin=SEB Server Administration
+sebserver.overall.activity.title.sebconfig=SEB Configuration
+sebserver.overall.activity.title.examadmin=Exam Administration
+sebserver.overall.activity.title.monitoring=Monitoring
+
+################################
+# Form validation and messages
+################################
+
+sebserver.form.validation.error.title=Form data validation failed
+sebserver.form.validation.error.message=There is missing or incorrect form data.
+sebserver.form.validation.fieldError.size=The size must be between {3} and {4}
+sebserver.form.validation.fieldError.name=The Name is mandatory and must have a size between {3} and {4} character
+sebserver.form.validation.fieldError.urlSuffix=The URL Suffix must have a size between {3} and {4} character
+sebserver.form.validation.fieldError.notNull=This field is mandatory
+sebserver.form.validation.fieldError.name.notunique=This name is already in use. Please choose another one.
+sebserver.form.validation.fieldError.username.notunique=This Username is already in use. Please choose another one.
+sebserver.form.validation.fieldError.email.notunique=A user account with this e-mail address already exists.
+sebserver.form.validation.fieldError.password.wrong=The old password is wrong
+sebserver.form.validation.fieldError.password.mismatch=The retyped password doesn't match the new password
+sebserver.form.validation.fieldError.invalidURL=The input does not match the URL pattern.
+sebserver.form.validation.fieldError.exists=This name already exists. Please choose another one.
+sebserver.form.validation.fieldError.email=Invalid mail address
+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.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?
+
+sebserver.error.action.unexpected.message=Failed to process action. There was an unexpected error.
Please try again or contact a system administrator if this error persists
+sebserver.error.get.entity=Failed to load {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.remove.entity=Failed to remove {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.activate.entity=Failed to activate/deactivate {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.save.entity=Failed to save {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.exam.seb.restriction=
Failed to automatically set Safe Exam Browser restriction on/off for this exam on the corresponding LMS.
Please check the LMS Setup and try again or contact a system administrator if this error persists
+sebserver.error.import=Failed to import {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.logout=Failed to logout properly.
Please try again or contact a system administrator if this error persists
+################################
+# Login Page
+################################
+
+sebserver.login.username=User Name
+sebserver.login.pwd=Password
+sebserver.login.login=Sign In
+sebserver.login.failed.title=Login failed
+sebserver.login.failed.message=Access denied: wrong username or password
+sebserver.logout=Sign out
+sebserver.logout.success.message=You have been successfully signed out.
+sebserver.logout.invalid-session.message=You have been signed out because of a user session invalidation.
Please sign in again
+sebserver.login.password.change=Information
+sebserver.login.password.change.success=The password was successfully changed. Please sign in with your new password
+
+sebserver.login.register=Register
+sebserver.login.register.form.title=Create an Account
+sebserver.login.register.do=Create Account
+sebserver.login.register.success=New account successfully created.
Please log in with your username and password.
+
+
+################################
+# Main Page
+################################
+
+sebserver.mainpage.maximize.tooltip=Maximize
+sebserver.mainpage.minimize.tooltip=Minimize
+sebserver.activitiespane.title=
+sebserver.actionpane.title=
+
+################################
+# Institution
+################################
+
+sebserver.institution.list.actions=
+sebserver.institution.list.empty=No institution can be found. Please adapt the filter or create a new institution
+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.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.active=Status
+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
+sebserver.institution.action.new=Add Institution
+sebserver.institution.action.list.view=View Institution
+sebserver.institution.action.list.modify=Edit Institution
+sebserver.institution.action.modify=Edit Institution
+sebserver.institution.action.save=Save Institution
+sebserver.institution.action.activate=Activate Institution
+
+sebserver.institution.action.deactivate=Deactivate Institution
+sebserver.institution.action.delete=Delete Institution
+
+sebserver.institution.info.pleaseSelect=At first please select an institution from the list.
+sebserver.institution.form.title.new=Add Institution
+sebserver.institution.form.title=Institution
+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.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
+
+
+################################
+# User Account
+################################
+
+sebserver.useraccount.list.actions=
+sebserver.useraccount.role.SEB_SERVER_ADMIN=SEB Server Administrator
+sebserver.useraccount.role.SEB_SERVER_ADMIN.tooltip=A SEB server administrator has overall read privileges
and is able to create new institutions and user accounts
+sebserver.useraccount.role.INSTITUTIONAL_ADMIN=Institutional Administrator
+sebserver.useraccount.role.INSTITUTIONAL_ADMIN.tooltip=An institutional administrator has overall read privileges on the assigned institution
and is able to edit the institution and create new user accounts for the institution.
Furthermore an institutional administrator is able to create new LMS bindings and SEB client configurations for the institution.
+sebserver.useraccount.role.EXAM_ADMIN=Exam Administrator
+sebserver.useraccount.role.EXAM_ADMIN.tooltip=An exam administrator has overall read privileges for the institution but cannot see or manage other user accounts.
An exam administrator is able to create new SEB configurations and import and setup exams.
+sebserver.useraccount.role.EXAM_SUPPORTER=Exam Supporter
+sebserver.useraccount.role.EXAM_SUPPORTER.tooltip=An exam supporter can only see and edit the own user account
and monitor exams for that he/she was attached by an exam administrator.
+
+sebserver.useraccount.list.empty=No user account can be found. Please adapt the filter or create a new user account
+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.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.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.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.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.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.action.list=User Account
+sebserver.useraccount.action.form=User Account of {0}
+sebserver.useraccount.action.new=Add User Account
+sebserver.useraccount.action.view=View User Account
+sebserver.useraccount.action.list.modify=Edit User Account
+sebserver.useraccount.action.modify=Edit User Account
+sebserver.useraccount.action.save=Save User Account
+sebserver.useraccount.action.activate=Activate User Account
+sebserver.useraccount.action.deactivate=Deactivate User Account
+sebserver.useraccount.action.delete=Delete User Account
+sebserver.useraccount.action.change.password=Change Password
+sebserver.useraccount.action.change.password.save=Save New Password
+
+sebserver.useraccount.info.pleaseSelect=At first please select a User Account from the list.
+sebserver.useraccount.info.notEditable=You have no edit rights for this User Account.
+
+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.creationdate=Creation Date
+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.surname=Surname
+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.mail=E-Mail
+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.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.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.password=Password
+sebserver.useraccount.form.password.tooltip=The password of the user account
+sebserver.useraccount.form.password.confirm=Confirm Password
+sebserver.useraccount.form.password.confirm.tooltip=Please confirm the password
+sebserver.useraccount.form.pwchange.title=Change Password : {0}
+sebserver.useraccount.form.password.new=New Password
+sebserver.useraccount.form.password.new.tooltip=The new password for the user account
+sebserver.useraccount.form.password.new.confirm=Confirm New Password
+sebserver.useraccount.form.password.new.confirm.tooltip=Please confirm the password
+
+################################
+# LMS Setup
+################################
+
+sebserver.lmssetup.type.MOCKUP=Testing
+sebserver.lmssetup.type.MOODLE=Moodle
+sebserver.lmssetup.type.OPEN_EDX=Open edX
+
+sebserver.lmssetup.list.actions=
+sebserver.lmssetup.list.action.no.modify.privilege=No Access: A LMS Setup from other institution cannot be modified.
+sebserver.lmssetup.list.empty=No LMS Setup can be found. Please adapt the filter or create a new LMS Setup
+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.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.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.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.action.list=LMS Setup
+sebserver.lmssetup.action.form=LMS Setup
+sebserver.lmssetup.action.new=Add LMS Setup
+sebserver.lmssetup.action.list.view=View LMS Setup
+sebserver.lmssetup.action.list.modify=Edit LMS Setup
+sebserver.lmssetup.action.modify=Edit
+sebserver.lmssetup.action.savetest=Test And Save
+sebserver.lmssetup.action.testsave=Test And Save
+sebserver.lmssetup.action.test.ok=Successfully connected to the course API
+sebserver.lmssetup.action.test.tokenRequestError=The API access was denied: {0}
Please check the LMS connection details.
+sebserver.lmssetup.action.test.quizRequestError=Unable to request courses or exams from the course API of the LMS. {0}
+sebserver.lmssetup.action.test.quizRestrictionError=Unable to access course restriction API of the LMS. {0}
+sebserver.lmssetup.action.test.missingParameter=There is one or more missing connection parameter.
Please check the connection parameter for this LMS Setup
+sebserver.lmssetup.action.test.unknownError=An unexpected error happened while trying to connect to the LMS course API. {0}
+sebserver.lmssetup.action.save=Save LMS Setup
+sebserver.lmssetup.action.activate=Activate LMS Setup
+sebserver.lmssetup.action.deactivate=Deactivate LMS Setup
+sebserver.lmssetup.action.delete=Delete LMS Setup
+
+sebserver.lmssetup.info.pleaseSelect=At first please select a LMS Setup from the list
+
+sebserver.lmssetup.form.title=Learning Management System Setup
+sebserver.lmssetup.form.title.subtitle=
+sebserver.lmssetup.form.title.new=Add Learning Management System Setup
+sebserver.lmssetup.form.institution=Institution
+sebserver.lmssetup.form.institution.tooltip=The institution where the LMS setup belongs to
+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.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.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.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.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.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
+sebserver.lmssetup.form.proxy.port=Proxy Port
+sebserver.lmssetup.form.proxy.port.tooltip=The proxy server port to connect to
+sebserver.lmssetup.form.proxy.name=Proxy Name
+sebserver.lmssetup.form.proxy.name.tooltip=Proxy authentication name, needed if the proxy requests authentication
+sebserver.lmssetup.form.proxy.password=Proxy Password
+sebserver.lmssetup.form.proxy.password.tooltip=Proxy authentication password, needed if the proxy requests authentication
+sebserver.lmssetup.form.proxy.auth-credentials.tooltip=The proxy authentication credentials (name and password)
to authenticate the connection within the proxy server
+
+################################
+#LMS Exam
+################################
+
+sebserver.quizdiscovery.list.actions=
+
+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.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.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.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.endtime=End Time {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.
+
+sebserver.quizdiscovery.action.list=LMS Exam Lookup
+sebserver.quizdiscovery.action.import=Import as Exam
+sebserver.quizdiscovery.quiz.import.out.dated=The Selected LMS exam is already finished and can't be imported
+sebserver.quizdiscovery.action.details=Show LMS Exam Details
+sebserver.quizdiscovery.quiz.import.existing.confirm=This course was already imported and importing it twice may lead to
unexpected behavior within automated SEB restriction on LMS.
Do you want to import this course as exam anyway?
+
+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.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.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.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.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.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.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
+sebserver.quizdiscovery.quiz.details.additional.course_shortname.tooltip=The short name of the LMS exam
This is defined on the corresponding LMS
+sebserver.quizdiscovery.quiz.details.additional.course_fullname=Full Name
+sebserver.quizdiscovery.quiz.details.additional.course_fullname.tooltip=The full name of the LMS exam
This is defined on the corresponding LMS
+sebserver.quizdiscovery.quiz.details.additional.course_displayname=Display Name
+sebserver.quizdiscovery.quiz.details.additional.course_displayname.tooltip=The display name of the LMS exam
This is defined on the corresponding LMS
+sebserver.quizdiscovery.quiz.details.additional.course_summary=Summary
+sebserver.quizdiscovery.quiz.details.additional.course_summary.tooltip=The summary of the LMS exam
This is defined on the corresponding LMS
+sebserver.quizdiscovery.quiz.details.additional.timelimit=Time Limit
+sebserver.quizdiscovery.quiz.details.additional.timelimit.toolitp=The time limit of the LMS exam
This is defined on the corresponding LMS
+
+################################
+# Exam
+################################
+
+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.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.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.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.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.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.
+sebserver.exam.list.action.no.modify.privilege=No Access: An Exam from another institution cannot be modified.
+
+sebserver.exam.consistency.title=Note: This exam is already running but has some missing settings
+sebserver.exam.consistency.missing-supporter= - There are no Exam Supporter defined for this exam. Use 'Edit Exam' on the right to add an Exam Supporter.
+sebserver.exam.consistency.missing-indicator= - There is no indicator defined for this exam. Use 'Add Indicator" on the right to add an indicator.
+sebserver.exam.consistency.missing-config= - There is no configuration defined for this exam. Use 'Add Configuration' to attach one.
+sebserver.exam.consistency.missing-seb-restriction= - There is currently no SEB restriction applied on the LMS side. Use 'Enable SEB Restriction' on the right to activate auto-restriction.
Or if this is not possible consider doing it manually on the LMS.
+sebserver.exam.confirm.remove-config=This exam is current running. The remove of the attached configuration will led to an invalid state
where connecting SEB clients cannot download the configuration for the exam.
Are you sure to remove the configuration?
+
+sebserver.exam.action.list=Exam
+sebserver.exam.action.list.view=View Exam
+sebserver.exam.action.list.modify=Edit Exam
+sebserver.exam.action.modify=Edit Exam
+sebserver.exam.action.import=Import From Quizzes
+sebserver.exam.action.save=Save Exam
+sebserver.exam.action.activate=Activate Exam
+sebserver.exam.action.deactivate=Deactivate Exam
+sebserver.exam.action.sebrestriction.enable=Apply SEB Lock
+sebserver.exam.action.sebrestriction.disable=Release SEB Lock
+sebserver.exam.action.sebrestriction.details=SEB Restriction Details
+
+sebserver.exam.info.pleaseSelect=At first please select an Exam from the list
+
+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.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
+sebserver.exam.form.quizurl.tooltip=The direct URL link to the LMS exam
+sebserver.exam.form.name=Name
+sebserver.exam.form.name.tooltip=The name of the exam.
This name is defined on the corresponding LMS
+sebserver.exam.form.description=Description
+sebserver.exam.form.description.tooltip=The description of the exam.
This description is defined on the corresponding LMS
+sebserver.exam.form.starttime=Start Time
+sebserver.exam.form.starttime.tooltip=The start time of the exam.
This time is set on the corresponding LMS
+sebserver.exam.form.endtime=End Time
+sebserver.exam.form.endtime.tooltip=The end time of the exam.
This time is set on the corresponding LMS
+sebserver.exam.form.status=Status
+sebserver.exam.form.status.tooltip=The current status for the exam.
Either "Up Coming" for an exam that has not yet been started,
"Running" for an exam that is currently running
or "Finished" for an exam that has already been finished yet
+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.sebrestriction.title=SEB Restriction Details
+sebserver.exam.form.sebrestriction.title.subtitle=
+sebserver.exam.form.sebrestriction.info=Info
+sebserver.exam.form.sebrestriction.info-text=A detailed description of the SEB restriction can be found within this page:
https://seb-openedx.readthedocs.io/en/latest/usage.html
+sebserver.exam.form.sebrestriction.configKeys=Config Keys
+sebserver.exam.form.sebrestriction.configKeys.tooltip=A comma-separated list of SEB Config Keys that are automatically generated from the attached SEB exam configurations
and are checked by the LMS for the restricted SEB access for every request
+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.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.whiteListPaths.ABOUT=About
+sebserver.exam.form.sebrestriction.whiteListPaths.ABOUT.tooltip=The "About" section of the Open edX course
+sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_OUTLINE=Course Outline
+sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_OUTLINE.tooltip=The outline section of the Open edX course
+sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_WARE=Course Ware
+sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_WARE.tooltip=The actual course and course content
+sebserver.exam.form.sebrestriction.whiteListPaths.DISCUSSION=Discussion
+sebserver.exam.form.sebrestriction.whiteListPaths.DISCUSSION.tooltip=The discussion section of the Open edX course
+sebserver.exam.form.sebrestriction.whiteListPaths.PROGRESS=Progress
+sebserver.exam.form.sebrestriction.whiteListPaths.PROGRESS.tooltip=The progress overview of the Open edX course
+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.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_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_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.type.UNDEFINED=Not Defined
+sebserver.exam.type.UNDEFINED.tooltip=No exam type specified
+sebserver.exam.type.MANAGED=Managed Devices
+sebserver.exam.type.MANAGED.tooltip=Exam type specified for managed devices
+sebserver.exam.type.BYOD=Bring Your Own Device
+sebserver.exam.type.BYOD.tooltip=Exam type specified for bring your own devices
+sebserver.exam.type.VDI=VDI (Virtual Desktop Infrastructure)
+sebserver.exam.type.VDI.tooltip=Exam type specified for Virtual Desktop Infrastructure
+
+sebserver.exam.status.UP_COMING=Up Coming
+sebserver.exam.status.RUNNING=Running
+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.column.name=Name
+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.status=Status
+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
+
+sebserver.exam.configuration.action.list.new=Add Exam Configuration
+sebserver.exam.configuration.action.list.modify=Edit Configuration
+sebserver.exam.configuration.action.list.view=View Configuration
+sebserver.exam.configuration.action.list.delete=Delete Configuration
+sebserver.exam.configuration.action.save=Save Configuration
+sebserver.exam.configuration.action.export-config=Export Configuration
+sebserver.exam.configuration.action.get-config-key=Export Config Key
+
+sebserver.exam.configuration.form.title.new=Add exam configuration mapping
+sebserver.exam.configuration.form.title=Exam Configuration Mapping
+sebserver.exam.configuration.form.name=Exam Configuration
+sebserver.exam.configuration.form.name.tooltip=Please select an exam configuration to attach to the exam
+sebserver.exam.configuration.form.encryptSecret=Encryption Password
+sebserver.exam.configuration.form.encryptSecret.tooltip=Define an encryption password if the exam configuration should be encrypted by password
+sebserver.exam.configuration.form.description=Description
+sebserver.exam.configuration.form.description.tooltip=The description of the selected exam configuration
+sebserver.exam.configuration.form.status=Status
+sebserver.exam.configuration.form.status.tooltip=The current status of the selected exam configuration
+sebserver.exam.configuration.form.encryptSecret.confirm=Confirm Password
+sebserver.exam.configuration.form.encryptSecret.confirm.tooltip=Please confirm the encryption password if there is one
+
+sebserver.exam.indicator.list.actions=
+sebserver.exam.indicator.list.title=Indicators
+sebserver.exam.indicator.list.title.tooltip=A list of indicators that are shown on the exam monitoring view
+sebserver.exam.indicator.list.column.type=Type
+sebserver.exam.indicator.list.column.type.tooltip=The type of indicator
+sebserver.exam.indicator.list.column.name=Name
+sebserver.exam.indicator.list.column.name.tooltip=The name of the indicator
+sebserver.exam.indicator.list.column.thresholds=Thresholds
+sebserver.exam.indicator.list.column.thresholds.tooltip=The thresholds of the indicator
+sebserver.exam.indicator.list.empty=There is currently no indicator defined for this exam. Please create a new one
+sebserver.exam.indicator.list.pleaseSelect=At first please select an indicator from the list
+
+sebserver.exam.indicator.type.LAST_PING=Last Ping Time
+sebserver.exam.indicator.type.ERROR_COUNT=Errors
+sebserver.exam.indicator.type.WARN_COUNT=Warnings
+sebserver.exam.indicator.type.description.LAST_PING=This indicator shows the time in milliseconds since
the last ping has been received from a SEB Client.
This indicator can be used to track a SEB Client connection and indicate connection loss.
The value is in milliseconds.
+sebserver.exam.indicator.type.description.ERROR_COUNT=This indicator shows the number of error log messages that
has been received from a SEB Client.
This indicator can be used to track errors of connected SEB Clients
The value is natural numbers.
+sebserver.exam.indicator.type.description.WARN_COUNT=This indicator shows the number of warn log messages that
has been received from a SEB Client.
This indicator can be used to track warnings of connected SEB Clients
The value is natural numbers.
+
+
+sebserver.exam.indicator.info.pleaseSelect=At first please select an indicator from the list
+
+sebserver.exam.indicator.action.list.new=Add Indicator
+sebserver.exam.indicator.action.list.modify=Edit Selected Indicator
+sebserver.exam.indicator.action.list.delete=Delete Selected Indicator
+sebserver.exam.indicator.action.save=Save
+
+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.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.description=Type Description
+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.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
+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.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.add=Add a new threshold
+sebserver.exam.indicator.thresholds.list.remove=Delete this threshold
+
+################################
+# Client configuration
+################################
+
+sebserver.clientconfig.list.empty=There is currently no client configuration available. Please create a new one.
+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.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.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.active=Status
+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.
+
+sebserver.clientconfig.form.title.new=Add Client Configuration
+sebserver.clientconfig.form.title=Client Configuration
+sebserver.clientconfig.form.title.subtitle=
+sebserver.clientconfig.form.name=Name
+sebserver.clientconfig.form.name.tooltip=The name of the client configuration.
Any name that not already is in use for another client configuration
+sebserver.clientconfig.form.fallback=With Fallback
+sebserver.clientconfig.form.fallback.tooltip=Indicates whether this client configuration has a fallback definition or not
+sebserver.clientconfig.form.fallback-url=Fallback Start URL
+sebserver.clientconfig.form.fallback-url.tooltip=A fallback URL that tells SEB where to go when the SEB Server service is unavailable.
+sebserver.clientconfig.form.sebServerFallbackTimeout=Connection Timeout
+sebserver.clientconfig.form.sebServerFallbackTimeout.tooltip=Defines the fallback timeout for SEB in milliseconds.
+sebserver.clientconfig.form.sebServerFallbackAttempts=Connection Attempts
+sebserver.clientconfig.form.sebServerFallbackAttempts.tooltip=The number of connection attempts a SEB is trying before switching to fallback case.
+sebserver.clientconfig.form.sebServerFallbackAttemptInterval=Interval
+sebserver.clientconfig.form.sebServerFallbackAttemptInterval.tooltip=The interval (in milliseconds) between connection attempts a SEB shall use.
+sebserver.clientconfig.form.sebServerFallbackPasswordHash=Fallback Password
+sebserver.clientconfig.form.sebServerFallbackPasswordHash.tooltip=A password if set a SEB Client user must provide before SEB starts the fallback procedure.
+sebserver.clientconfig.form.sebServerFallbackPasswordHash.confirm=Confirm Password
+sebserver.clientconfig.form.sebServerFallbackPasswordHash.tooltip.confirm=Please confirm the fallback password
+sebserver.clientconfig.form.hashedQuitPassword=Quit Password
+sebserver.clientconfig.form.hashedQuitPassword.tooltip=A password if set a SEB user must provide to be able to quit SEB.
+sebserver.clientconfig.form.hashedQuitPassword.confirm=Confirm Password
+sebserver.clientconfig.form.hashedQuitPassword.tooltip.confirm=Please confirm the quit password
+
+sebserver.clientconfig.form.date=Creation Date
+sebserver.clientconfig.form.date.tooltip=The date when the client configuration was first created.
+sebserver.clientconfig.form.encryptSecret=Configuration Password
+sebserver.clientconfig.form.encryptSecret.tooltip=Define a password if the client configuration shall be password-encrypted
+sebserver.clientconfig.form.encryptSecret.confirm=Confirm Password
+sebserver.clientconfig.form.encryptSecret.confirm.tooltip=Please retype the given password for confirmation
+sebserver.clientconfig.form.sebConfigPurpose=Configuration Purpose
+sebserver.clientconfig.form.sebConfigPurpose.tooltip=This indicates whether this client configuration shall be used to configure the SEB Client or to start an exam
+
+sebserver.clientconfig.config.purpose.START_EXAM=Starting an Exam
+sebserver.clientconfig.config.purpose.START_EXAM.tooltip=If the client configuration is loaded via a SEB-Link, the local configuration will not be overwritten.
+sebserver.clientconfig.config.purpose.CONFIGURE_CLIENT=Configure a Client
+sebserver.clientconfig.config.purpose.CONFIGURE_CLIENT.tooltip=If the client configuration is loaded via a SEB-Link, the local configuration will be overwritten by this configuration.
+
+sebserver.clientconfig.action.list.new=Add Client Configuration
+sebserver.clientconfig.action.list.view=View Client Configuration
+sebserver.clientconfig.action.list.modify=Edit Client Configuration
+sebserver.clientconfig.action.modify=Edit Client Configuration
+sebserver.clientconfig.action.save=Save Client Configuration
+sebserver.clientconfig.action.activate=Activate Client Configuration
+sebserver.clientconfig.action.deactivate=Deactivate Client Configuration
+sebserver.clientconfig.action.export=Export Client Configuration
+
+################################
+# SEB Exam Configuration
+################################
+
+sebserver.examconfig.action.list=Exam Configuration
+sebserver.examconfig.list.title=Exam Configurations
+sebserver.examconfig.list.title.subtitle=
+sebserver.examconfig.list.column.institution=Institution
+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.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.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.actions=
+
+sebserver.examconfig.list.empty=There is currently no Exam configuration available. Please create a new one
+sebserver.examconfig.info.pleaseSelect=At first please select an Exam Configuration from the list
+sebserver.examconfig.list.action.no.modify.privilege=No Access: An Exam Configuration from other institution cannot be modified.
+
+sebserver.examconfig.action.list.new=Add Exam Configuration
+sebserver.examconfig.action.list.view=View Exam Configuration
+
+sebserver.examconfig.action.list.modify.properties=Edit Exam Configuration
+sebserver.examconfig.action.modify=Edit SEB Settings
+sebserver.examconfig.action.view=View SEB Settings
+sebserver.examconfig.action.modify.properties=Edit Exam Configuration
+sebserver.examconfig.action.view.properties=View Exam Configuration
+sebserver.examconfig.action.save=Save Exam Configuration
+sebserver.examconfig.action.saveToHistory=Save / Publish Settings
+sebserver.examconfig.action.saveToHistory.success=Exam configuration settings successfully saved in history.
+sebserver.examconfig.action.saveToHistory.integrity-violation=There is currently at least one running Exam with active SEB client connections that uses this configuration.
Modifying a configuration that is currently in use would lead to inconsistency and is therefore not allowed.
Please make sure that the configuration is not in use before applying changes.
+sebserver.examconfig.action.undo=Undo
+sebserver.examconfig.action.undo.success=Successfully reverted exam configuration settings to last saved state
+sebserver.examconfig.action.copy=Copy Exam Configuration
+sebserver.examconfig.action.copy.dialog=Exam Configuration
+sebserver.examconfig.action.copy-as-template=Save As Template
+sebserver.examconfig.action.copy-as-template.dialog=Configuration Template
+sebserver.examconfig.action.export.plainxml=Export Exam Configuration
+sebserver.examconfig.action.get-config-key=Export Config Key
+sebserver.examconfig.action.import-config=Import Exam Configuration
+sebserver.examconfig.action.import-file-select=Import From File
+sebserver.examconfig.action.import-file-password=Password
+sebserver.examconfig.action.import-config.confirm=Exam Configuration successfully imported
+sebserver.examconfig.action.import.missing-password=Missing Password: The chosen exam configuration is password-protected.
Please choose it again and provide the correct password within the password field.
+sebserver.examconfig.action.state-change.confirm=This configuration is already attached to an exam.
Please note that changing an attached configuration will take effect on the exam when the configuration changes are saved
Are you sure to change this configuration to an editable state?
+
+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.description=Description
+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.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.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.
+
+sebserver.examconfig.status.CONSTRUCTION=Under Construction
+sebserver.examconfig.status.READY_TO_USE=Ready To Use
+sebserver.examconfig.status.IN_USE=In Use
+
+sebserver.examconfig.props.from.title=Exam Configuration Settings ({0})
+sebserver.examconfig.props.from.title.subtitle=
+sebserver.examconfig.props.form.views.general=General
+sebserver.examconfig.props.form.views.user_interface=User Interface
+sebserver.examconfig.props.form.views.browser=Browser
+sebserver.examconfig.props.form.views.down_upload=Down/Uploads
+sebserver.examconfig.props.form.views.exam=Exam
+sebserver.examconfig.props.form.views.applications=Applications
+sebserver.examconfig.props.form.views.resources=Additional Resources
+sebserver.examconfig.props.form.views.network=Network
+sebserver.examconfig.props.form.views.security=Security
+sebserver.examconfig.props.form.views.registry=Registry
+sebserver.examconfig.props.form.views.hooked_keys=Hooked Keys
+
+
+sebserver.examconfig.props.label.hashedAdminPassword=Administrator password
+sebserver.examconfig.props.label.hashedAdminPassword.confirm=Confirm password
+sebserver.examconfig.props.label.allowQuit=Allow user to quit SEB
+sebserver.examconfig.props.label.allowQuit.tooltip=Users can quit SEB with Control-Q, window close or quit button.
Otherwise use a quit link in your exam system or shutdown/restart the computer.
+sebserver.examconfig.props.label.ignoreExitKeys=Ignore exit keys
+sebserver.examconfig.props.label.ignoreExitKeys.tooltip=SEB ignores the exit keys and can only be quit manually by entering the quit password.
(click Quit button in SEB taskbar, press Ctrl-Q or click the main browser window close button)
+sebserver.examconfig.props.label.hashedQuitPassword=Quit/unlock password
+sebserver.examconfig.props.label.hashedQuitPassword.confirm=Confirm password
+sebserver.examconfig.props.group.exitSequence=Exit Sequence
+
+sebserver.examconfig.props.label.exitKey.0=F1
+sebserver.examconfig.props.label.exitKey.1=F2
+sebserver.examconfig.props.label.exitKey.2=F3
+sebserver.examconfig.props.label.exitKey.3=F4
+sebserver.examconfig.props.label.exitKey.4=F5
+sebserver.examconfig.props.label.exitKey.5=F6
+sebserver.examconfig.props.label.exitKey.6=F7
+sebserver.examconfig.props.label.exitKey.7=F8
+sebserver.examconfig.props.label.exitKey.8=F9
+sebserver.examconfig.props.label.exitKey.9=F10
+sebserver.examconfig.props.label.exitKey.10=F11
+sebserver.examconfig.props.label.exitKey.11=F12
+
+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.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
+sebserver.examconfig.props.label.enableTouchExit.tooltip=SEB can be quit by a swipe down from the upper display edge
+
+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.mainBrowserWindowHeight=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
+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.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.group.taskbar=SEB Taskbar/Dock
+sebserver.examconfig.props.label.showTaskBar=Show SEB taskbar
+sebserver.examconfig.props.label.showTaskBar.tooltip=The SEB task bar shows and switches between open browser windows,
allowed resources and applications and displays additional controls
+sebserver.examconfig.props.label.taskBarHeight=Taskbar/dock height
+sebserver.examconfig.props.label.taskBarHeight.tooltip=Height of SEB dock/task bar in points/pixels
+sebserver.examconfig.props.label.allowWlan=Show Wi-Fi control (Win)
+sebserver.examconfig.props.label.allowWlan.tooltip=Allows to reconnect to WiFi networks which have previously been connected to
+sebserver.examconfig.props.label.showReloadButton=Show reload button
+sebserver.examconfig.props.label.showReloadButton.tooltip=Reloads current web page. Shows warning if enabled in Browser settings tab
+sebserver.examconfig.props.label.showTime=Show time
+sebserver.examconfig.props.label.showTime.tooltip=Show current time
+sebserver.examconfig.props.label.showInputLanguage=Show keyboard layout
+sebserver.examconfig.props.label.showInputLanguage.tooltip=Shows current keyboard layout and allows to switch between other active keyboard layouts
+
+sebserver.examconfig.props.group.zoom=Enable Zoom (Win/Mac)
+sebserver.examconfig.props.label.enableZoomPage=Enable page zoom
+sebserver.examconfig.props.label.enableZoomPage.tooltip=Pages can be zoomed with ctrl - cmd +/-
or the commands in the view menu and browser window toolbar (Mac)
+sebserver.examconfig.props.label.enableZoomText=Enable text zoom
+sebserver.examconfig.props.label.enableZoomText.tooltip=Text in browser windows can be zoomed with cmd +/-
or the commands in the view menu and browser window toolbar (Mac)
+sebserver.examconfig.props.group.zoomMode=Zoom Mode Win (Ctrl-Mousewheel)
+sebserver.examconfig.props.label.zoomMode.0=Use page zoom
+sebserver.examconfig.props.label.zoomMode.0.tooltip=Zoom whole web pages using Ctrl-Mousewheel (Win)"
+sebserver.examconfig.props.label.zoomMode.1=Use text zoom
+sebserver.examconfig.props.label.zoomMode.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win)
+
+sebserver.examconfig.props.group.audio=Audio Control
+sebserver.examconfig.props.label.audioControlEnabled=Enable audio controls
+sebserver.examconfig.props.label.audioControlEnabled.tooltip=Displays an audio control in the SEB taskbar
+sebserver.examconfig.props.label.audioMute=Mute audio on startup
+sebserver.examconfig.props.label.audioMute.tooltip=The audio is muted when the SEB/exam starts
+sebserver.examconfig.props.label.audioSetVolumeLevel=Set initial volume level
+sebserver.examconfig.props.label.audioSetVolumeLevel.tooltip=The volume level after starting SEB/exam
+
+sebserver.examconfig.props.group.spellcheck=Spell Checker
+sebserver.examconfig.props.label.allowSpellCheck=Allow spell checking
+sebserver.examconfig.props.label.allowSpellCheck.tooltip=Allow to use "Check spelling" in the SEB browser
+sebserver.examconfig.props.label.allowDictionaryLookup=Allow dictionary lookup (Mac)
+sebserver.examconfig.props.label.allowDictionaryLookup.tooltip=Allow to use the OS X dictionary lookup using a 3 finger tap
+sebserver.examconfig.props.label.allowSpellCheckDictionary=The list below shows all dictionaries currently available for spell checking.
SEB comes with a list of standard dictionaries that can be activated/deactivated here.
+sebserver.examconfig.props.label.allowSpellCheckDictionary.da-DK=Danish (Denmark) (da-DK)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.en-AU=English (Australia) (en-AU)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.en-GB=English (United Kingdom) (en-GB)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.en-US=English (United States) (en-US)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.es-ES=Spanish (Spain) (es-ES)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.fr-FR=French (France) (fr-FR)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.pt-PT=Portuguese (Portugal) (pt-PT)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.sv-SE=Swedish (Sweden)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.sv-FI=Swedish (Finland)
+
+sebserver.examconfig.props.group.newBrowserWindow=Links requesting to be opened in a new browser window (Mac)
+sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.0=get generally blocked
+sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.1=open in same window
+sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.2=open in new window
+sebserver.examconfig.props.label.newBrowserWindowByLinkBlockForeign=Block when directing
to a different server
+sebserver.examconfig.props.label.newBrowserWindowByLinkBlockForeign.tooltip=USE WITH CARE: Hyperlinks invoked by JavaScript/plug-ins
which direct to a different host than the one of the current main page will be ignored.
+
+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.newBrowserWindowByLinkHeight=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
+sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.2=Right
+
+sebserver.examconfig.props.group.browserSecurity=Browser security
+sebserver.examconfig.props.label.enablePlugIns=Enable plug-ins (Win: only Flash)
+sebserver.examconfig.props.label.enablePlugIns.tooltip=Enables web plugins (Mac) or just Flash (Win).
For security reasons it\'s recommended to disable this option if you don\'t use any plugin/Flash content.
+sebserver.examconfig.props.label.enableJavaScript=Enable JavaScript
+sebserver.examconfig.props.label.enableJavaScript.tooltip=Enables JavaScript.
Please note that most modern websites need JavaScript for full functionality.
+sebserver.examconfig.props.label.enableJava=Enable Java
+sebserver.examconfig.props.label.enableJava.tooltip=Enables Java applets.
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.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)
+sebserver.examconfig.props.label.allowAudioCapture.tooltip=Allow web applications to access microphone
+sebserver.examconfig.props.label.allowBrowsingBackForward=Allow navigating back/forward in exam
+sebserver.examconfig.props.label.allowBrowsingBackForward.tooltip=Disabling browsing to previously visited pages may increase security,
because browsing back might allow to leave an exam
+sebserver.examconfig.props.label.newBrowserWindowNavigation=Allow navigating in additional windows
+sebserver.examconfig.props.label.browserWindowAllowReload=Allow reload exam
+sebserver.examconfig.props.label.browserWindowAllowReload.tooltip=Allow reload in the exam window with F5 reload button (if displayed)
+sebserver.examconfig.props.label.newBrowserWindowAllowReload=Allow reload in additional windows
+sebserver.examconfig.props.label.newBrowserWindowAllowReload.tooltip=Allow reload in additional window with F5 reload button (if displayed)
+sebserver.examconfig.props.label.showReloadWarning=Show reload warning in exam
+sebserver.examconfig.props.label.showReloadWarning.tooltip=User has to confirm reloading a web page with F5 or reload button
+sebserver.examconfig.props.label.newBrowserWindowShowReloadWarning=Show reload warning in additional windows
+sebserver.examconfig.props.label.newBrowserWindowShowReloadWarning.tooltip=User has to confirm reloading a web page with F5 or reload button
+sebserver.examconfig.props.label.removeBrowserProfile=Remove profile (Win)
+sebserver.examconfig.props.label.removeBrowserProfile.tooltip=Remove XULRunner browser profile (containing caches and also local storage) when quitting SEB
+sebserver.examconfig.props.label.removeLocalStorage=Disable local storage (Mac)
+sebserver.examconfig.props.label.removeLocalStorage.tooltip=If your web application uses local storage, you have to be sure data is saved encrypted
and removed when no longer needed as SEB doesn't remove local storage
+
+sebserver.examconfig.props.label.browserUserAgent=Suffix to be added to any user agent
+sebserver.examconfig.props.group.userAgentDesktop=User agent for desktop mode
+sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.0=Desktop default
+sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.0.tooltip=Zoom whole web pages using Ctrl-Mousewheel (Win)
+sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.1=Custom
+sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win)
+sebserver.examconfig.props.label.browserUserAgentWinDesktopModeCustom.tooltip=Custom desktop user agent string
(SEB appends its version number automatically)
+
+sebserver.examconfig.props.group.userAgentTouch=User agent for touch/tablet mode
+sebserver.examconfig.props.label.browserUserAgentWinTouchMode.0=Touch default
+sebserver.examconfig.props.label.browserUserAgentWinTouchMode.1=iPad
+sebserver.examconfig.props.label.browserUserAgentWinTouchMode.2=Custom
+sebserver.examconfig.props.label.browserUserAgentWinTouchMode.2.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win)
+
+sebserver.examconfig.props.group.userAgentMac=User agent (Mac)
+sebserver.examconfig.props.label.browserUserAgentMac.0=Default (depends on installed Safari/WebKit version)
+sebserver.examconfig.props.label.browserUserAgentMac.1=Custom
+sebserver.examconfig.props.label.browserUserAgentMac.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win)
+
+sebserver.examconfig.props.label.enableSebBrowser=Enable SEB with browser window
+sebserver.examconfig.props.label.enableSebBrowser.tooltip=Disable this to start another application in kiosk mode
(for example a virtual desktop infrastructure client)
+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.downloadDirectoryWin=Download directory (Win)
+sebserver.examconfig.props.label.downloadDirectoryOSX=Download directory (Mac)
+sebserver.examconfig.props.label.openDownloads=Open files after downloading (Mac)
+sebserver.examconfig.props.label.chooseFileToUploadPolicy=Choose file to upload (Mac)
+sebserver.examconfig.props.label.chooseFileToUploadPolicy.tooltip=SEB can let users choose the file to upload or automatically use the same file which was down-loaded before.
If not found, a file requester or an error is presented depending on this setting.
+sebserver.examconfig.props.label.chooseFileToUploadPolicy.0=manually with file requester
+sebserver.examconfig.props.label.chooseFileToUploadPolicy.1=by attempting to upload the same file downloaded before
+sebserver.examconfig.props.label.chooseFileToUploadPolicy.2=by only allowing to upload the same file downloaded before
+sebserver.examconfig.props.label.downloadPDFFiles=Download and open PDF files instead of displaying them inline (Mac)
+sebserver.examconfig.props.label.downloadPDFFiles.tooltip=PDF files will not be displayed by SEB but downloaded and openend (if "Open files after downloading" is active!)
by the application set in Finder (usually Preview or Adobe Acrobat).
+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.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.
+sebserver.examconfig.props.label.examSessionClearCookiesOnStart=Clear browser session when starting an exam or staring SEB
+sebserver.examconfig.props.label.examSessionClearCookiesOnEnd=Clear browser session when ending an exam or terminating SEB
(prevents deletion of browser cache if deactivated!)
+
+sebserver.examconfig.props.group.quitLink=Link to quit SEB after exam
+sebserver.examconfig.props.label.quitURL=Place this quit link to the 'feedback' page displayed after an exam was successfully finished.
Clicking that link will quit SEB without having to enter the quit password.
+sebserver.examconfig.props.label.quitURLConfirm=Ask user to confirm quitting
+
+sebserver.examconfig.props.group.backToStart=Back to Start Button
+sebserver.examconfig.props.group.backToStart.tooltip=The back to start button reloads the exam's Start URL
+sebserver.examconfig.props.label.restartExamUseStartURL=Use Start URL
+sebserver.examconfig.props.label.restartExamUseStartURL.tooltip=The back to start button reloads the exam's Start URL
+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.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.
+sebserver.examconfig.props.label.allowFlashFullscreen=Allow Flash to switch to fullscreen mode (Mac)
+sebserver.examconfig.props.label.permittedProcesses.add.tooltip=Add permitted process
+sebserver.examconfig.props.label.permittedProcesses.remove.tooltip=Remove selected permitted process
+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.os=OS
+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
+sebserver.examconfig.props.label.permittedProcesses.title.tooltip=Application title which is displayed in the application chooser.
Background processes don't have a title, because they can't be selected by users.
+sebserver.examconfig.props.label.permittedProcesses.description=Description
+sebserver.examconfig.props.label.permittedProcesses.description.tooltip=Optional, should explain what kind of process this is,
because this might not be obvious only from the executable's name.
+sebserver.examconfig.props.label.permittedProcesses.executable=Executable
+sebserver.examconfig.props.label.permittedProcesses.executable.tooltip=File name of the executable, which should not contain any parts of a file system path,
only the filename of the exe file (like calc.exe).
+sebserver.examconfig.props.label.permittedProcesses.originalName=Original Name
+sebserver.examconfig.props.label.permittedProcesses.allowedExecutables=Window handling process
+sebserver.examconfig.props.label.permittedProcesses.path=Path
+sebserver.examconfig.props.label.permittedProcesses.arguments=Arguments
+sebserver.examconfig.props.label.permittedProcesses.arguments.active=Active
+sebserver.examconfig.props.label.permittedProcesses.arguments.argument=Argument
+sebserver.examconfig.props.label.permittedProcesses.arguments.addAction=Add new argument
+sebserver.examconfig.props.label.permittedProcesses.arguments.removeAction=Remove this argument
+sebserver.examconfig.props.label.permittedProcesses.identifier=Identifier
+sebserver.examconfig.props.label.permittedProcesses.identifier.tooltip=(Sub) string in the title of the main window of a tricky third party application (Java, Acrobat etc.).
Mac OS X: Bundle identifier of the process in reverse domain notation.
+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.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
+sebserver.examconfig.props.label.permittedProcesses.strongKill=Force quit (risk of data loss)
+sebserver.examconfig.props.label.permittedProcesses.strongKill.tooltip=Terminate process in a not-nice way, which may cause data loss if the application had unsaved data
+
+sebserver.examconfig.props.label.prohibitedProcesses.add.tooltip=Add prohibited process
+sebserver.examconfig.props.label.prohibitedProcesses.remove.tooltip=Remove selected prohibited process
+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.os=OS
+sebserver.examconfig.props.label.prohibitedProcesses.os.0=macOS
+sebserver.examconfig.props.label.prohibitedProcesses.os.1=Win
+sebserver.examconfig.props.label.prohibitedProcesses.description=Description
+sebserver.examconfig.props.label.prohibitedProcesses.description.tooltip=Optional, to explain what kind of process this is,
because this might not be obvious only from the executable's name.
+sebserver.examconfig.props.label.prohibitedProcesses.executable=Executable
+sebserver.examconfig.props.label.prohibitedProcesses.executable.tooltip=File name of the executable, which should not contain any parts of a file system path,
only the filename of the exe file (like calc.exe).
+sebserver.examconfig.props.label.prohibitedProcesses.originalName=Original Name
+sebserver.examconfig.props.label.prohibitedProcesses.originalName.tooltip=Original file name (optional)
+sebserver.examconfig.props.label.prohibitedProcesses.identifier=Identifier
+sebserver.examconfig.props.label.prohibitedProcesses.identifier.tooltip=Title of the main window of a Java third party application.
Mac OS X: Bundle identifier of the process in reverse domain notation.
+sebserver.examconfig.props.label.prohibitedProcesses.strongKill=Force quit (risk of data loss)
+sebserver.examconfig.props.label.prohibitedProcesses.strongKill.tooltip=Terminate process in a not-nice way,
which may cause data loss if the application had unsaved data
+
+sebserver.examconfig.props.group.urlFilter=Filter
+sebserver.examconfig.props.label.URLFilterEnable=Activate URL Filtering
+sebserver.examconfig.props.label.URLFilterEnableContentFilter=Filter also embedded content
+sebserver.examconfig.props.label.URLFilterRules=Filter
+sebserver.examconfig.props.label.URLFilterRules.row.title=URL Filter
+sebserver.examconfig.props.label.URLFilterRules.active=Active
+sebserver.examconfig.props.label.URLFilterRules.regex=Regex
+sebserver.examconfig.props.label.URLFilterRules.expression=Expression
+sebserver.examconfig.props.label.URLFilterRules.action=Action
+sebserver.examconfig.props.label.URLFilterRules.action.0=Block
+sebserver.examconfig.props.label.URLFilterRules.action.1=Allow
+sebserver.examconfig.props.label.URLFilterRules.add.tooltip=Add new URL Filter
+sebserver.examconfig.props.label.URLFilterRules.remove.tooltip=Remove selected URL Filter
+
+sebserver.examconfig.props.group.proxies=Proxies
+sebserver.examconfig.props.label.proxySettingsPolicy=proxy settings policy
+sebserver.examconfig.props.label.proxySettingsPolicy.0=Use system proxy setting
+sebserver.examconfig.props.label.proxySettingsPolicy.0.tooltip=System proxy settings of the exam client computer are used
+sebserver.examconfig.props.label.proxySettingsPolicy.1=Use SEB proxy settings
+sebserver.examconfig.props.label.proxySettingsPolicy.1.tooltip=Proxy settings provided in these SEB settings are used
+sebserver.examconfig.props.label.proxies=Double-click a protocol to configure:
+sebserver.examconfig.props.label.ExcludeSimpleHostnames=Exclude simple hostnames
+sebserver.examconfig.props.label.ExceptionsList=Bypass proxy settings for these hosts and domains
+sebserver.examconfig.props.label.ExceptionsList.tooltip=Separate hosts / domains with comma
+sebserver.examconfig.props.label.FTPPassive=Use Passive FTP Mode (PASV)
+
+sebserver.examconfig.props.label.proxies.active=Active
+sebserver.examconfig.props.label.proxies.TABLE_ENTRY=Protocol
+sebserver.examconfig.props.label.autoDiscovery=Auto Proxy Discovery
+sebserver.examconfig.props.label.AutoDiscoveryEnabled=Auto discovery enabled
+sebserver.examconfig.props.label.autoConfiguration=Automatic Proxy Configuration
+sebserver.examconfig.props.label.AutoConfigurationEnabled=Auto configuration enabled
+sebserver.examconfig.props.label.AutoConfigurationURL=Proxy configuration file URL
+sebserver.examconfig.props.label.AutoConfigurationJavaScript=Proxy configuration JavaScript
+
+sebserver.examconfig.props.label.http=Web Proxy (HTTP)
+sebserver.examconfig.props.label.HTTPEnable=Web proxy enabled
+sebserver.examconfig.props.label.HTTPProxy=Web proxy server
+sebserver.examconfig.props.label.HTTPPort=Web proxy port
+sebserver.examconfig.props.label.HTTPRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.HTTPUsername=Username
+sebserver.examconfig.props.label.HTTPPassword=Password
+
+sebserver.examconfig.props.label.https=Secure Web Proxy (HTTPS)
+sebserver.examconfig.props.label.HTTPSEnable=Secure web proxy enabled
+sebserver.examconfig.props.label.HTTPSProxy=Secure web proxy server
+sebserver.examconfig.props.label.HTTPSPort=Secure web proxy port
+sebserver.examconfig.props.label.HTTPSRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.HTTPSUsername=Username
+sebserver.examconfig.props.label.HTTPSPassword=Password
+
+sebserver.examconfig.props.label.ftp=FTP Proxy
+sebserver.examconfig.props.label.FTPEnable=FTP proxy enabled
+sebserver.examconfig.props.label.FTPProxy=FTP proxy server
+sebserver.examconfig.props.label.FTPPort=FTP proxy port
+sebserver.examconfig.props.label.FTPRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.FTPUsername=Username
+sebserver.examconfig.props.label.FTPPassword=Password
+
+sebserver.examconfig.props.label.socks=SOCKS Proxy
+sebserver.examconfig.props.label.SOCKSEnable=SOCKS proxy enabled
+sebserver.examconfig.props.label.SOCKSProxy=SOCKS proxy server
+sebserver.examconfig.props.label.SOCKSPort=SOCKS proxy port
+sebserver.examconfig.props.label.SOCKSRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.SOCKSUsername=Username
+sebserver.examconfig.props.label.SOCKSPassword=Password
+
+sebserver.examconfig.props.label.rtsp=Streaming Proxy (RTSP)
+sebserver.examconfig.props.label.RTSPEnable=RTSP proxy enabled
+sebserver.examconfig.props.label.RTSPProxy=RTSP proxy server
+sebserver.examconfig.props.label.RTSPPort=RTSP proxy port
+sebserver.examconfig.props.label.RTSPRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.RTSPUsername=Username
+sebserver.examconfig.props.label.RTSPPassword=Password
+
+
+sebserver.examconfig.props.group.servicePolicy=SEB Service policy
+sebserver.examconfig.props.label.sebServicePolicy.0=allow to run SEB without service
+sebserver.examconfig.props.label.sebServicePolicy.1=display warning when service is not running
+sebserver.examconfig.props.label.sebServicePolicy.2=allow to use SEB only with service
+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.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
+sebserver.examconfig.props.label.kioskMode.1.tooltip=This kiosk mode is compatible with some screen recording/proctoring software and the Windows onscreen keyboard.
+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.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)
+sebserver.examconfig.props.label.enablePrivateClipboard.tooltip=Private clipboard should always be used beside when working with third party application in managed/virtual machine
+
+sebserver.examconfig.props.group.logging=Logging
+sebserver.examconfig.props.label.enableLogging=Enable logging
+sebserver.examconfig.props.label.enableLogging.tooltip=The log can help debugging SEB (send it to the developers) and to find out about possible manipulations
+sebserver.examconfig.props.label.logDirectoryWin=Log file directory on Windows
+sebserver.examconfig.props.label.logDirectoryOSX=Log file directory on Mac
+
+sebserver.examconfig.props.group.macSettings=macOS specific settings
+sebserver.examconfig.props.label.minMacOSVersion=Enforce minimal macOS version:
+sebserver.examconfig.props.label.minMacOSVersion.0=OS X 10.7 Lion
+sebserver.examconfig.props.label.minMacOSVersion.1=OS X 10.8 Mountain Lion
+sebserver.examconfig.props.label.minMacOSVersion.2=OS X 10.9 Mavericks
+sebserver.examconfig.props.label.minMacOSVersion.3=OS X 10.10 Yosemite
+sebserver.examconfig.props.label.minMacOSVersion.4=OS X 10.11 El Capitan
+sebserver.examconfig.props.label.minMacOSVersion.5=OS X 10.12 Sierra
+sebserver.examconfig.props.label.minMacOSVersion.6=OS X 10.13 Hight Sierra
+sebserver.examconfig.props.label.minMacOSVersion.7=OS X 10.14 Mojave
+sebserver.examconfig.props.label.enableAppSwitcherCheck=Disable app switcher when starting
+sebserver.examconfig.props.label.enableAppSwitcherCheck.tooltip=SEB checks for the command key being held down while SEB is starting up. This prevents using the application switcher to mess with SEB\'s kiosk mode
+sebserver.examconfig.props.label.forceAppFolderInstall=Force installation in Applications folder
+sebserver.examconfig.props.label.forceAppFolderInstall.tooltip=SEB enforces to be installed in an Applications folder (/Applications or ~/Applications)
+sebserver.examconfig.props.label.allowUserAppFolderInstall=Allow also user's ~/Applications folder
+sebserver.examconfig.props.label.allowUserAppFolderInstall.tooltip=SEB can also be installed in the Applications folder of the current user (~/Applications)
+sebserver.examconfig.props.label.allowSiri=Allow to use Siri
+sebserver.examconfig.props.label.allowSiri.tooltip=If enabled, Siri can be used by tapping the menu bar icon, Touch Bar icon or shortcut set in System Preferences/Siri (default: hold command space). The Siri window won't be displayed though
+sebserver.examconfig.props.label.detectStoppedProcess=Detect when SEB process was stopped
+sebserver.examconfig.props.label.detectStoppedProcess.tooltip=SEB displays a lock screen (requiring to enter the quit/unlock password) if it detects its process was stopped, which can indicate manipulation
+sebserver.examconfig.props.label.allowDisplayMirroring=Allow display mirroring (affects also AirPlay Display)
+sebserver.examconfig.props.label.allowDisplayMirroring.tooltip=If not selected, SEB prevents to mirror the main display to another
+sebserver.examconfig.props.label.allowedDisplaysMaxNumber=Maximum allowed number of connected displays
+sebserver.examconfig.props.label.allowedDisplaysMaxNumber.tooltip=If more displays are connected, this are blanked with an orange full screen window
+sebserver.examconfig.props.label.allowedDisplayBuiltin=Use built-in display
+sebserver.examconfig.props.label.allowedDisplayBuiltin.tooltip=Use the built-in display (if available) when only one display is allowed or when switching off display mirroring
+sebserver.examconfig.props.label.logLevel=Log Level
+sebserver.examconfig.props.label.logLevel.tooltip=The log will contain the selected log level plus all levels with a lower value
+sebserver.examconfig.props.label.logLevel.0=Error
+sebserver.examconfig.props.label.logLevel.0.tooltip=Error includes fatal application and browser level errors
+sebserver.examconfig.props.label.logLevel.1=Warning
+sebserver.examconfig.props.label.logLevel.1.tooltip=Warning are non-fatal but non-expected or security affecting events
+sebserver.examconfig.props.label.logLevel.2=Info
+sebserver.examconfig.props.label.logLevel.2.tooltip=Info includes most user actions including all browser navigation actions
+sebserver.examconfig.props.label.logLevel.3=Debug
+sebserver.examconfig.props.label.logLevel.3.tooltip=Debug is reserved for information which is only necessary for in-deep program code debugging
+sebserver.examconfig.props.label.logLevel.4=Verbose
+sebserver.examconfig.props.label.logLevel.4.tooltip=Verbose level contains events of all levels
+
+sebserver.examconfig.props.group.registry=While running SEB
+sebserver.examconfig.props.group.registry.tooltip=Options in the Windows Security Screen invoked by Ctrl-Alt-Del
+sebserver.examconfig.props.label.insideSebEnableSwitchUser=Enable Switch User
+sebserver.examconfig.props.label.insideSebEnableSwitchUser.tooltip=Activates the button "Switch User"
+sebserver.examconfig.props.label.insideSebEnableLockThisComputer=Enable Lock this computer
+sebserver.examconfig.props.label.insideSebEnableLockThisComputer.tooltip=Activates the button "Lock this computer"
+sebserver.examconfig.props.label.insideSebEnableChangeAPassword=Enable Change a password
+sebserver.examconfig.props.label.insideSebEnableChangeAPassword.tooltip=Activates the button "Change a password..."
+sebserver.examconfig.props.label.insideSebEnableStartTaskManager=Enable Start Task Manager
+sebserver.examconfig.props.label.insideSebEnableStartTaskManager.tooltip=Activates the button "Start Task Manager"
+sebserver.examconfig.props.label.insideSebEnableLogOff=Enable Log off
+sebserver.examconfig.props.label.insideSebEnableLogOff.tooltip=Activates the button "Log off"
+sebserver.examconfig.props.label.insideSebEnableShutDown=Enable Shut down
+sebserver.examconfig.props.label.insideSebEnableShutDown.tooltip=Activates the button "Shutdown"
+sebserver.examconfig.props.label.insideSebEnableEaseOfAccess=Enable Ease of Access
+sebserver.examconfig.props.label.insideSebEnableEaseOfAccess.tooltip=Shows options when the button "Ease of Access" in the lower left corner is clicked,
which offers help e.g. to visually or aurally handicapped persons, like the Magnifier Glass.
+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.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.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.enableCtrlEsc=Enable Ctrl-Esc
+sebserver.examconfig.props.label.enableAltEsc=Enable Alt-Esc
+sebserver.examconfig.props.label.enableAltTab=Enable Alt-Tap
+sebserver.examconfig.props.label.enableAltF4=Enable Alt-F4
+sebserver.examconfig.props.label.enableStartMenu=Enable Start Menu
+sebserver.examconfig.props.label.enableRightMouse=Enable Right Mouse
+sebserver.examconfig.props.label.enableAltMouseWheel=Enable Alt-Mousewheel
+sebserver.examconfig.props.label.enableAltMouseWheel.tooltip=Corresponds to 'Allow browsing back/forward' in Browser pane. Disabling browsing to previously visited pages may increase security, because browsing back might allow to leave an exam
+
+sebserver.examconfig.props.group.functionKeys=Function Keys
+sebserver.examconfig.props.group.functionKeys.tooltip=Enable or block function keys. This doesn't have any effect on the SEB exit sequence. Depending on specific keyboards some function keys cannot be blocked.
+sebserver.examconfig.props.label.enableF1=Enable F1
+sebserver.examconfig.props.label.enableF2=Enable F2
+sebserver.examconfig.props.label.enableF3=Enable F3
+sebserver.examconfig.props.label.enableF4=Enable F4
+sebserver.examconfig.props.label.enableF5=Enable F5
+sebserver.examconfig.props.label.enableF6=Enable F6
+sebserver.examconfig.props.label.enableF7=Enable F7
+sebserver.examconfig.props.label.enableF8=Enable F8
+sebserver.examconfig.props.label.enableF9=Enable F9
+sebserver.examconfig.props.label.enableF10=Enable F10
+sebserver.examconfig.props.label.enableF11=Enable F11
+sebserver.examconfig.props.label.enableF12=Enable F12
+
+sebserver.examconfig.props.validation.password.confirm=Please enter correct confirm password
+sebserver.examconfig.props.validation.unexpected=Unexpected error happened. Value was not set correctly
+sebserver.examconfig.props.validation.IntegerTypeValidator=Invalid number
+sebserver.examconfig.props.validation.DecimalTypeValidator=Invalid decimal number
+sebserver.examconfig.props.validation.ExitKeySequenceValidator=Key is already in sequence
+sebserver.examconfig.props.validation.WindowsSizeValidator=Invalid number
+
+################################
+# SEB Exam Configuration Template
+################################
+
+sebserver.configtemplate.action.list=Configuration Template
+sebserver.configtemplate.list.title=Configuration Templates
+sebserver.configtemplate.list.title.subtitle=
+sebserver.configtemplate.list.empty=There is currently no SEB-Exam configuration template available. Please create a new one
+sebserver.configtemplate.list.actions=
+sebserver.configtemplate.list.action.no.modify.privilege=No Access: A Configuration Template from other institution cannot be modified.
+
+sebserver.configtemplate.info.pleaseSelect=At first please select an Exam Configuration template from the list
+
+sebserver.configtemplate.action.list.new=Add Configuration Template
+sebserver.configtemplate.action.list.view=View Configuration Template
+sebserver.configtemplate.action.view=View Configuration Template
+sebserver.configtemplate.action.list.modify=Edit Configuration Template
+sebserver.configtemplate.action.modify=Edit Configuration Template
+sebserver.configtemplate.action.create-config=Create Exam Configuration
+sebserver.configtemplate.action.create-config.dialog=Exam Configuration
+
+sebserver.configtemplate.form.title.new=Add Configuration Template
+sebserver.configtemplate.form.title=Configuration Template
+sebserver.configtemplate.form.title.subtitle=
+sebserver.configtemplate.form.name=Name
+sebserver.configtemplate.form.name.tooltip=The name of the SEB exam configuration template
+sebserver.configtemplate.form.description=Description
+sebserver.configtemplate.form.description.tooltip=The description of the SEB exam configuration template
+sebserver.configtemplate.action.save=Save Configuration Template
+
+sebserver.configtemplate.attr.type.TEXT_FIELD=Text Field
+sebserver.configtemplate.attr.type.PASSWORD_FIELD=Password Field
+sebserver.configtemplate.attr.type.TEXT_AREA=Text Area
+sebserver.configtemplate.attr.type.CHECKBOX=Checkbox
+sebserver.configtemplate.attr.type.SLIDER=Slider
+sebserver.configtemplate.attr.type.INTEGER=Number (Integer)
+sebserver.configtemplate.attr.type.DECIMAL=Number (Decimal)
+sebserver.configtemplate.attr.type.SINGLE_SELECTION=Single Selection
+sebserver.configtemplate.attr.type.COMBO_SELECTION=Combo Selection
+sebserver.configtemplate.attr.type.RADIO_SELECTION=Radio Selection
+sebserver.configtemplate.attr.type.MULTI_SELECTION=Multi Selection
+sebserver.configtemplate.attr.type.MULTI_CHECKBOX_SELECTION=Multi Selection (Checkbox)
+sebserver.configtemplate.attr.type.FILE_UPLOAD=File Upload
+sebserver.configtemplate.attr.type.TABLE=Table
+sebserver.configtemplate.attr.type.INLINE_TABLE=Table
+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.view=View
+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.type=Type
+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
+sebserver.configtemplate.attr.list.actions.setdefault=Set Default Values
+sebserver.configtemplate.attr.list.actions.removeview=Remove From View
+sebserver.configtemplate.attr.list.actions.attach-default-view=Attach To View
+sebserver.configtemplate.attr.info.pleaseSelect=At first please select an Attribute from the list
+
+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.type=Type
+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.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.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
+
+sebserver.configtemplate.attr.action.setdefault=Set Default Values
+sebserver.configtemplate.attr.action.template=View Configuration Template
+
+
+################################
+# Monitoring
+################################
+
+sebserver.monitoring.action.list=Running Exams
+sebserver.monitoring.exam.list.title=Running Exams
+sebserver.monitoring.exam.list.actions=
+sebserver.monitoring.exam.action.detail.view=Back To Monitoring
+sebserver.monitoring.exam.action.list.view=Monitoring
+
+
+sebserver.monitoring.exam.info.pleaseSelect=At first please select an Exam from the list
+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.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.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.endTime=End Time {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.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.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.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.status=Status
+sebserver.monitoring.connection.form.status.tooltip=The current connection status
+sebserver.monitoring.connection.form.exam=Exam
+sebserver.monitoring.connection.form.exam.tooltip=The exam name
+
+sebserver.monitoring.exam.connection.emptySelection=At first please select a Connection from the list
+sebserver.monitoring.exam.connection.emptySelection.active=At first please select an active Connection from the list
+sebserver.monitoring.exam.connection.title=SEB Client Connection
+sebserver.monitoring.exam.connection.list.actions=
+sebserver.monitoring.exam.connection.action.view=View Details
+sebserver.monitoring.exam.connection.action.instruction.quit=Quit SEB Client
+sebserver.monitoring.exam.connection.action.instruction.quit.selected=Quit Selected SEB Clients
+sebserver.monitoring.exam.connection.action.instruction.quit.all=Quit All SEB Clients
+sebserver.monitoring.exam.connection.action.instruction.quit.confirm=Are you sure to quit this SEB client connection?
+sebserver.monitoring.exam.connection.action.instruction.quit.selected.confirm=Are you sure to quit all selected, active SEB client connections?
+sebserver.monitoring.exam.connection.action.instruction.quit.all.confirm=Are you sure to quit all active SEB client connections?
+sebserver.monitoring.exam.connection.action.instruction.disable.selected.confirm=Are you sure to disable all selected SEB client connections?
+sebserver.monitoring.exam.connection.action.instruction.disable.all.confirm=Are you sure to disable all active SEB client connections?
+sebserver.monitoring.exam.connection.action.disable=Mark as Canceled
+sebserver.monitoring.exam.connection.action.hide.requested=Hide Requested
+sebserver.monitoring.exam.connection.action.show.requested=Show Requested
+sebserver.monitoring.exam.connection.action.hide.closed=Hide Closed
+sebserver.monitoring.exam.connection.action.show.closed=Show Closed
+sebserver.monitoring.exam.connection.action.hide.disabled=Hide Canceled
+sebserver.monitoring.exam.connection.action.show.disabled=Show Canceled
+sebserver.monitoring.exam.connection.action.hide.undefined=Hide Undefined
+sebserver.monitoring.exam.connection.action.show.undefined=Show Undefined
+
+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.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.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.value=Value
+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.event.type.UNKNOWN=Unknown
+sebserver.monitoring.exam.connection.event.type.DEBUG_LOG=Debug
+sebserver.monitoring.exam.connection.event.type.INFO_LOG=Info
+sebserver.monitoring.exam.connection.event.type.WARN_LOG=Warn
+sebserver.monitoring.exam.connection.event.type.ERROR_LOG=Error
+sebserver.monitoring.exam.connection.event.type.LAST_PING=Last Ping
+
+sebserver.monitoring.exam.connection.status.UNDEFINED=Undefined
+sebserver.monitoring.exam.connection.status.CONNECTION_REQUESTED=Connection Requested
+sebserver.monitoring.exam.connection.status.AUTHENTICATED=Authenticated
+sebserver.monitoring.exam.connection.status.ACTIVE=Active
+sebserver.monitoring.exam.connection.status.CLOSED=Closed
+sebserver.monitoring.exam.connection.status.ABORTED=Aborted
+sebserver.monitoring.exam.connection.status.DISABLED=Canceled
+
+################################
+# Logs
+################################
+
+sebserver.logs.activity.main=Logs
+sebserver.logs.activity.userlogs=User Logs
+sebserver.logs.activity.userlogs.details=Show Details
+sebserver.logs.activity.seblogs=SEB Client Logs
+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.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.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.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.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.form.user=User
+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.activityType=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.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.details.title=User Activity Log Details
+sebserver.userlogs.info.pleaseSelect=At first please select a User Log from the list
+sebserver.userlogs.list.actions=
+sebserver.userlogs.list.empty=No User activity logs can be found. Please adapt or clear the filter
+
+
+sebserver.seblogs.list.title=SEB Client Logs
+sebserver.seblogs.list.actions=
+sebserver.seblogs.list.empty=No SEB client logs available. Please adapt or clear the filter
+
+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.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.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.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.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.value=Value
+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
+sebserver.seblogs.details.connection.title=SEB Connection Details
+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.type=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.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.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.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.status=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.description=Description
+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
+sebserver.seblogs.form.column.exam.startTime.tooltip=The start date and time of the exam
+sebserver.seblogs.form.column.exam.endTime=End Time
+sebserver.seblogs.form.column.exam.endTime.tooltip=The end date and time of the exam
\ No newline at end of file
diff --git a/docker/prod/bundled/basic/docker-compose.yml b/docker/prod/bundled/basic/docker-compose.yml
new file mode 100644
index 00000000..3669ebb8
--- /dev/null
+++ b/docker/prod/bundled/basic/docker-compose.yml
@@ -0,0 +1,84 @@
+version: '3.5'
+services:
+ seb-server-setup:
+ build:
+ context: .
+ dockerfile: setup.Dockerfile
+ container_name: seb-server-setup
+ volumes:
+ - seb-server-config:/config
+ - ./config:/host/config
+
+ mariadb:
+ image: "mariadb/server:10.3"
+ container_name: seb-server-mariadb
+ environment:
+ - MYSQL_ROOT_PASSWORD_FILE=/etc/mysql/conf.d/secret
+ ports:
+ - 3306:3306
+ volumes:
+ - seb-server-config:/etc/mysql/conf.d
+ - seb-server-mariadb:/var/lib/mysql
+ - ./config/mariadb/config.cnf:/etc/mysql/conf.d/config.cnf
+ networks:
+ - seb-server-network
+ depends_on:
+ - "seb-server-setup"
+ restart: unless-stopped
+
+ seb-server:
+ build:
+ context: .
+ dockerfile: sebserver.Dockerfile
+ args:
+ - SEBSERVER_VERSION=1.0-latest
+ container_name: seb-server
+ volumes:
+ - seb-server-config:/sebserver/config
+ - ./config/spring:/sebserver/config/spring
+ - seb-server-logs:/sebserver/log
+ environment:
+ - MONITORING_MODE=false
+ # - JMX_PORT=9090
+ # Connect this port to host if you want to use JMX (MONITORING_MODE=true)
+ #ports:
+ # - 9090:9090
+ logging:
+ driver: "json-file"
+ options:
+ mode: "non-blocking"
+ max-size: "200k"
+ max-file: "10"
+ networks:
+ - seb-server-network
+ depends_on:
+ - "mariadb"
+ - "seb-server-setup"
+ restart: unless-stopped
+
+ reverse-proxy:
+ image: "nginx:latest"
+ container_name: seb-server-proxy
+ volumes:
+ - ./config/nginx:/etc/nginx/conf.d
+ ports:
+ - 80:80
+ networks:
+ - seb-server-network
+ depends_on:
+ - "mariadb"
+ - "seb-server"
+ - "seb-server-setup"
+ restart: unless-stopped
+
+networks:
+ seb-server-network:
+ name: seb-server-network
+
+volumes:
+ seb-server-config:
+ name: seb-server-config
+ seb-server-mariadb:
+ name: seb-server-mariadb
+ seb-server-logs:
+ name: seb-server-logs
\ No newline at end of file
diff --git a/docker/prod/bundled/basic/sebserver.Dockerfile b/docker/prod/bundled/basic/sebserver.Dockerfile
new file mode 100644
index 00000000..9c724095
--- /dev/null
+++ b/docker/prod/bundled/basic/sebserver.Dockerfile
@@ -0,0 +1,59 @@
+FROM alpine/git
+
+ARG SEBSERVER_VERSION
+ARG GIT_TAG="v${SEBSERVER_VERSION}"
+
+WORKDIR /sebserver
+RUN if [ "x${GIT_TAG}" = "x" ] ; \
+ then git clone --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; \
+ else git clone -b "$GIT_TAG" --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; fi
+
+FROM maven:latest
+
+ARG SEBSERVER_VERSION
+
+WORKDIR /sebserver
+COPY --from=0 /sebserver/seb-server /sebserver
+RUN mvn clean install -DskipTests -Dbuild-version="${SEBSERVER_VERSION}"
+
+FROM openjdk:11-jre-stretch
+
+ARG SEBSERVER_VERSION
+ENV SEBSERVER_JAR="seb-server-${SEBSERVER_VERSION}.jar"
+ENV SERVER_PORT="8080"
+ENV JMX_PORT=
+
+WORKDIR /sebserver
+COPY --from=1 /sebserver/target/"${SEBSERVER_JAR}" /sebserver
+
+CMD if [ "x${JMX_PORT}" = "x" ] ; \
+ then secret=$(cat /sebserver/config/secret) && exec java \
+ -Xms64M \
+ -Xmx1G \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=ws,gui,prod,prod-gui,prod-ws \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.certs.password="${secret}" \
+ --sebserver.mariadb.password="${secret}" \
+ --sebserver.password="${secret}" ; \
+ else secret=$(cat /sebserver/config/secret) && exec java \
+ -Xms64M \
+ -Xmx1G \
+ -Dcom.sun.management.jmxremote \
+ -Dcom.sun.management.jmxremote.port=${JMX_PORT} \
+ -Dcom.sun.management.jmxremote.rmi.port=${JMX_PORT} \
+ -Djava.rmi.server.hostname=localhost \
+ -Dcom.sun.management.jmxremote.local.only=false \
+ -Dcom.sun.management.jmxremote.ssl=false \
+ -Dcom.sun.management.jmxremote.authenticate=true \
+ -Dcom.sun.management.jmxremote.password.file=/sebserver/config/jmx/jmxremote.password \
+ -Dcom.sun.management.jmxremote.access.file=/sebserver/config/jmx/jmxremote.access \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=ws,gui,prod,prod-gui,prod-ws \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.certs.password="${secret}" \
+ --sebserver.mariadb.password="${secret}" \
+ --sebserver.password="${secret}" ; \
+ fi
+
+EXPOSE $SERVER_PORT $JMX_PORT
\ No newline at end of file
diff --git a/docker/prod/bundled/basic/setup.Dockerfile b/docker/prod/bundled/basic/setup.Dockerfile
new file mode 100644
index 00000000..09bf17c1
--- /dev/null
+++ b/docker/prod/bundled/basic/setup.Dockerfile
@@ -0,0 +1,6 @@
+FROM alpine:latest
+
+CMD cp -a /host/config/. /config/ \
+ && secret=$(cat /config/secret) \
+ && rm /host/config/secret \
+ && sudo chmod 777 /host/config/secret
\ No newline at end of file
diff --git a/docker/prod/bundled/tls/config/jmx/jmxremote.access b/docker/prod/bundled/tls/config/jmx/jmxremote.access
new file mode 100644
index 00000000..7280be99
--- /dev/null
+++ b/docker/prod/bundled/tls/config/jmx/jmxremote.access
@@ -0,0 +1,2 @@
+admin readwrite
+user readonly
\ No newline at end of file
diff --git a/docker/prod/bundled/tls/config/jmx/jmxremote.password b/docker/prod/bundled/tls/config/jmx/jmxremote.password
new file mode 100644
index 00000000..e69de29b
diff --git a/docker/prod/bundled/tls/config/mariadb/config.cnf b/docker/prod/bundled/tls/config/mariadb/config.cnf
new file mode 100644
index 00000000..dbb65545
--- /dev/null
+++ b/docker/prod/bundled/tls/config/mariadb/config.cnf
@@ -0,0 +1,16 @@
+[mysqld]
+# Disabling symbolic-links is recommended to prevent assorted security risks
+symbolic-links=0
+
+# network
+connect_timeout = 61
+wait_timeout = 28800
+max_connections = 100000
+max_allowed_packet = 256M
+max_connect_errors = 1000000
+
+skip_external_locking
+skip_name_resolve
+
+#memory
+innodb_buffer_pool_size=2G
diff --git a/docker/prod/bundled/tls/config/nginx/app.conf b/docker/prod/bundled/tls/config/nginx/app.conf
new file mode 100644
index 00000000..ba0ea6b9
--- /dev/null
+++ b/docker/prod/bundled/tls/config/nginx/app.conf
@@ -0,0 +1,30 @@
+ssl_session_cache shared:SSL:10m;
+ssl_session_timeout 10m;
+
+
+server {
+ listen 443 ssl;
+ charset utf-8;
+ access_log off;
+ keepalive_timeout 70;
+
+ server_name localhost;
+ ssl_certificate /sebserver/config/certs/localhost.crt;
+ ssl_certificate_key /sebserver/config/certs/localhost.key;
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+ ssl_ciphers HIGH:!aNULL:!MD5;
+
+ location / {
+ proxy_pass http://seb-server:8080;
+ proxy_set_header Host $host:$server_port;
+ proxy_set_header X-Forwarded-Host $server_name;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ }
+}
+
+server {
+ listen 80;
+ server_name _;
+ return 301 https://$host$request_uri;
+}
diff --git a/docker/prod/bundled/tls/config/nginx/certs/localhost.crt b/docker/prod/bundled/tls/config/nginx/certs/localhost.crt
new file mode 100644
index 00000000..600b8f42
--- /dev/null
+++ b/docker/prod/bundled/tls/config/nginx/certs/localhost.crt
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDXDCCAkSgAwIBAgIJAJYb2nNBXHKCMA0GCSqGSIb3DQEBCwUAMEMxCzAJBgNV
+BAYTAkNIMQ8wDQYDVQQIDAZadXJpY2gxDzANBgNVBAcMBlp1cmljaDESMBAGA1UE
+AwwJbG9jYWxob3N0MB4XDTIwMDQzMDEzMDI0OVoXDTIxMDQzMDEzMDI0OVowQzEL
+MAkGA1UEBhMCQ0gxDzANBgNVBAgMBlp1cmljaDEPMA0GA1UEBwwGWnVyaWNoMRIw
+EAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+AQDLwuUqViIl8RtzQoYiZ6vHM49UlhgrD51sziO1PuDIfZo7R3M3NFuCmwsOlXoH
+vHagcFFpplG3br/akbMCiIbZaWCJiNluZy+b1eFNHmPo8KvCFhRZfAUtKbzku2zL
+53O7/oMBUbhJILXC5is832K0qswh/QEmndySTO8sb4IZ3EZV4krQ7UlDgbvRruvL
+PrqEn25jiuhe5SnrkmI4rlaClvgOJ18qq+L4op90fd0W2V11WV9AJLk7boqVtCwT
+ee++SpVxS1W5EsCiZwKVrmrxUXPpC+Q67MNO+GJzW1xivcnz6fpOjoCRisudRtEb
+/GRO2jLVr3KvmyftJMk02d5xAgMBAAGjUzBRMB0GA1UdDgQWBBQQmfmkV++5QA0r
+uP7xbegL02qLkTAfBgNVHSMEGDAWgBQQmfmkV++5QA0ruP7xbegL02qLkTAPBgNV
+HRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQC5nt2yexZjt0yaociBiveF
+Y1ePyT3QVdDEzaAzMHNJxPA0DcsaJdViv/K8Ri9a7aZgjI7tGR93rTUSs8EgxoYQ
+ZUn6Av4xwTHIAoGbIS24pd6wljkehB6G4xGK4D8R51AHqHPwlV9pe/9FhqnIwagr
+RMXJurEiKf1EiX/4ryrs5hFzSauUGEhnq7HTGRygK1boN0LNqLx5G4vLtYzOCDuN
+GnshMJJvXkQe6Fre1rFnVoBtcbhoEqkp3LLr3eHSiAf7gy4iXjzhGCw/LX0pbEqr
+B0Zt+ouuTfga0Pvj3MNEWyI+3CWqXldB/RvonZxWXUhh6ONU2qzRYenewI8gDfIZ
+-----END CERTIFICATE-----
diff --git a/docker/prod/bundled/tls/config/nginx/certs/localhost.key b/docker/prod/bundled/tls/config/nginx/certs/localhost.key
new file mode 100644
index 00000000..3fe981f9
--- /dev/null
+++ b/docker/prod/bundled/tls/config/nginx/certs/localhost.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDLwuUqViIl8Rtz
+QoYiZ6vHM49UlhgrD51sziO1PuDIfZo7R3M3NFuCmwsOlXoHvHagcFFpplG3br/a
+kbMCiIbZaWCJiNluZy+b1eFNHmPo8KvCFhRZfAUtKbzku2zL53O7/oMBUbhJILXC
+5is832K0qswh/QEmndySTO8sb4IZ3EZV4krQ7UlDgbvRruvLPrqEn25jiuhe5Snr
+kmI4rlaClvgOJ18qq+L4op90fd0W2V11WV9AJLk7boqVtCwTee++SpVxS1W5EsCi
+ZwKVrmrxUXPpC+Q67MNO+GJzW1xivcnz6fpOjoCRisudRtEb/GRO2jLVr3Kvmyft
+JMk02d5xAgMBAAECggEALXh7rXv1OORaTNlel5TtB5Ig/S5VjF56sgo6e7rhbLxi
+y7HBK2OavEWfLQz8Y3eSPXFzKZF9EOM9GyiCeyE+fov+iBKq+vE59ZvAIHaUsynq
+GnDU77c2bIKw7ZZJzCMFd8FvOL8k0eTjyu+UXIw5OboXvcn5FMYLr/ZNNWxY6y4P
+33fR63HUAQOglxkvzqfCYcWqiBr3fowQcKfeVjSveeTMEHMDq/EWcq1+xmGRs037
+cWfLw8A2Vo6lN4CSJvXMJXzNgd3uKG4EI+nTzrO7WaH6KpxIkGkD/u50J868tR+C
+TmQnQIvMkjGSiulGHHZhQ3v8zEXzSU3ramxnBM9O8QKBgQDszx7Z5Cioc1RK4dKt
+qLhvbQYXQC3XF0WWOjuG6NTxA/cKejQ9fpLzu0UnRYsUfsyiahtB+umGsWxO1yAp
+aVf25CYp2lTTvP3EDo9wzOfp9NBqiKSkTTmYvp7i9idGU4Tg8gYUQcG9F63L1M3X
+6Xb8ZWylJoypegz2CeDWIh+RXQKBgQDcRikZYaGKsMgCxRVyxeHOFbml4Fk0wH+C
+YsrOHMV29Ck/8t/Ajy8+42TmnrmCFsTK4OVG9L87CF9TNxBU8WBAG2YqmiQbH49i
+UEaxBSfcmOqgPFGy62EQadUTn4f+HbZJKPyaeMhnKJseIIWy2i+a0Q6+0GX+Gke6
+Qe6FWkeMJQKBgQDJ8ZcNmVRS0ob/lLRlA4zE+ORIz6JH2sCs69v3oHZ3UjpJ5QzH
+pDkNQJYod1WzlK5Nks7L5X1gL819Lldu+TbahJVG+7l7F6AQoZoRR6w+B1f0gbJl
+qrWDXIuCYQf9IRwf+ETW4XymFJtRR5iCl8WwV43fCJDLthl3d9UUxuTEwQKBgQDb
+dRNRdFHLqeE70TtTRA96kW6K8wAtbHQdZWwE+elKYGwQiFugr4c0sr0+f3j3QNQE
+BRipHwK/P9IpSDz/RBTPCf06CKRcWY8zNiOYDjjusXNg/XewOI5WGfruOAz3goaw
+USOKizeuf2g8Fc7eqD6xkgOM3HghN/GqgjGvroiF+QKBgQDQZRljdl/dTi5GijFb
+FJwDGEhTpDYEBKb9AwWa5xP0u7JoqCv+0eP8/9eLmjzgawKTjtPHVMaeBmzMeW4O
+E+x4114yQthVTs1e8TnoprkapEQNlvDGxJsYycJ4ADrrgOzA+HeddUj9GrWEfd8f
+t7TrY/khzS4yDWvTFYG5wag+5Q==
+-----END PRIVATE KEY-----
diff --git a/docker/prod/bundled/tls/config/spring/application-prod.properties b/docker/prod/bundled/tls/config/spring/application-prod.properties
new file mode 100644
index 00000000..9263ec1e
--- /dev/null
+++ b/docker/prod/bundled/tls/config/spring/application-prod.properties
@@ -0,0 +1,79 @@
+##########################################################
+### Global Server Settings
+
+# Server address (set for docker internal)
+server.address=0.0.0.0
+# Server http port
+server.port=8080
+# The servlet context path
+server.servlet.context-path=/
+
+# Logging
+# Default logging level in the form "logging.level" + namespace=LEVEL
+logging.level.ROOT=WARN
+logging.level.ch=INFO
+logging.file=/sebserver/log/sebserver.log
+logging.config=/sebserver/config/spring/logback-prod.xml
+
+##########################################################
+### SEB Server Webservice configuration
+
+sebserver.test.property=This is a basic bundled productive setup
+
+# webservice database server connection
+datastore.mariadb.server.address=seb-server-mariadb
+datastore.mariadb.server.port=3306
+
+# data source configuration
+spring.datasource.hikari.initializationFailTimeout=30000
+spring.datasource.hikari.connectionTimeout=30000
+spring.datasource.hikari.idleTimeout=600000
+spring.datasource.hikari.maxLifetime=1800000
+
+### webservice networking
+sebserver.webservice.distributed=false
+sebserver.webservice.http.external.scheme=https
+sebserver.webservice.http.external.servername=
+sebserver.webservice.http.external.port=
+sebserver.webservice.http.redirect.gui=/gui
+sebserver.http.client.connect-timeout=150000
+sebserver.http.client.connection-request-timeout=100000
+sebserver.http.client.read-timeout=200000
+
+# webservice API
+sebserver.webservice.api.admin.endpoint=/admin-api/v1
+sebserver.webservice.api.admin.accessTokenValiditySeconds=3600
+sebserver.webservice.api.admin.refreshTokenValiditySeconds=25200
+sebserver.webservice.api.exam.config.init.permittedProcesses=config/initialPermittedProcesses.xml
+sebserver.webservice.api.exam.config.init.prohibitedProcesses=config/initialProhibitedProcesses.xml
+sebserver.webservice.api.exam.endpoint=/exam-api
+sebserver.webservice.api.exam.endpoint.discovery=${sebserver.webservice.api.exam.endpoint}/discovery
+sebserver.webservice.api.exam.endpoint.v1=${sebserver.webservice.api.exam.endpoint}/v1
+sebserver.webservice.api.exam.accessTokenValiditySeconds=3600
+sebserver.webservice.api.exam.event-handling-strategy=ASYNC_BATCH_STORE_STRATEGY
+sebserver.webservice.api.exam.enable-indicator-cache=true
+sebserver.webservice.api.pagination.maxPageSize=500
+# comma separated list of known possible OpenEdX API access token request endpoints
+sebserver.webservice.lms.openedx.api.token.request.paths=/oauth2/access_token
+
+##########################################################
+### SEB Server GUI configuration
+sebserver.gui.external.messages=file:/sebserver/config/spring/messages
+sebserver.gui.multilingual=false
+sebserver.gui.supported.languages=en
+sebserver.gui.theme=css/sebserver.css
+sebserver.gui.list.page.size=20
+sebserver.gui.date.displayformat=de
+
+sebserver.gui.entrypoint=/gui
+sebserver.gui.webservice.protocol=http
+sebserver.gui.webservice.address=localhost
+sebserver.gui.webservice.port=8080
+# defines the polling interval that is used to poll the webservice for client connection data on a monitored exam page
+sebserver.gui.webservice.poll-interval=1000
+sebserver.gui.webservice.mock-lms-enabled=true
+sebserver.gui.webservice.edx-lms-enabled=true
+sebserver.gui.webservice.moodle-lms-enabled=false
+
+sebserver.gui.seb.client.config.download.filename=SEBServerSettings.seb
+sebserver.gui.seb.exam.config.download.filename=SEBExamSettings.seb
\ No newline at end of file
diff --git a/docker/prod/bundled/tls/config/spring/logback-prod.xml b/docker/prod/bundled/tls/config/spring/logback-prod.xml
new file mode 100644
index 00000000..3033898c
--- /dev/null
+++ b/docker/prod/bundled/tls/config/spring/logback-prod.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ %d{HH:mm:ss.SSS} %-5level [%thread]:[%logger] %msg%n
+
+
+
+
+ log/sebserver.log
+ true
+
+ %d{HH:mm:ss.SSS} %-5level [%thread]:[%logger] %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docker/prod/bundled/tls/config/spring/messages_en.properties b/docker/prod/bundled/tls/config/spring/messages_en.properties
new file mode 100644
index 00000000..77eaebd4
--- /dev/null
+++ b/docker/prod/bundled/tls/config/spring/messages_en.properties
@@ -0,0 +1,1476 @@
+################################
+# Overall
+################################
+
+sebserver.overall.imprint=
+sebserver.overall.imprint.markup=
+sebserver.overall.help=About
+sebserver.overall.help.link=https://seb-server.readthedocs.io/en/latest/index.html
+sebserver.overall.about=
+sebserver.overall.about.markup=
+
+
+sebserver.overall.message.leave.without.save=You have unsaved changes!
Are you sure you want to leave the page? The changes will be lost.
+sebserver.overall.upload=Please select a file
+sebserver.overall.upload.unsupported.file=This file type is not supported. Supported files are: {0}
+sebserver.overall.action.modify.cancel=Cancel
+sebserver.overall.action.modify.cancel.confirm=Are you sure you want to cancel? Modifications will be lost.
+sebserver.overall.action.filter=Apply filter
+sebserver.overall.action.filter.clear=Clear filter criteria
+sebserver.overall.action.ok=OK
+sebserver.overall.action.cancel=Cancel
+sebserver.overall.action.close=Close
+sebserver.overall.action.goAwayFromEditPageConfirm=Are you sure you want to leave this page? Unsaved data will be lost.
+sebserver.overall.action.category.varia=
+sebserver.overall.action.category.filter=
+
+sebserver.overall.action.showPassword.tooltip=Show / hide password in plain text.
+
+sebserver.overall.status.active=Active
+sebserver.overall.status.inactive=Inactive
+sebserver.overall.status.all=All
+
+sebserver.overall.date.from=From
+sebserver.overall.date.to=To
+
+sebserver.overall.action.add=Add;
+sebserver.overall.action.remove=Remove
+sebserver.overall.action.select=Please Select
+sebserver.overall.action.toggle-activity=Switch Status
+
+sebserver.overall.types.activityType.REGISTER=Register new Account
+sebserver.overall.types.activityType.CREATE=Create New
+sebserver.overall.types.activityType.IMPORT=Import
+sebserver.overall.types.activityType.EXPORT=Export
+sebserver.overall.types.activityType.MODIFY=Modify
+sebserver.overall.types.activityType.PASSWORD_CHANGE=Password Change
+sebserver.overall.types.activityType.DEACTIVATE=Deactivate
+sebserver.overall.types.activityType.ACTIVATE=Activate
+sebserver.overall.types.activityType.DELETE=Delete
+
+sebserver.overall.types.entityType.CONFIGURATION_ATTRIBUTE=Configuration Attribute
+sebserver.overall.types.entityType.CONFIGURATION_VALUE=Configuration Value
+sebserver.overall.types.entityType.VIEW=Configuration View
+sebserver.overall.types.entityType.ORIENTATION=Configuration Orientation
+sebserver.overall.types.entityType.CONFIGURATION=Exam Configuration History
+sebserver.overall.types.entityType.CONFIGURATION_NODE=Exam Configuration
+sebserver.overall.types.entityType.EXAM_CONFIGURATION_MAP=Exam Configuration Mapping
+sebserver.overall.types.entityType.EXAM=Exam
+sebserver.overall.types.entityType.INDICATOR=Indicator
+sebserver.overall.types.entityType.THRESHOLD=Threshold
+sebserver.overall.types.entityType.INSTITUTION=Institution
+sebserver.overall.types.entityType.SEB_CLIENT_CONFIGURATION=Client Configuration
+sebserver.overall.types.entityType.LMS_SETUP=LMS Setup
+sebserver.overall.types.entityType.USER=User Account
+sebserver.overall.types.entityType.CLIENT_INSTRUCTION=SEB Client Instruction
+sebserver.overall.types.entityType.EXAM_SEB_RESTRICTION=SEB Exam Restriction
+
+sebserver.overall.activity.title.serveradmin=SEB Server Administration
+sebserver.overall.activity.title.sebconfig=SEB Configuration
+sebserver.overall.activity.title.examadmin=Exam Administration
+sebserver.overall.activity.title.monitoring=Monitoring
+
+################################
+# Form validation and messages
+################################
+
+sebserver.form.validation.error.title=Form data validation failed
+sebserver.form.validation.error.message=There is missing or incorrect form data.
+sebserver.form.validation.fieldError.size=The size must be between {3} and {4}
+sebserver.form.validation.fieldError.name=The Name is mandatory and must have a size between {3} and {4} character
+sebserver.form.validation.fieldError.urlSuffix=The URL Suffix must have a size between {3} and {4} character
+sebserver.form.validation.fieldError.notNull=This field is mandatory
+sebserver.form.validation.fieldError.name.notunique=This name is already in use. Please choose another one.
+sebserver.form.validation.fieldError.username.notunique=This Username is already in use. Please choose another one.
+sebserver.form.validation.fieldError.email.notunique=A user account with this e-mail address already exists.
+sebserver.form.validation.fieldError.password.wrong=The old password is wrong
+sebserver.form.validation.fieldError.password.mismatch=The retyped password doesn't match the new password
+sebserver.form.validation.fieldError.invalidURL=The input does not match the URL pattern.
+sebserver.form.validation.fieldError.exists=This name already exists. Please choose another one.
+sebserver.form.validation.fieldError.email=Invalid mail address
+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.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?
+
+sebserver.error.action.unexpected.message=Failed to process action. There was an unexpected error.
Please try again or contact a system administrator if this error persists
+sebserver.error.get.entity=Failed to load {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.remove.entity=Failed to remove {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.activate.entity=Failed to activate/deactivate {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.save.entity=Failed to save {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.exam.seb.restriction=
Failed to automatically set Safe Exam Browser restriction on/off for this exam on the corresponding LMS.
Please check the LMS Setup and try again or contact a system administrator if this error persists
+sebserver.error.import=Failed to import {0}.
Please try again or contact a system administrator if this error persists
+sebserver.error.logout=Failed to logout properly.
Please try again or contact a system administrator if this error persists
+################################
+# Login Page
+################################
+
+sebserver.login.username=User Name
+sebserver.login.pwd=Password
+sebserver.login.login=Sign In
+sebserver.login.failed.title=Login failed
+sebserver.login.failed.message=Access denied: wrong username or password
+sebserver.logout=Sign out
+sebserver.logout.success.message=You have been successfully signed out.
+sebserver.logout.invalid-session.message=You have been signed out because of a user session invalidation.
Please sign in again
+sebserver.login.password.change=Information
+sebserver.login.password.change.success=The password was successfully changed. Please sign in with your new password
+
+sebserver.login.register=Register
+sebserver.login.register.form.title=Create an Account
+sebserver.login.register.do=Create Account
+sebserver.login.register.success=New account successfully created.
Please log in with your username and password.
+
+
+################################
+# Main Page
+################################
+
+sebserver.mainpage.maximize.tooltip=Maximize
+sebserver.mainpage.minimize.tooltip=Minimize
+sebserver.activitiespane.title=
+sebserver.actionpane.title=
+
+################################
+# Institution
+################################
+
+sebserver.institution.list.actions=
+sebserver.institution.list.empty=No institution can be found. Please adapt the filter or create a new institution
+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.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.active=Status
+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
+sebserver.institution.action.new=Add Institution
+sebserver.institution.action.list.view=View Institution
+sebserver.institution.action.list.modify=Edit Institution
+sebserver.institution.action.modify=Edit Institution
+sebserver.institution.action.save=Save Institution
+sebserver.institution.action.activate=Activate Institution
+
+sebserver.institution.action.deactivate=Deactivate Institution
+sebserver.institution.action.delete=Delete Institution
+
+sebserver.institution.info.pleaseSelect=At first please select an institution from the list.
+sebserver.institution.form.title.new=Add Institution
+sebserver.institution.form.title=Institution
+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.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
+
+
+################################
+# User Account
+################################
+
+sebserver.useraccount.list.actions=
+sebserver.useraccount.role.SEB_SERVER_ADMIN=SEB Server Administrator
+sebserver.useraccount.role.SEB_SERVER_ADMIN.tooltip=A SEB server administrator has overall read privileges
and is able to create new institutions and user accounts
+sebserver.useraccount.role.INSTITUTIONAL_ADMIN=Institutional Administrator
+sebserver.useraccount.role.INSTITUTIONAL_ADMIN.tooltip=An institutional administrator has overall read privileges on the assigned institution
and is able to edit the institution and create new user accounts for the institution.
Furthermore an institutional administrator is able to create new LMS bindings and SEB client configurations for the institution.
+sebserver.useraccount.role.EXAM_ADMIN=Exam Administrator
+sebserver.useraccount.role.EXAM_ADMIN.tooltip=An exam administrator has overall read privileges for the institution but cannot see or manage other user accounts.
An exam administrator is able to create new SEB configurations and import and setup exams.
+sebserver.useraccount.role.EXAM_SUPPORTER=Exam Supporter
+sebserver.useraccount.role.EXAM_SUPPORTER.tooltip=An exam supporter can only see and edit the own user account
and monitor exams for that he/she was attached by an exam administrator.
+
+sebserver.useraccount.list.empty=No user account can be found. Please adapt the filter or create a new user account
+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.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.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.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.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.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.action.list=User Account
+sebserver.useraccount.action.form=User Account of {0}
+sebserver.useraccount.action.new=Add User Account
+sebserver.useraccount.action.view=View User Account
+sebserver.useraccount.action.list.modify=Edit User Account
+sebserver.useraccount.action.modify=Edit User Account
+sebserver.useraccount.action.save=Save User Account
+sebserver.useraccount.action.activate=Activate User Account
+sebserver.useraccount.action.deactivate=Deactivate User Account
+sebserver.useraccount.action.delete=Delete User Account
+sebserver.useraccount.action.change.password=Change Password
+sebserver.useraccount.action.change.password.save=Save New Password
+
+sebserver.useraccount.info.pleaseSelect=At first please select a User Account from the list.
+sebserver.useraccount.info.notEditable=You have no edit rights for this User Account.
+
+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.creationdate=Creation Date
+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.surname=Surname
+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.mail=E-Mail
+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.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.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.password=Password
+sebserver.useraccount.form.password.tooltip=The password of the user account
+sebserver.useraccount.form.password.confirm=Confirm Password
+sebserver.useraccount.form.password.confirm.tooltip=Please confirm the password
+sebserver.useraccount.form.pwchange.title=Change Password : {0}
+sebserver.useraccount.form.password.new=New Password
+sebserver.useraccount.form.password.new.tooltip=The new password for the user account
+sebserver.useraccount.form.password.new.confirm=Confirm New Password
+sebserver.useraccount.form.password.new.confirm.tooltip=Please confirm the password
+
+################################
+# LMS Setup
+################################
+
+sebserver.lmssetup.type.MOCKUP=Testing
+sebserver.lmssetup.type.MOODLE=Moodle
+sebserver.lmssetup.type.OPEN_EDX=Open edX
+
+sebserver.lmssetup.list.actions=
+sebserver.lmssetup.list.action.no.modify.privilege=No Access: A LMS Setup from other institution cannot be modified.
+sebserver.lmssetup.list.empty=No LMS Setup can be found. Please adapt the filter or create a new LMS Setup
+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.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.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.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.action.list=LMS Setup
+sebserver.lmssetup.action.form=LMS Setup
+sebserver.lmssetup.action.new=Add LMS Setup
+sebserver.lmssetup.action.list.view=View LMS Setup
+sebserver.lmssetup.action.list.modify=Edit LMS Setup
+sebserver.lmssetup.action.modify=Edit
+sebserver.lmssetup.action.savetest=Test And Save
+sebserver.lmssetup.action.testsave=Test And Save
+sebserver.lmssetup.action.test.ok=Successfully connected to the course API
+sebserver.lmssetup.action.test.tokenRequestError=The API access was denied: {0}
Please check the LMS connection details.
+sebserver.lmssetup.action.test.quizRequestError=Unable to request courses or exams from the course API of the LMS. {0}
+sebserver.lmssetup.action.test.quizRestrictionError=Unable to access course restriction API of the LMS. {0}
+sebserver.lmssetup.action.test.missingParameter=There is one or more missing connection parameter.
Please check the connection parameter for this LMS Setup
+sebserver.lmssetup.action.test.unknownError=An unexpected error happened while trying to connect to the LMS course API. {0}
+sebserver.lmssetup.action.save=Save LMS Setup
+sebserver.lmssetup.action.activate=Activate LMS Setup
+sebserver.lmssetup.action.deactivate=Deactivate LMS Setup
+sebserver.lmssetup.action.delete=Delete LMS Setup
+
+sebserver.lmssetup.info.pleaseSelect=At first please select a LMS Setup from the list
+
+sebserver.lmssetup.form.title=Learning Management System Setup
+sebserver.lmssetup.form.title.subtitle=
+sebserver.lmssetup.form.title.new=Add Learning Management System Setup
+sebserver.lmssetup.form.institution=Institution
+sebserver.lmssetup.form.institution.tooltip=The institution where the LMS setup belongs to
+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.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.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.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.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.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
+sebserver.lmssetup.form.proxy.port=Proxy Port
+sebserver.lmssetup.form.proxy.port.tooltip=The proxy server port to connect to
+sebserver.lmssetup.form.proxy.name=Proxy Name
+sebserver.lmssetup.form.proxy.name.tooltip=Proxy authentication name, needed if the proxy requests authentication
+sebserver.lmssetup.form.proxy.password=Proxy Password
+sebserver.lmssetup.form.proxy.password.tooltip=Proxy authentication password, needed if the proxy requests authentication
+sebserver.lmssetup.form.proxy.auth-credentials.tooltip=The proxy authentication credentials (name and password)
to authenticate the connection within the proxy server
+
+################################
+#LMS Exam
+################################
+
+sebserver.quizdiscovery.list.actions=
+
+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.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.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.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.endtime=End Time {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.
+
+sebserver.quizdiscovery.action.list=LMS Exam Lookup
+sebserver.quizdiscovery.action.import=Import as Exam
+sebserver.quizdiscovery.quiz.import.out.dated=The Selected LMS exam is already finished and can't be imported
+sebserver.quizdiscovery.action.details=Show LMS Exam Details
+sebserver.quizdiscovery.quiz.import.existing.confirm=This course was already imported and importing it twice may lead to
unexpected behavior within automated SEB restriction on LMS.
Do you want to import this course as exam anyway?
+
+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.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.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.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.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.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.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
+sebserver.quizdiscovery.quiz.details.additional.course_shortname.tooltip=The short name of the LMS exam
This is defined on the corresponding LMS
+sebserver.quizdiscovery.quiz.details.additional.course_fullname=Full Name
+sebserver.quizdiscovery.quiz.details.additional.course_fullname.tooltip=The full name of the LMS exam
This is defined on the corresponding LMS
+sebserver.quizdiscovery.quiz.details.additional.course_displayname=Display Name
+sebserver.quizdiscovery.quiz.details.additional.course_displayname.tooltip=The display name of the LMS exam
This is defined on the corresponding LMS
+sebserver.quizdiscovery.quiz.details.additional.course_summary=Summary
+sebserver.quizdiscovery.quiz.details.additional.course_summary.tooltip=The summary of the LMS exam
This is defined on the corresponding LMS
+sebserver.quizdiscovery.quiz.details.additional.timelimit=Time Limit
+sebserver.quizdiscovery.quiz.details.additional.timelimit.toolitp=The time limit of the LMS exam
This is defined on the corresponding LMS
+
+################################
+# Exam
+################################
+
+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.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.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.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.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.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.
+sebserver.exam.list.action.no.modify.privilege=No Access: An Exam from another institution cannot be modified.
+
+sebserver.exam.consistency.title=Note: This exam is already running but has some missing settings
+sebserver.exam.consistency.missing-supporter= - There are no Exam Supporter defined for this exam. Use 'Edit Exam' on the right to add an Exam Supporter.
+sebserver.exam.consistency.missing-indicator= - There is no indicator defined for this exam. Use 'Add Indicator" on the right to add an indicator.
+sebserver.exam.consistency.missing-config= - There is no configuration defined for this exam. Use 'Add Configuration' to attach one.
+sebserver.exam.consistency.missing-seb-restriction= - There is currently no SEB restriction applied on the LMS side. Use 'Enable SEB Restriction' on the right to activate auto-restriction.
Or if this is not possible consider doing it manually on the LMS.
+sebserver.exam.confirm.remove-config=This exam is current running. The remove of the attached configuration will led to an invalid state
where connecting SEB clients cannot download the configuration for the exam.
Are you sure to remove the configuration?
+
+sebserver.exam.action.list=Exam
+sebserver.exam.action.list.view=View Exam
+sebserver.exam.action.list.modify=Edit Exam
+sebserver.exam.action.modify=Edit Exam
+sebserver.exam.action.import=Import From Quizzes
+sebserver.exam.action.save=Save Exam
+sebserver.exam.action.activate=Activate Exam
+sebserver.exam.action.deactivate=Deactivate Exam
+sebserver.exam.action.sebrestriction.enable=Apply SEB Lock
+sebserver.exam.action.sebrestriction.disable=Release SEB Lock
+sebserver.exam.action.sebrestriction.details=SEB Restriction Details
+
+sebserver.exam.info.pleaseSelect=At first please select an Exam from the list
+
+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.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
+sebserver.exam.form.quizurl.tooltip=The direct URL link to the LMS exam
+sebserver.exam.form.name=Name
+sebserver.exam.form.name.tooltip=The name of the exam.
This name is defined on the corresponding LMS
+sebserver.exam.form.description=Description
+sebserver.exam.form.description.tooltip=The description of the exam.
This description is defined on the corresponding LMS
+sebserver.exam.form.starttime=Start Time
+sebserver.exam.form.starttime.tooltip=The start time of the exam.
This time is set on the corresponding LMS
+sebserver.exam.form.endtime=End Time
+sebserver.exam.form.endtime.tooltip=The end time of the exam.
This time is set on the corresponding LMS
+sebserver.exam.form.status=Status
+sebserver.exam.form.status.tooltip=The current status for the exam.
Either "Up Coming" for an exam that has not yet been started,
"Running" for an exam that is currently running
or "Finished" for an exam that has already been finished yet
+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.sebrestriction.title=SEB Restriction Details
+sebserver.exam.form.sebrestriction.title.subtitle=
+sebserver.exam.form.sebrestriction.info=Info
+sebserver.exam.form.sebrestriction.info-text=A detailed description of the SEB restriction can be found within this page:
https://seb-openedx.readthedocs.io/en/latest/usage.html
+sebserver.exam.form.sebrestriction.configKeys=Config Keys
+sebserver.exam.form.sebrestriction.configKeys.tooltip=A comma-separated list of SEB Config Keys that are automatically generated from the attached SEB exam configurations
and are checked by the LMS for the restricted SEB access for every request
+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.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.whiteListPaths.ABOUT=About
+sebserver.exam.form.sebrestriction.whiteListPaths.ABOUT.tooltip=The "About" section of the Open edX course
+sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_OUTLINE=Course Outline
+sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_OUTLINE.tooltip=The outline section of the Open edX course
+sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_WARE=Course Ware
+sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_WARE.tooltip=The actual course and course content
+sebserver.exam.form.sebrestriction.whiteListPaths.DISCUSSION=Discussion
+sebserver.exam.form.sebrestriction.whiteListPaths.DISCUSSION.tooltip=The discussion section of the Open edX course
+sebserver.exam.form.sebrestriction.whiteListPaths.PROGRESS=Progress
+sebserver.exam.form.sebrestriction.whiteListPaths.PROGRESS.tooltip=The progress overview of the Open edX course
+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.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_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_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.type.UNDEFINED=Not Defined
+sebserver.exam.type.UNDEFINED.tooltip=No exam type specified
+sebserver.exam.type.MANAGED=Managed Devices
+sebserver.exam.type.MANAGED.tooltip=Exam type specified for managed devices
+sebserver.exam.type.BYOD=Bring Your Own Device
+sebserver.exam.type.BYOD.tooltip=Exam type specified for bring your own devices
+sebserver.exam.type.VDI=VDI (Virtual Desktop Infrastructure)
+sebserver.exam.type.VDI.tooltip=Exam type specified for Virtual Desktop Infrastructure
+
+sebserver.exam.status.UP_COMING=Up Coming
+sebserver.exam.status.RUNNING=Running
+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.column.name=Name
+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.status=Status
+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
+
+sebserver.exam.configuration.action.list.new=Add Exam Configuration
+sebserver.exam.configuration.action.list.modify=Edit Configuration
+sebserver.exam.configuration.action.list.view=View Configuration
+sebserver.exam.configuration.action.list.delete=Delete Configuration
+sebserver.exam.configuration.action.save=Save Configuration
+sebserver.exam.configuration.action.export-config=Export Configuration
+sebserver.exam.configuration.action.get-config-key=Export Config Key
+
+sebserver.exam.configuration.form.title.new=Add exam configuration mapping
+sebserver.exam.configuration.form.title=Exam Configuration Mapping
+sebserver.exam.configuration.form.name=Exam Configuration
+sebserver.exam.configuration.form.name.tooltip=Please select an exam configuration to attach to the exam
+sebserver.exam.configuration.form.encryptSecret=Encryption Password
+sebserver.exam.configuration.form.encryptSecret.tooltip=Define an encryption password if the exam configuration should be encrypted by password
+sebserver.exam.configuration.form.description=Description
+sebserver.exam.configuration.form.description.tooltip=The description of the selected exam configuration
+sebserver.exam.configuration.form.status=Status
+sebserver.exam.configuration.form.status.tooltip=The current status of the selected exam configuration
+sebserver.exam.configuration.form.encryptSecret.confirm=Confirm Password
+sebserver.exam.configuration.form.encryptSecret.confirm.tooltip=Please confirm the encryption password if there is one
+
+sebserver.exam.indicator.list.actions=
+sebserver.exam.indicator.list.title=Indicators
+sebserver.exam.indicator.list.title.tooltip=A list of indicators that are shown on the exam monitoring view
+sebserver.exam.indicator.list.column.type=Type
+sebserver.exam.indicator.list.column.type.tooltip=The type of indicator
+sebserver.exam.indicator.list.column.name=Name
+sebserver.exam.indicator.list.column.name.tooltip=The name of the indicator
+sebserver.exam.indicator.list.column.thresholds=Thresholds
+sebserver.exam.indicator.list.column.thresholds.tooltip=The thresholds of the indicator
+sebserver.exam.indicator.list.empty=There is currently no indicator defined for this exam. Please create a new one
+sebserver.exam.indicator.list.pleaseSelect=At first please select an indicator from the list
+
+sebserver.exam.indicator.type.LAST_PING=Last Ping Time
+sebserver.exam.indicator.type.ERROR_COUNT=Errors
+sebserver.exam.indicator.type.WARN_COUNT=Warnings
+sebserver.exam.indicator.type.description.LAST_PING=This indicator shows the time in milliseconds since
the last ping has been received from a SEB Client.
This indicator can be used to track a SEB Client connection and indicate connection loss.
The value is in milliseconds.
+sebserver.exam.indicator.type.description.ERROR_COUNT=This indicator shows the number of error log messages that
has been received from a SEB Client.
This indicator can be used to track errors of connected SEB Clients
The value is natural numbers.
+sebserver.exam.indicator.type.description.WARN_COUNT=This indicator shows the number of warn log messages that
has been received from a SEB Client.
This indicator can be used to track warnings of connected SEB Clients
The value is natural numbers.
+
+
+sebserver.exam.indicator.info.pleaseSelect=At first please select an indicator from the list
+
+sebserver.exam.indicator.action.list.new=Add Indicator
+sebserver.exam.indicator.action.list.modify=Edit Selected Indicator
+sebserver.exam.indicator.action.list.delete=Delete Selected Indicator
+sebserver.exam.indicator.action.save=Save
+
+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.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.description=Type Description
+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.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
+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.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.add=Add a new threshold
+sebserver.exam.indicator.thresholds.list.remove=Delete this threshold
+
+################################
+# Client configuration
+################################
+
+sebserver.clientconfig.list.empty=There is currently no client configuration available. Please create a new one.
+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.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.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.active=Status
+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.
+
+sebserver.clientconfig.form.title.new=Add Client Configuration
+sebserver.clientconfig.form.title=Client Configuration
+sebserver.clientconfig.form.title.subtitle=
+sebserver.clientconfig.form.name=Name
+sebserver.clientconfig.form.name.tooltip=The name of the client configuration.
Any name that not already is in use for another client configuration
+sebserver.clientconfig.form.fallback=With Fallback
+sebserver.clientconfig.form.fallback.tooltip=Indicates whether this client configuration has a fallback definition or not
+sebserver.clientconfig.form.fallback-url=Fallback Start URL
+sebserver.clientconfig.form.fallback-url.tooltip=A fallback URL that tells SEB where to go when the SEB Server service is unavailable.
+sebserver.clientconfig.form.sebServerFallbackTimeout=Connection Timeout
+sebserver.clientconfig.form.sebServerFallbackTimeout.tooltip=Defines the fallback timeout for SEB in milliseconds.
+sebserver.clientconfig.form.sebServerFallbackAttempts=Connection Attempts
+sebserver.clientconfig.form.sebServerFallbackAttempts.tooltip=The number of connection attempts a SEB is trying before switching to fallback case.
+sebserver.clientconfig.form.sebServerFallbackAttemptInterval=Interval
+sebserver.clientconfig.form.sebServerFallbackAttemptInterval.tooltip=The interval (in milliseconds) between connection attempts a SEB shall use.
+sebserver.clientconfig.form.sebServerFallbackPasswordHash=Fallback Password
+sebserver.clientconfig.form.sebServerFallbackPasswordHash.tooltip=A password if set a SEB Client user must provide before SEB starts the fallback procedure.
+sebserver.clientconfig.form.sebServerFallbackPasswordHash.confirm=Confirm Password
+sebserver.clientconfig.form.sebServerFallbackPasswordHash.tooltip.confirm=Please confirm the fallback password
+sebserver.clientconfig.form.hashedQuitPassword=Quit Password
+sebserver.clientconfig.form.hashedQuitPassword.tooltip=A password if set a SEB user must provide to be able to quit SEB.
+sebserver.clientconfig.form.hashedQuitPassword.confirm=Confirm Password
+sebserver.clientconfig.form.hashedQuitPassword.tooltip.confirm=Please confirm the quit password
+
+sebserver.clientconfig.form.date=Creation Date
+sebserver.clientconfig.form.date.tooltip=The date when the client configuration was first created.
+sebserver.clientconfig.form.encryptSecret=Configuration Password
+sebserver.clientconfig.form.encryptSecret.tooltip=Define a password if the client configuration shall be password-encrypted
+sebserver.clientconfig.form.encryptSecret.confirm=Confirm Password
+sebserver.clientconfig.form.encryptSecret.confirm.tooltip=Please retype the given password for confirmation
+sebserver.clientconfig.form.sebConfigPurpose=Configuration Purpose
+sebserver.clientconfig.form.sebConfigPurpose.tooltip=This indicates whether this client configuration shall be used to configure the SEB Client or to start an exam
+
+sebserver.clientconfig.config.purpose.START_EXAM=Starting an Exam
+sebserver.clientconfig.config.purpose.START_EXAM.tooltip=If the client configuration is loaded via a SEB-Link, the local configuration will not be overwritten.
+sebserver.clientconfig.config.purpose.CONFIGURE_CLIENT=Configure a Client
+sebserver.clientconfig.config.purpose.CONFIGURE_CLIENT.tooltip=If the client configuration is loaded via a SEB-Link, the local configuration will be overwritten by this configuration.
+
+sebserver.clientconfig.action.list.new=Add Client Configuration
+sebserver.clientconfig.action.list.view=View Client Configuration
+sebserver.clientconfig.action.list.modify=Edit Client Configuration
+sebserver.clientconfig.action.modify=Edit Client Configuration
+sebserver.clientconfig.action.save=Save Client Configuration
+sebserver.clientconfig.action.activate=Activate Client Configuration
+sebserver.clientconfig.action.deactivate=Deactivate Client Configuration
+sebserver.clientconfig.action.export=Export Client Configuration
+
+################################
+# SEB Exam Configuration
+################################
+
+sebserver.examconfig.action.list=Exam Configuration
+sebserver.examconfig.list.title=Exam Configurations
+sebserver.examconfig.list.title.subtitle=
+sebserver.examconfig.list.column.institution=Institution
+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.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.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.actions=
+
+sebserver.examconfig.list.empty=There is currently no Exam configuration available. Please create a new one
+sebserver.examconfig.info.pleaseSelect=At first please select an Exam Configuration from the list
+sebserver.examconfig.list.action.no.modify.privilege=No Access: An Exam Configuration from other institution cannot be modified.
+
+sebserver.examconfig.action.list.new=Add Exam Configuration
+sebserver.examconfig.action.list.view=View Exam Configuration
+
+sebserver.examconfig.action.list.modify.properties=Edit Exam Configuration
+sebserver.examconfig.action.modify=Edit SEB Settings
+sebserver.examconfig.action.view=View SEB Settings
+sebserver.examconfig.action.modify.properties=Edit Exam Configuration
+sebserver.examconfig.action.view.properties=View Exam Configuration
+sebserver.examconfig.action.save=Save Exam Configuration
+sebserver.examconfig.action.saveToHistory=Save / Publish Settings
+sebserver.examconfig.action.saveToHistory.success=Exam configuration settings successfully saved in history.
+sebserver.examconfig.action.saveToHistory.integrity-violation=There is currently at least one running Exam with active SEB client connections that uses this configuration.
Modifying a configuration that is currently in use would lead to inconsistency and is therefore not allowed.
Please make sure that the configuration is not in use before applying changes.
+sebserver.examconfig.action.undo=Undo
+sebserver.examconfig.action.undo.success=Successfully reverted exam configuration settings to last saved state
+sebserver.examconfig.action.copy=Copy Exam Configuration
+sebserver.examconfig.action.copy.dialog=Exam Configuration
+sebserver.examconfig.action.copy-as-template=Save As Template
+sebserver.examconfig.action.copy-as-template.dialog=Configuration Template
+sebserver.examconfig.action.export.plainxml=Export Exam Configuration
+sebserver.examconfig.action.get-config-key=Export Config Key
+sebserver.examconfig.action.import-config=Import Exam Configuration
+sebserver.examconfig.action.import-file-select=Import From File
+sebserver.examconfig.action.import-file-password=Password
+sebserver.examconfig.action.import-config.confirm=Exam Configuration successfully imported
+sebserver.examconfig.action.import.missing-password=Missing Password: The chosen exam configuration is password-protected.
Please choose it again and provide the correct password within the password field.
+sebserver.examconfig.action.state-change.confirm=This configuration is already attached to an exam.
Please note that changing an attached configuration will take effect on the exam when the configuration changes are saved
Are you sure to change this configuration to an editable state?
+
+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.description=Description
+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.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.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.
+
+sebserver.examconfig.status.CONSTRUCTION=Under Construction
+sebserver.examconfig.status.READY_TO_USE=Ready To Use
+sebserver.examconfig.status.IN_USE=In Use
+
+sebserver.examconfig.props.from.title=Exam Configuration Settings ({0})
+sebserver.examconfig.props.from.title.subtitle=
+sebserver.examconfig.props.form.views.general=General
+sebserver.examconfig.props.form.views.user_interface=User Interface
+sebserver.examconfig.props.form.views.browser=Browser
+sebserver.examconfig.props.form.views.down_upload=Down/Uploads
+sebserver.examconfig.props.form.views.exam=Exam
+sebserver.examconfig.props.form.views.applications=Applications
+sebserver.examconfig.props.form.views.resources=Additional Resources
+sebserver.examconfig.props.form.views.network=Network
+sebserver.examconfig.props.form.views.security=Security
+sebserver.examconfig.props.form.views.registry=Registry
+sebserver.examconfig.props.form.views.hooked_keys=Hooked Keys
+
+
+sebserver.examconfig.props.label.hashedAdminPassword=Administrator password
+sebserver.examconfig.props.label.hashedAdminPassword.confirm=Confirm password
+sebserver.examconfig.props.label.allowQuit=Allow user to quit SEB
+sebserver.examconfig.props.label.allowQuit.tooltip=Users can quit SEB with Control-Q, window close or quit button.
Otherwise use a quit link in your exam system or shutdown/restart the computer.
+sebserver.examconfig.props.label.ignoreExitKeys=Ignore exit keys
+sebserver.examconfig.props.label.ignoreExitKeys.tooltip=SEB ignores the exit keys and can only be quit manually by entering the quit password.
(click Quit button in SEB taskbar, press Ctrl-Q or click the main browser window close button)
+sebserver.examconfig.props.label.hashedQuitPassword=Quit/unlock password
+sebserver.examconfig.props.label.hashedQuitPassword.confirm=Confirm password
+sebserver.examconfig.props.group.exitSequence=Exit Sequence
+
+sebserver.examconfig.props.label.exitKey.0=F1
+sebserver.examconfig.props.label.exitKey.1=F2
+sebserver.examconfig.props.label.exitKey.2=F3
+sebserver.examconfig.props.label.exitKey.3=F4
+sebserver.examconfig.props.label.exitKey.4=F5
+sebserver.examconfig.props.label.exitKey.5=F6
+sebserver.examconfig.props.label.exitKey.6=F7
+sebserver.examconfig.props.label.exitKey.7=F8
+sebserver.examconfig.props.label.exitKey.8=F9
+sebserver.examconfig.props.label.exitKey.9=F10
+sebserver.examconfig.props.label.exitKey.10=F11
+sebserver.examconfig.props.label.exitKey.11=F12
+
+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.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
+sebserver.examconfig.props.label.enableTouchExit.tooltip=SEB can be quit by a swipe down from the upper display edge
+
+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.mainBrowserWindowHeight=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
+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.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.group.taskbar=SEB Taskbar/Dock
+sebserver.examconfig.props.label.showTaskBar=Show SEB taskbar
+sebserver.examconfig.props.label.showTaskBar.tooltip=The SEB task bar shows and switches between open browser windows,
allowed resources and applications and displays additional controls
+sebserver.examconfig.props.label.taskBarHeight=Taskbar/dock height
+sebserver.examconfig.props.label.taskBarHeight.tooltip=Height of SEB dock/task bar in points/pixels
+sebserver.examconfig.props.label.allowWlan=Show Wi-Fi control (Win)
+sebserver.examconfig.props.label.allowWlan.tooltip=Allows to reconnect to WiFi networks which have previously been connected to
+sebserver.examconfig.props.label.showReloadButton=Show reload button
+sebserver.examconfig.props.label.showReloadButton.tooltip=Reloads current web page. Shows warning if enabled in Browser settings tab
+sebserver.examconfig.props.label.showTime=Show time
+sebserver.examconfig.props.label.showTime.tooltip=Show current time
+sebserver.examconfig.props.label.showInputLanguage=Show keyboard layout
+sebserver.examconfig.props.label.showInputLanguage.tooltip=Shows current keyboard layout and allows to switch between other active keyboard layouts
+
+sebserver.examconfig.props.group.zoom=Enable Zoom (Win/Mac)
+sebserver.examconfig.props.label.enableZoomPage=Enable page zoom
+sebserver.examconfig.props.label.enableZoomPage.tooltip=Pages can be zoomed with ctrl - cmd +/-
or the commands in the view menu and browser window toolbar (Mac)
+sebserver.examconfig.props.label.enableZoomText=Enable text zoom
+sebserver.examconfig.props.label.enableZoomText.tooltip=Text in browser windows can be zoomed with cmd +/-
or the commands in the view menu and browser window toolbar (Mac)
+sebserver.examconfig.props.group.zoomMode=Zoom Mode Win (Ctrl-Mousewheel)
+sebserver.examconfig.props.label.zoomMode.0=Use page zoom
+sebserver.examconfig.props.label.zoomMode.0.tooltip=Zoom whole web pages using Ctrl-Mousewheel (Win)"
+sebserver.examconfig.props.label.zoomMode.1=Use text zoom
+sebserver.examconfig.props.label.zoomMode.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win)
+
+sebserver.examconfig.props.group.audio=Audio Control
+sebserver.examconfig.props.label.audioControlEnabled=Enable audio controls
+sebserver.examconfig.props.label.audioControlEnabled.tooltip=Displays an audio control in the SEB taskbar
+sebserver.examconfig.props.label.audioMute=Mute audio on startup
+sebserver.examconfig.props.label.audioMute.tooltip=The audio is muted when the SEB/exam starts
+sebserver.examconfig.props.label.audioSetVolumeLevel=Set initial volume level
+sebserver.examconfig.props.label.audioSetVolumeLevel.tooltip=The volume level after starting SEB/exam
+
+sebserver.examconfig.props.group.spellcheck=Spell Checker
+sebserver.examconfig.props.label.allowSpellCheck=Allow spell checking
+sebserver.examconfig.props.label.allowSpellCheck.tooltip=Allow to use "Check spelling" in the SEB browser
+sebserver.examconfig.props.label.allowDictionaryLookup=Allow dictionary lookup (Mac)
+sebserver.examconfig.props.label.allowDictionaryLookup.tooltip=Allow to use the OS X dictionary lookup using a 3 finger tap
+sebserver.examconfig.props.label.allowSpellCheckDictionary=The list below shows all dictionaries currently available for spell checking.
SEB comes with a list of standard dictionaries that can be activated/deactivated here.
+sebserver.examconfig.props.label.allowSpellCheckDictionary.da-DK=Danish (Denmark) (da-DK)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.en-AU=English (Australia) (en-AU)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.en-GB=English (United Kingdom) (en-GB)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.en-US=English (United States) (en-US)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.es-ES=Spanish (Spain) (es-ES)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.fr-FR=French (France) (fr-FR)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.pt-PT=Portuguese (Portugal) (pt-PT)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.sv-SE=Swedish (Sweden)
+sebserver.examconfig.props.label.allowSpellCheckDictionary.sv-FI=Swedish (Finland)
+
+sebserver.examconfig.props.group.newBrowserWindow=Links requesting to be opened in a new browser window (Mac)
+sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.0=get generally blocked
+sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.1=open in same window
+sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.2=open in new window
+sebserver.examconfig.props.label.newBrowserWindowByLinkBlockForeign=Block when directing
to a different server
+sebserver.examconfig.props.label.newBrowserWindowByLinkBlockForeign.tooltip=USE WITH CARE: Hyperlinks invoked by JavaScript/plug-ins
which direct to a different host than the one of the current main page will be ignored.
+
+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.newBrowserWindowByLinkHeight=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
+sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.2=Right
+
+sebserver.examconfig.props.group.browserSecurity=Browser security
+sebserver.examconfig.props.label.enablePlugIns=Enable plug-ins (Win: only Flash)
+sebserver.examconfig.props.label.enablePlugIns.tooltip=Enables web plugins (Mac) or just Flash (Win).
For security reasons it\'s recommended to disable this option if you don\'t use any plugin/Flash content.
+sebserver.examconfig.props.label.enableJavaScript=Enable JavaScript
+sebserver.examconfig.props.label.enableJavaScript.tooltip=Enables JavaScript.
Please note that most modern websites need JavaScript for full functionality.
+sebserver.examconfig.props.label.enableJava=Enable Java
+sebserver.examconfig.props.label.enableJava.tooltip=Enables Java applets.
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.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)
+sebserver.examconfig.props.label.allowAudioCapture.tooltip=Allow web applications to access microphone
+sebserver.examconfig.props.label.allowBrowsingBackForward=Allow navigating back/forward in exam
+sebserver.examconfig.props.label.allowBrowsingBackForward.tooltip=Disabling browsing to previously visited pages may increase security,
because browsing back might allow to leave an exam
+sebserver.examconfig.props.label.newBrowserWindowNavigation=Allow navigating in additional windows
+sebserver.examconfig.props.label.browserWindowAllowReload=Allow reload exam
+sebserver.examconfig.props.label.browserWindowAllowReload.tooltip=Allow reload in the exam window with F5 reload button (if displayed)
+sebserver.examconfig.props.label.newBrowserWindowAllowReload=Allow reload in additional windows
+sebserver.examconfig.props.label.newBrowserWindowAllowReload.tooltip=Allow reload in additional window with F5 reload button (if displayed)
+sebserver.examconfig.props.label.showReloadWarning=Show reload warning in exam
+sebserver.examconfig.props.label.showReloadWarning.tooltip=User has to confirm reloading a web page with F5 or reload button
+sebserver.examconfig.props.label.newBrowserWindowShowReloadWarning=Show reload warning in additional windows
+sebserver.examconfig.props.label.newBrowserWindowShowReloadWarning.tooltip=User has to confirm reloading a web page with F5 or reload button
+sebserver.examconfig.props.label.removeBrowserProfile=Remove profile (Win)
+sebserver.examconfig.props.label.removeBrowserProfile.tooltip=Remove XULRunner browser profile (containing caches and also local storage) when quitting SEB
+sebserver.examconfig.props.label.removeLocalStorage=Disable local storage (Mac)
+sebserver.examconfig.props.label.removeLocalStorage.tooltip=If your web application uses local storage, you have to be sure data is saved encrypted
and removed when no longer needed as SEB doesn't remove local storage
+
+sebserver.examconfig.props.label.browserUserAgent=Suffix to be added to any user agent
+sebserver.examconfig.props.group.userAgentDesktop=User agent for desktop mode
+sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.0=Desktop default
+sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.0.tooltip=Zoom whole web pages using Ctrl-Mousewheel (Win)
+sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.1=Custom
+sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win)
+sebserver.examconfig.props.label.browserUserAgentWinDesktopModeCustom.tooltip=Custom desktop user agent string
(SEB appends its version number automatically)
+
+sebserver.examconfig.props.group.userAgentTouch=User agent for touch/tablet mode
+sebserver.examconfig.props.label.browserUserAgentWinTouchMode.0=Touch default
+sebserver.examconfig.props.label.browserUserAgentWinTouchMode.1=iPad
+sebserver.examconfig.props.label.browserUserAgentWinTouchMode.2=Custom
+sebserver.examconfig.props.label.browserUserAgentWinTouchMode.2.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win)
+
+sebserver.examconfig.props.group.userAgentMac=User agent (Mac)
+sebserver.examconfig.props.label.browserUserAgentMac.0=Default (depends on installed Safari/WebKit version)
+sebserver.examconfig.props.label.browserUserAgentMac.1=Custom
+sebserver.examconfig.props.label.browserUserAgentMac.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win)
+
+sebserver.examconfig.props.label.enableSebBrowser=Enable SEB with browser window
+sebserver.examconfig.props.label.enableSebBrowser.tooltip=Disable this to start another application in kiosk mode
(for example a virtual desktop infrastructure client)
+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.downloadDirectoryWin=Download directory (Win)
+sebserver.examconfig.props.label.downloadDirectoryOSX=Download directory (Mac)
+sebserver.examconfig.props.label.openDownloads=Open files after downloading (Mac)
+sebserver.examconfig.props.label.chooseFileToUploadPolicy=Choose file to upload (Mac)
+sebserver.examconfig.props.label.chooseFileToUploadPolicy.tooltip=SEB can let users choose the file to upload or automatically use the same file which was down-loaded before.
If not found, a file requester or an error is presented depending on this setting.
+sebserver.examconfig.props.label.chooseFileToUploadPolicy.0=manually with file requester
+sebserver.examconfig.props.label.chooseFileToUploadPolicy.1=by attempting to upload the same file downloaded before
+sebserver.examconfig.props.label.chooseFileToUploadPolicy.2=by only allowing to upload the same file downloaded before
+sebserver.examconfig.props.label.downloadPDFFiles=Download and open PDF files instead of displaying them inline (Mac)
+sebserver.examconfig.props.label.downloadPDFFiles.tooltip=PDF files will not be displayed by SEB but downloaded and openend (if "Open files after downloading" is active!)
by the application set in Finder (usually Preview or Adobe Acrobat).
+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.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.
+sebserver.examconfig.props.label.examSessionClearCookiesOnStart=Clear browser session when starting an exam or staring SEB
+sebserver.examconfig.props.label.examSessionClearCookiesOnEnd=Clear browser session when ending an exam or terminating SEB
(prevents deletion of browser cache if deactivated!)
+
+sebserver.examconfig.props.group.quitLink=Link to quit SEB after exam
+sebserver.examconfig.props.label.quitURL=Place this quit link to the 'feedback' page displayed after an exam was successfully finished.
Clicking that link will quit SEB without having to enter the quit password.
+sebserver.examconfig.props.label.quitURLConfirm=Ask user to confirm quitting
+
+sebserver.examconfig.props.group.backToStart=Back to Start Button
+sebserver.examconfig.props.group.backToStart.tooltip=The back to start button reloads the exam's Start URL
+sebserver.examconfig.props.label.restartExamUseStartURL=Use Start URL
+sebserver.examconfig.props.label.restartExamUseStartURL.tooltip=The back to start button reloads the exam's Start URL
+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.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.
+sebserver.examconfig.props.label.allowFlashFullscreen=Allow Flash to switch to fullscreen mode (Mac)
+sebserver.examconfig.props.label.permittedProcesses.add.tooltip=Add permitted process
+sebserver.examconfig.props.label.permittedProcesses.remove.tooltip=Remove selected permitted process
+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.os=OS
+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
+sebserver.examconfig.props.label.permittedProcesses.title.tooltip=Application title which is displayed in the application chooser.
Background processes don't have a title, because they can't be selected by users.
+sebserver.examconfig.props.label.permittedProcesses.description=Description
+sebserver.examconfig.props.label.permittedProcesses.description.tooltip=Optional, should explain what kind of process this is,
because this might not be obvious only from the executable's name.
+sebserver.examconfig.props.label.permittedProcesses.executable=Executable
+sebserver.examconfig.props.label.permittedProcesses.executable.tooltip=File name of the executable, which should not contain any parts of a file system path,
only the filename of the exe file (like calc.exe).
+sebserver.examconfig.props.label.permittedProcesses.originalName=Original Name
+sebserver.examconfig.props.label.permittedProcesses.allowedExecutables=Window handling process
+sebserver.examconfig.props.label.permittedProcesses.path=Path
+sebserver.examconfig.props.label.permittedProcesses.arguments=Arguments
+sebserver.examconfig.props.label.permittedProcesses.arguments.active=Active
+sebserver.examconfig.props.label.permittedProcesses.arguments.argument=Argument
+sebserver.examconfig.props.label.permittedProcesses.arguments.addAction=Add new argument
+sebserver.examconfig.props.label.permittedProcesses.arguments.removeAction=Remove this argument
+sebserver.examconfig.props.label.permittedProcesses.identifier=Identifier
+sebserver.examconfig.props.label.permittedProcesses.identifier.tooltip=(Sub) string in the title of the main window of a tricky third party application (Java, Acrobat etc.).
Mac OS X: Bundle identifier of the process in reverse domain notation.
+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.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
+sebserver.examconfig.props.label.permittedProcesses.strongKill=Force quit (risk of data loss)
+sebserver.examconfig.props.label.permittedProcesses.strongKill.tooltip=Terminate process in a not-nice way, which may cause data loss if the application had unsaved data
+
+sebserver.examconfig.props.label.prohibitedProcesses.add.tooltip=Add prohibited process
+sebserver.examconfig.props.label.prohibitedProcesses.remove.tooltip=Remove selected prohibited process
+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.os=OS
+sebserver.examconfig.props.label.prohibitedProcesses.os.0=macOS
+sebserver.examconfig.props.label.prohibitedProcesses.os.1=Win
+sebserver.examconfig.props.label.prohibitedProcesses.description=Description
+sebserver.examconfig.props.label.prohibitedProcesses.description.tooltip=Optional, to explain what kind of process this is,
because this might not be obvious only from the executable's name.
+sebserver.examconfig.props.label.prohibitedProcesses.executable=Executable
+sebserver.examconfig.props.label.prohibitedProcesses.executable.tooltip=File name of the executable, which should not contain any parts of a file system path,
only the filename of the exe file (like calc.exe).
+sebserver.examconfig.props.label.prohibitedProcesses.originalName=Original Name
+sebserver.examconfig.props.label.prohibitedProcesses.originalName.tooltip=Original file name (optional)
+sebserver.examconfig.props.label.prohibitedProcesses.identifier=Identifier
+sebserver.examconfig.props.label.prohibitedProcesses.identifier.tooltip=Title of the main window of a Java third party application.
Mac OS X: Bundle identifier of the process in reverse domain notation.
+sebserver.examconfig.props.label.prohibitedProcesses.strongKill=Force quit (risk of data loss)
+sebserver.examconfig.props.label.prohibitedProcesses.strongKill.tooltip=Terminate process in a not-nice way,
which may cause data loss if the application had unsaved data
+
+sebserver.examconfig.props.group.urlFilter=Filter
+sebserver.examconfig.props.label.URLFilterEnable=Activate URL Filtering
+sebserver.examconfig.props.label.URLFilterEnableContentFilter=Filter also embedded content
+sebserver.examconfig.props.label.URLFilterRules=Filter
+sebserver.examconfig.props.label.URLFilterRules.row.title=URL Filter
+sebserver.examconfig.props.label.URLFilterRules.active=Active
+sebserver.examconfig.props.label.URLFilterRules.regex=Regex
+sebserver.examconfig.props.label.URLFilterRules.expression=Expression
+sebserver.examconfig.props.label.URLFilterRules.action=Action
+sebserver.examconfig.props.label.URLFilterRules.action.0=Block
+sebserver.examconfig.props.label.URLFilterRules.action.1=Allow
+sebserver.examconfig.props.label.URLFilterRules.add.tooltip=Add new URL Filter
+sebserver.examconfig.props.label.URLFilterRules.remove.tooltip=Remove selected URL Filter
+
+sebserver.examconfig.props.group.proxies=Proxies
+sebserver.examconfig.props.label.proxySettingsPolicy=proxy settings policy
+sebserver.examconfig.props.label.proxySettingsPolicy.0=Use system proxy setting
+sebserver.examconfig.props.label.proxySettingsPolicy.0.tooltip=System proxy settings of the exam client computer are used
+sebserver.examconfig.props.label.proxySettingsPolicy.1=Use SEB proxy settings
+sebserver.examconfig.props.label.proxySettingsPolicy.1.tooltip=Proxy settings provided in these SEB settings are used
+sebserver.examconfig.props.label.proxies=Double-click a protocol to configure:
+sebserver.examconfig.props.label.ExcludeSimpleHostnames=Exclude simple hostnames
+sebserver.examconfig.props.label.ExceptionsList=Bypass proxy settings for these hosts and domains
+sebserver.examconfig.props.label.ExceptionsList.tooltip=Separate hosts / domains with comma
+sebserver.examconfig.props.label.FTPPassive=Use Passive FTP Mode (PASV)
+
+sebserver.examconfig.props.label.proxies.active=Active
+sebserver.examconfig.props.label.proxies.TABLE_ENTRY=Protocol
+sebserver.examconfig.props.label.autoDiscovery=Auto Proxy Discovery
+sebserver.examconfig.props.label.AutoDiscoveryEnabled=Auto discovery enabled
+sebserver.examconfig.props.label.autoConfiguration=Automatic Proxy Configuration
+sebserver.examconfig.props.label.AutoConfigurationEnabled=Auto configuration enabled
+sebserver.examconfig.props.label.AutoConfigurationURL=Proxy configuration file URL
+sebserver.examconfig.props.label.AutoConfigurationJavaScript=Proxy configuration JavaScript
+
+sebserver.examconfig.props.label.http=Web Proxy (HTTP)
+sebserver.examconfig.props.label.HTTPEnable=Web proxy enabled
+sebserver.examconfig.props.label.HTTPProxy=Web proxy server
+sebserver.examconfig.props.label.HTTPPort=Web proxy port
+sebserver.examconfig.props.label.HTTPRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.HTTPUsername=Username
+sebserver.examconfig.props.label.HTTPPassword=Password
+
+sebserver.examconfig.props.label.https=Secure Web Proxy (HTTPS)
+sebserver.examconfig.props.label.HTTPSEnable=Secure web proxy enabled
+sebserver.examconfig.props.label.HTTPSProxy=Secure web proxy server
+sebserver.examconfig.props.label.HTTPSPort=Secure web proxy port
+sebserver.examconfig.props.label.HTTPSRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.HTTPSUsername=Username
+sebserver.examconfig.props.label.HTTPSPassword=Password
+
+sebserver.examconfig.props.label.ftp=FTP Proxy
+sebserver.examconfig.props.label.FTPEnable=FTP proxy enabled
+sebserver.examconfig.props.label.FTPProxy=FTP proxy server
+sebserver.examconfig.props.label.FTPPort=FTP proxy port
+sebserver.examconfig.props.label.FTPRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.FTPUsername=Username
+sebserver.examconfig.props.label.FTPPassword=Password
+
+sebserver.examconfig.props.label.socks=SOCKS Proxy
+sebserver.examconfig.props.label.SOCKSEnable=SOCKS proxy enabled
+sebserver.examconfig.props.label.SOCKSProxy=SOCKS proxy server
+sebserver.examconfig.props.label.SOCKSPort=SOCKS proxy port
+sebserver.examconfig.props.label.SOCKSRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.SOCKSUsername=Username
+sebserver.examconfig.props.label.SOCKSPassword=Password
+
+sebserver.examconfig.props.label.rtsp=Streaming Proxy (RTSP)
+sebserver.examconfig.props.label.RTSPEnable=RTSP proxy enabled
+sebserver.examconfig.props.label.RTSPProxy=RTSP proxy server
+sebserver.examconfig.props.label.RTSPPort=RTSP proxy port
+sebserver.examconfig.props.label.RTSPRequiresPassword=Proxy server requires password
+sebserver.examconfig.props.label.RTSPUsername=Username
+sebserver.examconfig.props.label.RTSPPassword=Password
+
+
+sebserver.examconfig.props.group.servicePolicy=SEB Service policy
+sebserver.examconfig.props.label.sebServicePolicy.0=allow to run SEB without service
+sebserver.examconfig.props.label.sebServicePolicy.1=display warning when service is not running
+sebserver.examconfig.props.label.sebServicePolicy.2=allow to use SEB only with service
+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.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
+sebserver.examconfig.props.label.kioskMode.1.tooltip=This kiosk mode is compatible with some screen recording/proctoring software and the Windows onscreen keyboard.
+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.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)
+sebserver.examconfig.props.label.enablePrivateClipboard.tooltip=Private clipboard should always be used beside when working with third party application in managed/virtual machine
+
+sebserver.examconfig.props.group.logging=Logging
+sebserver.examconfig.props.label.enableLogging=Enable logging
+sebserver.examconfig.props.label.enableLogging.tooltip=The log can help debugging SEB (send it to the developers) and to find out about possible manipulations
+sebserver.examconfig.props.label.logDirectoryWin=Log file directory on Windows
+sebserver.examconfig.props.label.logDirectoryOSX=Log file directory on Mac
+
+sebserver.examconfig.props.group.macSettings=macOS specific settings
+sebserver.examconfig.props.label.minMacOSVersion=Enforce minimal macOS version:
+sebserver.examconfig.props.label.minMacOSVersion.0=OS X 10.7 Lion
+sebserver.examconfig.props.label.minMacOSVersion.1=OS X 10.8 Mountain Lion
+sebserver.examconfig.props.label.minMacOSVersion.2=OS X 10.9 Mavericks
+sebserver.examconfig.props.label.minMacOSVersion.3=OS X 10.10 Yosemite
+sebserver.examconfig.props.label.minMacOSVersion.4=OS X 10.11 El Capitan
+sebserver.examconfig.props.label.minMacOSVersion.5=OS X 10.12 Sierra
+sebserver.examconfig.props.label.minMacOSVersion.6=OS X 10.13 Hight Sierra
+sebserver.examconfig.props.label.minMacOSVersion.7=OS X 10.14 Mojave
+sebserver.examconfig.props.label.enableAppSwitcherCheck=Disable app switcher when starting
+sebserver.examconfig.props.label.enableAppSwitcherCheck.tooltip=SEB checks for the command key being held down while SEB is starting up. This prevents using the application switcher to mess with SEB\'s kiosk mode
+sebserver.examconfig.props.label.forceAppFolderInstall=Force installation in Applications folder
+sebserver.examconfig.props.label.forceAppFolderInstall.tooltip=SEB enforces to be installed in an Applications folder (/Applications or ~/Applications)
+sebserver.examconfig.props.label.allowUserAppFolderInstall=Allow also user's ~/Applications folder
+sebserver.examconfig.props.label.allowUserAppFolderInstall.tooltip=SEB can also be installed in the Applications folder of the current user (~/Applications)
+sebserver.examconfig.props.label.allowSiri=Allow to use Siri
+sebserver.examconfig.props.label.allowSiri.tooltip=If enabled, Siri can be used by tapping the menu bar icon, Touch Bar icon or shortcut set in System Preferences/Siri (default: hold command space). The Siri window won't be displayed though
+sebserver.examconfig.props.label.detectStoppedProcess=Detect when SEB process was stopped
+sebserver.examconfig.props.label.detectStoppedProcess.tooltip=SEB displays a lock screen (requiring to enter the quit/unlock password) if it detects its process was stopped, which can indicate manipulation
+sebserver.examconfig.props.label.allowDisplayMirroring=Allow display mirroring (affects also AirPlay Display)
+sebserver.examconfig.props.label.allowDisplayMirroring.tooltip=If not selected, SEB prevents to mirror the main display to another
+sebserver.examconfig.props.label.allowedDisplaysMaxNumber=Maximum allowed number of connected displays
+sebserver.examconfig.props.label.allowedDisplaysMaxNumber.tooltip=If more displays are connected, this are blanked with an orange full screen window
+sebserver.examconfig.props.label.allowedDisplayBuiltin=Use built-in display
+sebserver.examconfig.props.label.allowedDisplayBuiltin.tooltip=Use the built-in display (if available) when only one display is allowed or when switching off display mirroring
+sebserver.examconfig.props.label.logLevel=Log Level
+sebserver.examconfig.props.label.logLevel.tooltip=The log will contain the selected log level plus all levels with a lower value
+sebserver.examconfig.props.label.logLevel.0=Error
+sebserver.examconfig.props.label.logLevel.0.tooltip=Error includes fatal application and browser level errors
+sebserver.examconfig.props.label.logLevel.1=Warning
+sebserver.examconfig.props.label.logLevel.1.tooltip=Warning are non-fatal but non-expected or security affecting events
+sebserver.examconfig.props.label.logLevel.2=Info
+sebserver.examconfig.props.label.logLevel.2.tooltip=Info includes most user actions including all browser navigation actions
+sebserver.examconfig.props.label.logLevel.3=Debug
+sebserver.examconfig.props.label.logLevel.3.tooltip=Debug is reserved for information which is only necessary for in-deep program code debugging
+sebserver.examconfig.props.label.logLevel.4=Verbose
+sebserver.examconfig.props.label.logLevel.4.tooltip=Verbose level contains events of all levels
+
+sebserver.examconfig.props.group.registry=While running SEB
+sebserver.examconfig.props.group.registry.tooltip=Options in the Windows Security Screen invoked by Ctrl-Alt-Del
+sebserver.examconfig.props.label.insideSebEnableSwitchUser=Enable Switch User
+sebserver.examconfig.props.label.insideSebEnableSwitchUser.tooltip=Activates the button "Switch User"
+sebserver.examconfig.props.label.insideSebEnableLockThisComputer=Enable Lock this computer
+sebserver.examconfig.props.label.insideSebEnableLockThisComputer.tooltip=Activates the button "Lock this computer"
+sebserver.examconfig.props.label.insideSebEnableChangeAPassword=Enable Change a password
+sebserver.examconfig.props.label.insideSebEnableChangeAPassword.tooltip=Activates the button "Change a password..."
+sebserver.examconfig.props.label.insideSebEnableStartTaskManager=Enable Start Task Manager
+sebserver.examconfig.props.label.insideSebEnableStartTaskManager.tooltip=Activates the button "Start Task Manager"
+sebserver.examconfig.props.label.insideSebEnableLogOff=Enable Log off
+sebserver.examconfig.props.label.insideSebEnableLogOff.tooltip=Activates the button "Log off"
+sebserver.examconfig.props.label.insideSebEnableShutDown=Enable Shut down
+sebserver.examconfig.props.label.insideSebEnableShutDown.tooltip=Activates the button "Shutdown"
+sebserver.examconfig.props.label.insideSebEnableEaseOfAccess=Enable Ease of Access
+sebserver.examconfig.props.label.insideSebEnableEaseOfAccess.tooltip=Shows options when the button "Ease of Access" in the lower left corner is clicked,
which offers help e.g. to visually or aurally handicapped persons, like the Magnifier Glass.
+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.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.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.enableCtrlEsc=Enable Ctrl-Esc
+sebserver.examconfig.props.label.enableAltEsc=Enable Alt-Esc
+sebserver.examconfig.props.label.enableAltTab=Enable Alt-Tap
+sebserver.examconfig.props.label.enableAltF4=Enable Alt-F4
+sebserver.examconfig.props.label.enableStartMenu=Enable Start Menu
+sebserver.examconfig.props.label.enableRightMouse=Enable Right Mouse
+sebserver.examconfig.props.label.enableAltMouseWheel=Enable Alt-Mousewheel
+sebserver.examconfig.props.label.enableAltMouseWheel.tooltip=Corresponds to 'Allow browsing back/forward' in Browser pane. Disabling browsing to previously visited pages may increase security, because browsing back might allow to leave an exam
+
+sebserver.examconfig.props.group.functionKeys=Function Keys
+sebserver.examconfig.props.group.functionKeys.tooltip=Enable or block function keys. This doesn't have any effect on the SEB exit sequence. Depending on specific keyboards some function keys cannot be blocked.
+sebserver.examconfig.props.label.enableF1=Enable F1
+sebserver.examconfig.props.label.enableF2=Enable F2
+sebserver.examconfig.props.label.enableF3=Enable F3
+sebserver.examconfig.props.label.enableF4=Enable F4
+sebserver.examconfig.props.label.enableF5=Enable F5
+sebserver.examconfig.props.label.enableF6=Enable F6
+sebserver.examconfig.props.label.enableF7=Enable F7
+sebserver.examconfig.props.label.enableF8=Enable F8
+sebserver.examconfig.props.label.enableF9=Enable F9
+sebserver.examconfig.props.label.enableF10=Enable F10
+sebserver.examconfig.props.label.enableF11=Enable F11
+sebserver.examconfig.props.label.enableF12=Enable F12
+
+sebserver.examconfig.props.validation.password.confirm=Please enter correct confirm password
+sebserver.examconfig.props.validation.unexpected=Unexpected error happened. Value was not set correctly
+sebserver.examconfig.props.validation.IntegerTypeValidator=Invalid number
+sebserver.examconfig.props.validation.DecimalTypeValidator=Invalid decimal number
+sebserver.examconfig.props.validation.ExitKeySequenceValidator=Key is already in sequence
+sebserver.examconfig.props.validation.WindowsSizeValidator=Invalid number
+
+################################
+# SEB Exam Configuration Template
+################################
+
+sebserver.configtemplate.action.list=Configuration Template
+sebserver.configtemplate.list.title=Configuration Templates
+sebserver.configtemplate.list.title.subtitle=
+sebserver.configtemplate.list.empty=There is currently no SEB-Exam configuration template available. Please create a new one
+sebserver.configtemplate.list.actions=
+sebserver.configtemplate.list.action.no.modify.privilege=No Access: A Configuration Template from other institution cannot be modified.
+
+sebserver.configtemplate.info.pleaseSelect=At first please select an Exam Configuration template from the list
+
+sebserver.configtemplate.action.list.new=Add Configuration Template
+sebserver.configtemplate.action.list.view=View Configuration Template
+sebserver.configtemplate.action.view=View Configuration Template
+sebserver.configtemplate.action.list.modify=Edit Configuration Template
+sebserver.configtemplate.action.modify=Edit Configuration Template
+sebserver.configtemplate.action.create-config=Create Exam Configuration
+sebserver.configtemplate.action.create-config.dialog=Exam Configuration
+
+sebserver.configtemplate.form.title.new=Add Configuration Template
+sebserver.configtemplate.form.title=Configuration Template
+sebserver.configtemplate.form.title.subtitle=
+sebserver.configtemplate.form.name=Name
+sebserver.configtemplate.form.name.tooltip=The name of the SEB exam configuration template
+sebserver.configtemplate.form.description=Description
+sebserver.configtemplate.form.description.tooltip=The description of the SEB exam configuration template
+sebserver.configtemplate.action.save=Save Configuration Template
+
+sebserver.configtemplate.attr.type.TEXT_FIELD=Text Field
+sebserver.configtemplate.attr.type.PASSWORD_FIELD=Password Field
+sebserver.configtemplate.attr.type.TEXT_AREA=Text Area
+sebserver.configtemplate.attr.type.CHECKBOX=Checkbox
+sebserver.configtemplate.attr.type.SLIDER=Slider
+sebserver.configtemplate.attr.type.INTEGER=Number (Integer)
+sebserver.configtemplate.attr.type.DECIMAL=Number (Decimal)
+sebserver.configtemplate.attr.type.SINGLE_SELECTION=Single Selection
+sebserver.configtemplate.attr.type.COMBO_SELECTION=Combo Selection
+sebserver.configtemplate.attr.type.RADIO_SELECTION=Radio Selection
+sebserver.configtemplate.attr.type.MULTI_SELECTION=Multi Selection
+sebserver.configtemplate.attr.type.MULTI_CHECKBOX_SELECTION=Multi Selection (Checkbox)
+sebserver.configtemplate.attr.type.FILE_UPLOAD=File Upload
+sebserver.configtemplate.attr.type.TABLE=Table
+sebserver.configtemplate.attr.type.INLINE_TABLE=Table
+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.view=View
+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.type=Type
+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
+sebserver.configtemplate.attr.list.actions.setdefault=Set Default Values
+sebserver.configtemplate.attr.list.actions.removeview=Remove From View
+sebserver.configtemplate.attr.list.actions.attach-default-view=Attach To View
+sebserver.configtemplate.attr.info.pleaseSelect=At first please select an Attribute from the list
+
+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.type=Type
+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.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.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
+
+sebserver.configtemplate.attr.action.setdefault=Set Default Values
+sebserver.configtemplate.attr.action.template=View Configuration Template
+
+
+################################
+# Monitoring
+################################
+
+sebserver.monitoring.action.list=Running Exams
+sebserver.monitoring.exam.list.title=Running Exams
+sebserver.monitoring.exam.list.actions=
+sebserver.monitoring.exam.action.detail.view=Back To Monitoring
+sebserver.monitoring.exam.action.list.view=Monitoring
+
+
+sebserver.monitoring.exam.info.pleaseSelect=At first please select an Exam from the list
+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.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.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.endTime=End Time {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.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.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.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.status=Status
+sebserver.monitoring.connection.form.status.tooltip=The current connection status
+sebserver.monitoring.connection.form.exam=Exam
+sebserver.monitoring.connection.form.exam.tooltip=The exam name
+
+sebserver.monitoring.exam.connection.emptySelection=At first please select a Connection from the list
+sebserver.monitoring.exam.connection.emptySelection.active=At first please select an active Connection from the list
+sebserver.monitoring.exam.connection.title=SEB Client Connection
+sebserver.monitoring.exam.connection.list.actions=
+sebserver.monitoring.exam.connection.action.view=View Details
+sebserver.monitoring.exam.connection.action.instruction.quit=Quit SEB Client
+sebserver.monitoring.exam.connection.action.instruction.quit.selected=Quit Selected SEB Clients
+sebserver.monitoring.exam.connection.action.instruction.quit.all=Quit All SEB Clients
+sebserver.monitoring.exam.connection.action.instruction.quit.confirm=Are you sure to quit this SEB client connection?
+sebserver.monitoring.exam.connection.action.instruction.quit.selected.confirm=Are you sure to quit all selected, active SEB client connections?
+sebserver.monitoring.exam.connection.action.instruction.quit.all.confirm=Are you sure to quit all active SEB client connections?
+sebserver.monitoring.exam.connection.action.instruction.disable.selected.confirm=Are you sure to disable all selected SEB client connections?
+sebserver.monitoring.exam.connection.action.instruction.disable.all.confirm=Are you sure to disable all active SEB client connections?
+sebserver.monitoring.exam.connection.action.disable=Mark as Canceled
+sebserver.monitoring.exam.connection.action.hide.requested=Hide Requested
+sebserver.monitoring.exam.connection.action.show.requested=Show Requested
+sebserver.monitoring.exam.connection.action.hide.closed=Hide Closed
+sebserver.monitoring.exam.connection.action.show.closed=Show Closed
+sebserver.monitoring.exam.connection.action.hide.disabled=Hide Canceled
+sebserver.monitoring.exam.connection.action.show.disabled=Show Canceled
+sebserver.monitoring.exam.connection.action.hide.undefined=Hide Undefined
+sebserver.monitoring.exam.connection.action.show.undefined=Show Undefined
+
+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.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.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.value=Value
+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.event.type.UNKNOWN=Unknown
+sebserver.monitoring.exam.connection.event.type.DEBUG_LOG=Debug
+sebserver.monitoring.exam.connection.event.type.INFO_LOG=Info
+sebserver.monitoring.exam.connection.event.type.WARN_LOG=Warn
+sebserver.monitoring.exam.connection.event.type.ERROR_LOG=Error
+sebserver.monitoring.exam.connection.event.type.LAST_PING=Last Ping
+
+sebserver.monitoring.exam.connection.status.UNDEFINED=Undefined
+sebserver.monitoring.exam.connection.status.CONNECTION_REQUESTED=Connection Requested
+sebserver.monitoring.exam.connection.status.AUTHENTICATED=Authenticated
+sebserver.monitoring.exam.connection.status.ACTIVE=Active
+sebserver.monitoring.exam.connection.status.CLOSED=Closed
+sebserver.monitoring.exam.connection.status.ABORTED=Aborted
+sebserver.monitoring.exam.connection.status.DISABLED=Canceled
+
+################################
+# Logs
+################################
+
+sebserver.logs.activity.main=Logs
+sebserver.logs.activity.userlogs=User Logs
+sebserver.logs.activity.userlogs.details=Show Details
+sebserver.logs.activity.seblogs=SEB Client Logs
+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.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.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.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.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.form.user=User
+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.activityType=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.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.details.title=User Activity Log Details
+sebserver.userlogs.info.pleaseSelect=At first please select a User Log from the list
+sebserver.userlogs.list.actions=
+sebserver.userlogs.list.empty=No User activity logs can be found. Please adapt or clear the filter
+
+
+sebserver.seblogs.list.title=SEB Client Logs
+sebserver.seblogs.list.actions=
+sebserver.seblogs.list.empty=No SEB client logs available. Please adapt or clear the filter
+
+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.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.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.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.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.value=Value
+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
+sebserver.seblogs.details.connection.title=SEB Connection Details
+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.type=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.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.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.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.status=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.description=Description
+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
+sebserver.seblogs.form.column.exam.startTime.tooltip=The start date and time of the exam
+sebserver.seblogs.form.column.exam.endTime=End Time
+sebserver.seblogs.form.column.exam.endTime.tooltip=The end date and time of the exam
\ No newline at end of file
diff --git a/docker/prod/bundled/tls/docker-compose.yml b/docker/prod/bundled/tls/docker-compose.yml
new file mode 100644
index 00000000..3cd129be
--- /dev/null
+++ b/docker/prod/bundled/tls/docker-compose.yml
@@ -0,0 +1,83 @@
+version: '3.5'
+services:
+ seb-server-setup:
+ build:
+ context: .
+ dockerfile: setup.Dockerfile
+ container_name: seb-server-setup
+ volumes:
+ - seb-server-config:/config
+ - ./config:/host/config
+
+ mariadb:
+ image: "mariadb/server:10.3"
+ container_name: seb-server-mariadb
+ environment:
+ - MYSQL_ROOT_PASSWORD_FILE=/etc/mysql/conf.d/secret
+ ports:
+ - 3306:3306
+ volumes:
+ - seb-server-config:/etc/mysql/conf.d
+ - seb-server-mariadb:/var/lib/mysql
+ - ./config/mariadb/config.cnf:/etc/mysql/conf.d/config.cnf
+ networks:
+ - seb-server-network
+ restart: unless-stopped
+
+ seb-server:
+ build:
+ context: .
+ dockerfile: sebserver.Dockerfile
+ args:
+ - SEBSERVER_VERSION=1.0.0
+ container_name: seb-server
+ volumes:
+ - seb-server-config:/sebserver/config
+ - ./config/spring:/sebserver/config/spring
+ - seb-server-logs:/sebserver/log
+ environment:
+ - MONITORING_MODE=false
+ # - JMX_PORT=9090
+ # Connect this port to host if you want to use JMX (MONITORING_MODE=true)
+ #ports:
+ # - 9090:9090
+ logging:
+ driver: "json-file"
+ options:
+ mode: "non-blocking"
+ max-size: "200k"
+ max-file: "10"
+ networks:
+ - seb-server-network
+ depends_on:
+ - "mariadb"
+ - "seb-server-setup"
+ restart: unless-stopped
+
+ reverse-proxy:
+ image: "nginx:latest"
+ container_name: seb-server-proxy
+ volumes:
+ - ./config/nginx:/etc/nginx/conf.d
+ - ./config/nginx/certs:/sebserver/config/certs
+ ports:
+ - 443:443
+ networks:
+ - seb-server-network
+ depends_on:
+ - "mariadb"
+ - "seb-server"
+ - "seb-server-setup"
+ restart: unless-stopped
+
+networks:
+ seb-server-network:
+ name: seb-server-network
+
+volumes:
+ seb-server-config:
+ name: seb-server-config
+ seb-server-mariadb:
+ name: seb-server-mariadb
+ seb-server-logs:
+ name: seb-server-logs
\ No newline at end of file
diff --git a/docker/prod/bundled/tls/sebserver.Dockerfile b/docker/prod/bundled/tls/sebserver.Dockerfile
new file mode 100644
index 00000000..9c724095
--- /dev/null
+++ b/docker/prod/bundled/tls/sebserver.Dockerfile
@@ -0,0 +1,59 @@
+FROM alpine/git
+
+ARG SEBSERVER_VERSION
+ARG GIT_TAG="v${SEBSERVER_VERSION}"
+
+WORKDIR /sebserver
+RUN if [ "x${GIT_TAG}" = "x" ] ; \
+ then git clone --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; \
+ else git clone -b "$GIT_TAG" --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; fi
+
+FROM maven:latest
+
+ARG SEBSERVER_VERSION
+
+WORKDIR /sebserver
+COPY --from=0 /sebserver/seb-server /sebserver
+RUN mvn clean install -DskipTests -Dbuild-version="${SEBSERVER_VERSION}"
+
+FROM openjdk:11-jre-stretch
+
+ARG SEBSERVER_VERSION
+ENV SEBSERVER_JAR="seb-server-${SEBSERVER_VERSION}.jar"
+ENV SERVER_PORT="8080"
+ENV JMX_PORT=
+
+WORKDIR /sebserver
+COPY --from=1 /sebserver/target/"${SEBSERVER_JAR}" /sebserver
+
+CMD if [ "x${JMX_PORT}" = "x" ] ; \
+ then secret=$(cat /sebserver/config/secret) && exec java \
+ -Xms64M \
+ -Xmx1G \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=ws,gui,prod,prod-gui,prod-ws \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.certs.password="${secret}" \
+ --sebserver.mariadb.password="${secret}" \
+ --sebserver.password="${secret}" ; \
+ else secret=$(cat /sebserver/config/secret) && exec java \
+ -Xms64M \
+ -Xmx1G \
+ -Dcom.sun.management.jmxremote \
+ -Dcom.sun.management.jmxremote.port=${JMX_PORT} \
+ -Dcom.sun.management.jmxremote.rmi.port=${JMX_PORT} \
+ -Djava.rmi.server.hostname=localhost \
+ -Dcom.sun.management.jmxremote.local.only=false \
+ -Dcom.sun.management.jmxremote.ssl=false \
+ -Dcom.sun.management.jmxremote.authenticate=true \
+ -Dcom.sun.management.jmxremote.password.file=/sebserver/config/jmx/jmxremote.password \
+ -Dcom.sun.management.jmxremote.access.file=/sebserver/config/jmx/jmxremote.access \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=ws,gui,prod,prod-gui,prod-ws \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.certs.password="${secret}" \
+ --sebserver.mariadb.password="${secret}" \
+ --sebserver.password="${secret}" ; \
+ fi
+
+EXPOSE $SERVER_PORT $JMX_PORT
\ No newline at end of file
diff --git a/docker/prod/bundled/tls/setup.Dockerfile b/docker/prod/bundled/tls/setup.Dockerfile
new file mode 100644
index 00000000..09bf17c1
--- /dev/null
+++ b/docker/prod/bundled/tls/setup.Dockerfile
@@ -0,0 +1,6 @@
+FROM alpine:latest
+
+CMD cp -a /host/config/. /config/ \
+ && secret=$(cat /config/secret) \
+ && rm /host/config/secret \
+ && sudo chmod 777 /host/config/secret
\ No newline at end of file
diff --git a/docker/testing/basic/config/jmx/jmxremote.access b/docker/testing/basic/config/jmx/jmxremote.access
new file mode 100644
index 00000000..7280be99
--- /dev/null
+++ b/docker/testing/basic/config/jmx/jmxremote.access
@@ -0,0 +1,2 @@
+admin readwrite
+user readonly
\ No newline at end of file
diff --git a/docker/testing/basic/config/jmx/jmxremote.password b/docker/testing/basic/config/jmx/jmxremote.password
new file mode 100644
index 00000000..e69de29b
diff --git a/docker/testing/basic/config/mariadb/config.cnf b/docker/testing/basic/config/mariadb/config.cnf
new file mode 100644
index 00000000..9e0be744
--- /dev/null
+++ b/docker/testing/basic/config/mariadb/config.cnf
@@ -0,0 +1,15 @@
+[mysqld]
+# Disabling symbolic-links is recommended to prevent assorted security risks
+symbolic-links=0
+
+# network
+connect_timeout = 61
+wait_timeout = 28800
+max_connections = 100000
+max_allowed_packet = 256M
+max_connect_errors = 1000000
+
+skip_external_locking
+
+#memory
+innodb_buffer_pool_size=1G
diff --git a/docker/testing/basic/config/nginx/app.conf b/docker/testing/basic/config/nginx/app.conf
new file mode 100644
index 00000000..68eebce5
--- /dev/null
+++ b/docker/testing/basic/config/nginx/app.conf
@@ -0,0 +1,14 @@
+server {
+ listen 80;
+ charset utf-8;
+ access_log off;
+
+ location / {
+ proxy_pass http://seb-server:8080;
+ proxy_set_header Host $host:$server_port;
+ proxy_set_header X-Forwarded-Host $server_name;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ }
+
+}
diff --git a/docker/testing/basic/config/spring/application-prod.properties b/docker/testing/basic/config/spring/application-prod.properties
new file mode 100644
index 00000000..81c7b61a
--- /dev/null
+++ b/docker/testing/basic/config/spring/application-prod.properties
@@ -0,0 +1,72 @@
+##########################################################
+### Global Server Settings
+
+# Server address (set for docker internal)
+server.address=0.0.0.0
+# Server http port
+server.port=8080
+# The servlet context path
+server.servlet.context-path=/
+
+# Logging
+# Default logging level in the form "logging.level" + namespace=LEVEL
+logging.level.ch=DEBUG
+logging.file=/sebserver/log/sebserver.log
+
+##########################################################
+### SEB Server Webservice configuration
+
+sebserver.test.property=This is a staging/testing setup with no encryption
+
+# webservice database server connection
+datastore.mariadb.server.address=seb-server-mariadb
+datastore.mariadb.server.port=3306
+
+# data source configuration
+spring.datasource.hikari.initializationFailTimeout=30000
+spring.datasource.hikari.connectionTimeout=30000
+spring.datasource.hikari.idleTimeout=600000
+spring.datasource.hikari.maxLifetime=1800000
+
+### webservice networking
+sebserver.webservice.distributed=false
+sebserver.webservice.http.external.scheme=http
+sebserver.webservice.http.external.servername=
+sebserver.webservice.http.external.port=
+sebserver.webservice.http.redirect.gui=/gui
+
+# webservice API
+sebserver.webservice.api.admin.endpoint=/admin-api/v1
+sebserver.webservice.api.admin.accessTokenValiditySeconds=3600
+sebserver.webservice.api.admin.refreshTokenValiditySeconds=25200
+sebserver.webservice.api.exam.config.init.permittedProcesses=config/initialPermittedProcesses.xml
+sebserver.webservice.api.exam.config.init.prohibitedProcesses=config/initialProhibitedProcesses.xml
+sebserver.webservice.api.exam.endpoint=/exam-api
+sebserver.webservice.api.exam.endpoint.discovery=${sebserver.webservice.api.exam.endpoint}/discovery
+sebserver.webservice.api.exam.endpoint.v1=${sebserver.webservice.api.exam.endpoint}/v1
+sebserver.webservice.api.exam.accessTokenValiditySeconds=3600
+sebserver.webservice.api.exam.event-handling-strategy=ASYNC_BATCH_STORE_STRATEGY
+sebserver.webservice.api.exam.enable-indicator-cache=true
+sebserver.webservice.api.pagination.maxPageSize=500
+# comma separated list of known possible OpenEdX API access token request endpoints
+sebserver.webservice.lms.openedx.api.token.request.paths=/oauth2/access_token
+
+##########################################################
+### SEB Server GUI configuration
+sebserver.gui.external.messages=file:/sebserver/config/spring/messages
+sebserver.gui.multilingual=false
+sebserver.gui.supported.languages=en
+sebserver.gui.theme=css/sebserver.css
+sebserver.gui.list.page.size=20
+sebserver.gui.date.displayformat=de
+
+sebserver.gui.entrypoint=/gui
+sebserver.gui.webservice.protocol=http
+sebserver.gui.webservice.address=localhost
+sebserver.gui.webservice.port=8080
+# defines the polling interval that is used to poll the webservice for client connection data on a monitored exam page
+sebserver.gui.webservice.poll-interval=1000
+sebserver.gui.webservice.mock-lms-enabled=true
+
+sebserver.gui.seb.client.config.download.filename=SEBServerSettings.seb
+sebserver.gui.seb.exam.config.download.filename=SEBExamSettings.seb
\ No newline at end of file
diff --git a/docker/testing/basic/config/spring/messages.properties b/docker/testing/basic/config/spring/messages.properties
new file mode 100644
index 00000000..18cf07fc
--- /dev/null
+++ b/docker/testing/basic/config/spring/messages.properties
@@ -0,0 +1,8 @@
+sebserver.overall.imprint=
+sebserver.overall.imprint.markup=
+sebserver.overall.about=About
+sebserver.overall.about.markup=SEB Server About Example
1. This is an example of how an About-Page can look like.
By simply define the markup HTML content within the messages.propertie configuration of specified language
+sebserver.overall.help=Documentation
+sebserver.overall.help.link=https://seb-server.readthedocs.io/en/latest/index.html
+
+sebserver.monitoring.exam.connection.action.disable=Mark as Canceled
\ No newline at end of file
diff --git a/docker/testing/basic/docker-compose.yml b/docker/testing/basic/docker-compose.yml
new file mode 100644
index 00000000..169e04ca
--- /dev/null
+++ b/docker/testing/basic/docker-compose.yml
@@ -0,0 +1,76 @@
+version: '3'
+services:
+ seb-server-setup:
+ build:
+ context: .
+ dockerfile: setup.Dockerfile
+ container_name: seb-server-setup
+ volumes:
+ - seb-server-config:/config
+ - ./config:/host/config
+
+ mariadb:
+ image: "mariadb/server:10.3"
+ container_name: seb-server-mariadb
+ environment:
+ - MYSQL_ROOT_PASSWORD_FILE=/etc/mysql/conf.d/secret
+ # workaround: https://github.com/docker-library/mariadb/issues/262
+ # TODO this seems to be fixed now... try to remove and test
+ - MYSQL_INITDB_SKIP_TZINFO=1
+ ports:
+ - 3306:3306
+ volumes:
+ - seb-server-config:/etc/mysql/conf.d
+ - seb-server-mariadb:/var/lib/mysql
+ - ./config/mariadb/config.cnf:/etc/mysql/conf.d/config.cnf
+ networks:
+ - seb-server-network
+ restart: unless-stopped
+
+ seb-server:
+ build:
+ context: .
+ dockerfile: sebserver.Dockerfile
+ args:
+ - SEBSERVER_VERSION=1.0-latest
+ container_name: seb-server
+ volumes:
+ - seb-server-config:/sebserver/config
+ - ./config/spring:/sebserver/config/spring
+ environment:
+ - JMX_PORT=9090
+ ports:
+ - 9090:9090
+ logging:
+ driver: "json-file"
+ options:
+ max-size: "200k"
+ max-file: "10"
+ networks:
+ - seb-server-network
+ depends_on:
+ - "mariadb"
+ - "seb-server-setup"
+ restart: unless-stopped
+
+ reverse-proxy:
+ image: "nginx:latest"
+ container_name: seb-server-proxy
+ volumes:
+ - ./config/nginx:/etc/nginx/conf.d
+ ports:
+ - 80:80
+ networks:
+ - seb-server-network
+ depends_on:
+ - "mariadb"
+ - "seb-server"
+ - "seb-server-setup"
+ restart: unless-stopped
+
+networks:
+ seb-server-network:
+
+volumes:
+ seb-server-config:
+ seb-server-mariadb:
\ No newline at end of file
diff --git a/docker/testing/basic/sebserver.Dockerfile b/docker/testing/basic/sebserver.Dockerfile
new file mode 100644
index 00000000..9c724095
--- /dev/null
+++ b/docker/testing/basic/sebserver.Dockerfile
@@ -0,0 +1,59 @@
+FROM alpine/git
+
+ARG SEBSERVER_VERSION
+ARG GIT_TAG="v${SEBSERVER_VERSION}"
+
+WORKDIR /sebserver
+RUN if [ "x${GIT_TAG}" = "x" ] ; \
+ then git clone --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; \
+ else git clone -b "$GIT_TAG" --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; fi
+
+FROM maven:latest
+
+ARG SEBSERVER_VERSION
+
+WORKDIR /sebserver
+COPY --from=0 /sebserver/seb-server /sebserver
+RUN mvn clean install -DskipTests -Dbuild-version="${SEBSERVER_VERSION}"
+
+FROM openjdk:11-jre-stretch
+
+ARG SEBSERVER_VERSION
+ENV SEBSERVER_JAR="seb-server-${SEBSERVER_VERSION}.jar"
+ENV SERVER_PORT="8080"
+ENV JMX_PORT=
+
+WORKDIR /sebserver
+COPY --from=1 /sebserver/target/"${SEBSERVER_JAR}" /sebserver
+
+CMD if [ "x${JMX_PORT}" = "x" ] ; \
+ then secret=$(cat /sebserver/config/secret) && exec java \
+ -Xms64M \
+ -Xmx1G \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=ws,gui,prod,prod-gui,prod-ws \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.certs.password="${secret}" \
+ --sebserver.mariadb.password="${secret}" \
+ --sebserver.password="${secret}" ; \
+ else secret=$(cat /sebserver/config/secret) && exec java \
+ -Xms64M \
+ -Xmx1G \
+ -Dcom.sun.management.jmxremote \
+ -Dcom.sun.management.jmxremote.port=${JMX_PORT} \
+ -Dcom.sun.management.jmxremote.rmi.port=${JMX_PORT} \
+ -Djava.rmi.server.hostname=localhost \
+ -Dcom.sun.management.jmxremote.local.only=false \
+ -Dcom.sun.management.jmxremote.ssl=false \
+ -Dcom.sun.management.jmxremote.authenticate=true \
+ -Dcom.sun.management.jmxremote.password.file=/sebserver/config/jmx/jmxremote.password \
+ -Dcom.sun.management.jmxremote.access.file=/sebserver/config/jmx/jmxremote.access \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=ws,gui,prod,prod-gui,prod-ws \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.certs.password="${secret}" \
+ --sebserver.mariadb.password="${secret}" \
+ --sebserver.password="${secret}" ; \
+ fi
+
+EXPOSE $SERVER_PORT $JMX_PORT
\ No newline at end of file
diff --git a/docker/testing/basic/setup.Dockerfile b/docker/testing/basic/setup.Dockerfile
new file mode 100644
index 00000000..09bf17c1
--- /dev/null
+++ b/docker/testing/basic/setup.Dockerfile
@@ -0,0 +1,6 @@
+FROM alpine:latest
+
+CMD cp -a /host/config/. /config/ \
+ && secret=$(cat /config/secret) \
+ && rm /host/config/secret \
+ && sudo chmod 777 /host/config/secret
\ No newline at end of file
diff --git a/docker/testing/distributed/db/docker-compose.yml b/docker/testing/distributed/db/docker-compose.yml
new file mode 100644
index 00000000..bb920600
--- /dev/null
+++ b/docker/testing/distributed/db/docker-compose.yml
@@ -0,0 +1,26 @@
+version: '3.5'
+services:
+ mariadb:
+ image: "mariadb/server:10.3"
+ container_name: seb-server-mariadb
+ environment:
+ - MYSQL_ROOT_PASSWORD=somePW
+ # workaround: https://github.com/docker-library/mariadb/issues/262
+ # TODO this seems to be fixed now... try to remove and test
+ - MYSQL_INITDB_SKIP_TZINFO=1
+ volumes:
+ - mariadb-data:/var/lib/mysql
+ - ./mariadb:/etc/mysql/conf.d
+ ports:
+ - 3306:3306
+ networks:
+ - seb-server-network
+ restart: unless-stopped
+
+volumes:
+ mariadb-data:
+ name: seb-server-data
+
+networks:
+ seb-server-network:
+ name: seb-server-network
\ No newline at end of file
diff --git a/docker/testing/distributed/db/mariadb/config.cnf b/docker/testing/distributed/db/mariadb/config.cnf
new file mode 100644
index 00000000..56aac3cd
--- /dev/null
+++ b/docker/testing/distributed/db/mariadb/config.cnf
@@ -0,0 +1,10 @@
+[mysqld]
+# Disabling symbolic-links is recommended to prevent assorted security risks
+symbolic-links=0
+
+# network
+connect_timeout = 61
+wait_timeout = 28800
+max_connections = 100000
+max_allowed_packet = 64M
+max_connect_errors = 1000
\ No newline at end of file
diff --git a/docker/testing/distributed/guiservice/config/spring/application-prod.properties b/docker/testing/distributed/guiservice/config/spring/application-prod.properties
new file mode 100644
index 00000000..6cb95ee1
--- /dev/null
+++ b/docker/testing/distributed/guiservice/config/spring/application-prod.properties
@@ -0,0 +1,44 @@
+spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
+
+##########################################################
+### Global Server Settings
+
+# Server address (set for docker internal)
+server.address=0.0.0.0
+# Server http port
+server.port=8080
+# The servlet context path
+server.servlet.context-path=/
+
+# Logging
+# Default logging level in the form "logging.level" + namespace=LEVEL
+logging.level.ROOT=WARN
+logging.level.ch=DEBUG
+logging.file=/sebserver/log/sebserver.log
+logging.config=/sebserver/config/spring/logback-prod.xml
+
+##########################################################
+### SEB Server GUI configuration
+sebserver.gui.http.external.scheme=TO-SET
+sebserver.gui.http.external.servername=TO-SET
+sebserver.gui.http.external.port=TO-SET
+
+sebserver.gui.external.messages=file:/sebserver/config/spring/messages
+sebserver.gui.multilingual=false
+sebserver.gui.supported.languages=en
+sebserver.gui.theme=css/sebserver.css
+sebserver.gui.list.page.size=20
+sebserver.gui.date.displayformat=de
+
+sebserver.gui.entrypoint=/gui
+sebserver.gui.webservice.protocol=http
+sebserver.gui.webservice.address=seb-server-proxy
+sebserver.gui.webservice.port=80
+# defines the polling interval that is used to poll the webservice for client connection data on a monitored exam page
+sebserver.gui.webservice.poll-interval=1000
+sebserver.gui.webservice.mock-lms-enabled=true
+
+sebserver.gui.seb.client.config.download.filename=SEBServerSettings.seb
+sebserver.gui.seb.exam.config.download.filename=SEBExamSettings.seb
+
+
diff --git a/docker/testing/distributed/guiservice/config/spring/logback-prod.xml b/docker/testing/distributed/guiservice/config/spring/logback-prod.xml
new file mode 100644
index 00000000..c05fb6e8
--- /dev/null
+++ b/docker/testing/distributed/guiservice/config/spring/logback-prod.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ %d{HH:mm:ss.SSS} %-5level [%thread]:[%logger] %msg%n
+
+
+
+
+ log/sebserver.log
+ true
+
+ %d{HH:mm:ss.SSS} %-5level [%thread]:[%logger] %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docker/testing/distributed/guiservice/config/spring/messages.properties b/docker/testing/distributed/guiservice/config/spring/messages.properties
new file mode 100644
index 00000000..18cf07fc
--- /dev/null
+++ b/docker/testing/distributed/guiservice/config/spring/messages.properties
@@ -0,0 +1,8 @@
+sebserver.overall.imprint=
+sebserver.overall.imprint.markup=
+sebserver.overall.about=About
+sebserver.overall.about.markup=SEB Server About Example
1. This is an example of how an About-Page can look like.
By simply define the markup HTML content within the messages.propertie configuration of specified language
+sebserver.overall.help=Documentation
+sebserver.overall.help.link=https://seb-server.readthedocs.io/en/latest/index.html
+
+sebserver.monitoring.exam.connection.action.disable=Mark as Canceled
\ No newline at end of file
diff --git a/docker/testing/distributed/guiservice/docker-compose.yml b/docker/testing/distributed/guiservice/docker-compose.yml
new file mode 100644
index 00000000..fcae3544
--- /dev/null
+++ b/docker/testing/distributed/guiservice/docker-compose.yml
@@ -0,0 +1,36 @@
+version: '3.5'
+services:
+ seb-guiservice:
+ build:
+ context: .
+ dockerfile: sebguiservice.Dockerfile
+ args:
+ - GIT_TAG=development
+ - SEBSERVER_VERSION=1.0.1
+ container_name: seb-guiservice
+ volumes:
+ - seb-server-config:/sebserver/config
+ - ./config/spring:/sebserver/config/spring
+ - seb-server-logs:/sebserver/log
+ environment:
+ - SECRET=somePW
+ ports:
+ - 80:8080
+ logging:
+ driver: "json-file"
+ options:
+ mode: "non-blocking"
+ max-size: "200k"
+ max-file: "10"
+ networks:
+ - seb-server-network
+ restart: unless-stopped
+
+volumes:
+ seb-server-config:
+ seb-server-logs:
+ name: seb-guiservice-logs
+
+networks:
+ seb-server-network:
+ name: seb-server-network
\ No newline at end of file
diff --git a/docker/testing/distributed/guiservice/sebguiservice.Dockerfile b/docker/testing/distributed/guiservice/sebguiservice.Dockerfile
new file mode 100644
index 00000000..7acbad8c
--- /dev/null
+++ b/docker/testing/distributed/guiservice/sebguiservice.Dockerfile
@@ -0,0 +1,37 @@
+FROM alpine/git
+
+ARG SEBSERVER_VERSION
+ARG GIT_TAG="v${SEBSERVER_VERSION}"
+
+WORKDIR /sebserver
+RUN if [ "x${GIT_TAG}" = "x" ] ; \
+ then git clone --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; \
+ else git clone -b "$GIT_TAG" --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; fi
+
+FROM maven:latest
+
+ARG SEBSERVER_VERSION
+
+WORKDIR /sebserver
+COPY --from=0 /sebserver/seb-server /sebserver
+RUN mvn clean install -DskipTests -Dbuild-version="${SEBSERVER_VERSION}"
+
+FROM openjdk:11-jre-stretch
+
+ARG SEBSERVER_VERSION
+ENV SEBSERVER_JAR="seb-server-${SEBSERVER_VERSION}.jar"
+ENV SERVER_PORT="8080"
+ENV SECRET=somePW
+
+WORKDIR /sebserver
+COPY --from=1 /sebserver/target/"${SEBSERVER_JAR}" /sebserver
+
+CMD exec java \
+ -Xms64M \
+ -Xmx1G \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=gui,prod,prod-gui \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.password="${SECRET}" ;
+
+EXPOSE 8080
\ No newline at end of file
diff --git a/docker/testing/distributed/webservice/config/nginx/app.conf b/docker/testing/distributed/webservice/config/nginx/app.conf
new file mode 100644
index 00000000..1c3c2a71
--- /dev/null
+++ b/docker/testing/distributed/webservice/config/nginx/app.conf
@@ -0,0 +1,21 @@
+upstream backend {
+ ip_hash;
+ server seb-webservice1:8080;
+ server seb-webservice2:8080;
+ server seb-webservice3:8080;
+}
+
+
+server {
+ listen 80;
+ charset utf-8;
+ access_log off;
+
+ location / {
+ proxy_pass http://backend;
+ proxy_set_header Host $host:$server_port;
+ proxy_set_header X-Forwarded-Host $server_name;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ }
+}
diff --git a/docker/testing/distributed/webservice/config/spring/application-prod.properties b/docker/testing/distributed/webservice/config/spring/application-prod.properties
new file mode 100644
index 00000000..1d9e86b7
--- /dev/null
+++ b/docker/testing/distributed/webservice/config/spring/application-prod.properties
@@ -0,0 +1,54 @@
+##########################################################
+### Global Server Settings
+
+# Server address (set for docker internal)
+server.address=0.0.0.0
+# Server http port
+server.port=8080
+# The servlet context path
+server.servlet.context-path=/
+
+# Logging
+# Default logging level in the form "logging.level" + namespace=LEVEL
+logging.level.ROOT=WARN
+logging.level.ch=DEBUG
+logging.file=/sebserver/log/sebserver.log
+logging.config=/sebserver/config/spring/logback-prod.xml
+
+##########################################################
+### SEB Server Webservice configuration
+
+sebserver.test.property=This is a basic single-webservice productive setup
+
+# webservice database server connection
+datastore.mariadb.server.address=seb-server-mariadb
+datastore.mariadb.server.port=3306
+
+# data source configuration
+spring.datasource.hikari.initializationFailTimeout=30000
+spring.datasource.hikari.connectionTimeout=30000
+spring.datasource.hikari.idleTimeout=600000
+spring.datasource.hikari.maxLifetime=1800000
+
+### webservice networking
+sebserver.webservice.distributed=true
+sebserver.webservice.http.external.scheme=http
+sebserver.webservice.http.external.servername=localhost
+sebserver.webservice.http.external.port=8080
+sebserver.webservice.http.redirect.gui=/gui
+
+# webservice API
+sebserver.webservice.api.admin.endpoint=/admin-api/v1
+sebserver.webservice.api.admin.accessTokenValiditySeconds=3600
+sebserver.webservice.api.admin.refreshTokenValiditySeconds=25200
+sebserver.webservice.api.exam.config.init.permittedProcesses=config/initialPermittedProcesses.xml
+sebserver.webservice.api.exam.config.init.prohibitedProcesses=config/initialProhibitedProcesses.xml
+sebserver.webservice.api.exam.endpoint=/exam-api
+sebserver.webservice.api.exam.endpoint.discovery=${sebserver.webservice.api.exam.endpoint}/discovery
+sebserver.webservice.api.exam.endpoint.v1=${sebserver.webservice.api.exam.endpoint}/v1
+sebserver.webservice.api.exam.accessTokenValiditySeconds=3600
+sebserver.webservice.api.exam.event-handling-strategy=ASYNC_BATCH_STORE_STRATEGY
+sebserver.webservice.api.exam.enable-indicator-cache=true
+sebserver.webservice.api.pagination.maxPageSize=500
+# comma separated list of known possible OpenEdX API access token request endpoints
+sebserver.webservice.lms.openedx.api.token.request.paths=/oauth2/access_token
diff --git a/docker/testing/distributed/webservice/config/spring/logback-prod.xml b/docker/testing/distributed/webservice/config/spring/logback-prod.xml
new file mode 100644
index 00000000..c05fb6e8
--- /dev/null
+++ b/docker/testing/distributed/webservice/config/spring/logback-prod.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+ %d{HH:mm:ss.SSS} %-5level [%thread]:[%logger] %msg%n
+
+
+
+
+ log/sebserver.log
+ true
+
+ %d{HH:mm:ss.SSS} %-5level [%thread]:[%logger] %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docker/testing/distributed/webservice/docker-compose.yml b/docker/testing/distributed/webservice/docker-compose.yml
new file mode 100644
index 00000000..e972247c
--- /dev/null
+++ b/docker/testing/distributed/webservice/docker-compose.yml
@@ -0,0 +1,93 @@
+version: '3.5'
+services:
+ seb-webservice1:
+ build:
+ context: .
+ dockerfile: sebwebservice.Dockerfile
+ args:
+ - GIT_TAG=development
+ - SEBSERVER_VERSION=1.0.1
+ container_name: seb-webservice1
+ volumes:
+ - seb-server-config:/sebserver/config
+ - ./config/spring:/sebserver/config/spring
+ - seb-server-logs:/sebserver/log
+ environment:
+ - SECRET=somePW
+ logging:
+ driver: "json-file"
+ options:
+ mode: "non-blocking"
+ max-size: "200k"
+ max-file: "10"
+ networks:
+ - seb-server-network
+ restart: unless-stopped
+
+ seb-webservice2:
+ build:
+ context: .
+ dockerfile: sebwebservice.Dockerfile
+ args:
+ - GIT_TAG=development
+ - SEBSERVER_VERSION=1.0.1
+ container_name: seb-webservice2
+ volumes:
+ - seb-server-config:/sebserver/config
+ - ./config/spring:/sebserver/config/spring
+ - seb-server-logs:/sebserver/log
+ environment:
+ - SECRET=somePW
+ logging:
+ driver: "json-file"
+ options:
+ mode: "non-blocking"
+ max-size: "200k"
+ max-file: "10"
+ networks:
+ - seb-server-network
+ restart: unless-stopped
+
+ seb-webservice3:
+ build:
+ context: .
+ dockerfile: sebwebservice.Dockerfile
+ args:
+ - GIT_TAG=development
+ - SEBSERVER_VERSION=1.0.1
+ container_name: seb-webservice3
+ volumes:
+ - seb-server-config:/sebserver/config
+ - ./config/spring:/sebserver/config/spring
+ - seb-server-logs:/sebserver/log
+ environment:
+ - SECRET=somePW
+ logging:
+ driver: "json-file"
+ options:
+ mode: "non-blocking"
+ max-size: "200k"
+ max-file: "10"
+ networks:
+ - seb-server-network
+ restart: unless-stopped
+
+ reverse-proxy:
+ image: "nginx:latest"
+ container_name: seb-server-proxy
+ volumes:
+ - ./config/nginx:/etc/nginx/conf.d
+ ports:
+ - 8081:80
+ networks:
+ - seb-server-network
+ restart: unless-stopped
+
+volumes:
+ seb-server-config:
+ seb-server-logs:
+ name: seb-webservice-logs
+
+networks:
+ seb-server-network:
+ name: seb-server-network
\ No newline at end of file
diff --git a/docker/testing/distributed/webservice/sebwebservice.Dockerfile b/docker/testing/distributed/webservice/sebwebservice.Dockerfile
new file mode 100644
index 00000000..07429df0
--- /dev/null
+++ b/docker/testing/distributed/webservice/sebwebservice.Dockerfile
@@ -0,0 +1,38 @@
+FROM alpine/git
+
+ARG SEBSERVER_VERSION
+ARG GIT_TAG="v${SEBSERVER_VERSION}"
+
+WORKDIR /sebserver
+RUN if [ "x${GIT_TAG}" = "x" ] ; \
+ then git clone --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; \
+ else git clone -b "$GIT_TAG" --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; fi
+
+FROM maven:latest
+
+ARG SEBSERVER_VERSION
+
+WORKDIR /sebserver
+COPY --from=0 /sebserver/seb-server /sebserver
+RUN mvn clean install -DskipTests -Dbuild-version="${SEBSERVER_VERSION}"
+
+FROM openjdk:11-jre-stretch
+
+ARG SEBSERVER_VERSION
+ENV SEBSERVER_JAR="seb-server-${SEBSERVER_VERSION}.jar"
+ENV SERVER_PORT="8080"
+ENV SECRET=somePW
+
+WORKDIR /sebserver
+COPY --from=1 /sebserver/target/"${SEBSERVER_JAR}" /sebserver
+
+CMD exec java \
+ -Xms64M \
+ -Xmx1G \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=ws,prod,prod-ws \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.mariadb.password="${SECRET}" \
+ --sebserver.password="${SECRET}" ;
+
+EXPOSE $SERVER_PORT
\ No newline at end of file
diff --git a/docker/testing/tls/config/jmx/jmxremote.access b/docker/testing/tls/config/jmx/jmxremote.access
new file mode 100644
index 00000000..7280be99
--- /dev/null
+++ b/docker/testing/tls/config/jmx/jmxremote.access
@@ -0,0 +1,2 @@
+admin readwrite
+user readonly
\ No newline at end of file
diff --git a/docker/testing/tls/config/jmx/jmxremote.password b/docker/testing/tls/config/jmx/jmxremote.password
new file mode 100644
index 00000000..e69de29b
diff --git a/docker/testing/tls/config/mariadb/config.cnf b/docker/testing/tls/config/mariadb/config.cnf
new file mode 100644
index 00000000..dbb65545
--- /dev/null
+++ b/docker/testing/tls/config/mariadb/config.cnf
@@ -0,0 +1,16 @@
+[mysqld]
+# Disabling symbolic-links is recommended to prevent assorted security risks
+symbolic-links=0
+
+# network
+connect_timeout = 61
+wait_timeout = 28800
+max_connections = 100000
+max_allowed_packet = 256M
+max_connect_errors = 1000000
+
+skip_external_locking
+skip_name_resolve
+
+#memory
+innodb_buffer_pool_size=2G
diff --git a/docker/testing/tls/config/nginx/app.conf b/docker/testing/tls/config/nginx/app.conf
new file mode 100644
index 00000000..949e468a
--- /dev/null
+++ b/docker/testing/tls/config/nginx/app.conf
@@ -0,0 +1,25 @@
+ssl_session_cache shared:SSL:10m;
+ssl_session_timeout 10m;
+
+
+server {
+ listen 443 ssl;
+ charset utf-8;
+ access_log off;
+ keepalive_timeout 70;
+
+ server_name localhost;
+ ssl_certificate /sebserver/config/certs/localhost.crt;
+ ssl_certificate_key /sebserver/config/certs/localhost.key;
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+ ssl_ciphers HIGH:!aNULL:!MD5;
+
+ location / {
+ proxy_pass http://seb-server:8080;
+ proxy_set_header Host $host:$server_port;
+ proxy_set_header X-Forwarded-Host $server_name;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ }
+}
+
diff --git a/docker/testing/tls/config/nginx/certs/localhost.crt b/docker/testing/tls/config/nginx/certs/localhost.crt
new file mode 100644
index 00000000..600b8f42
--- /dev/null
+++ b/docker/testing/tls/config/nginx/certs/localhost.crt
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDXDCCAkSgAwIBAgIJAJYb2nNBXHKCMA0GCSqGSIb3DQEBCwUAMEMxCzAJBgNV
+BAYTAkNIMQ8wDQYDVQQIDAZadXJpY2gxDzANBgNVBAcMBlp1cmljaDESMBAGA1UE
+AwwJbG9jYWxob3N0MB4XDTIwMDQzMDEzMDI0OVoXDTIxMDQzMDEzMDI0OVowQzEL
+MAkGA1UEBhMCQ0gxDzANBgNVBAgMBlp1cmljaDEPMA0GA1UEBwwGWnVyaWNoMRIw
+EAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+AQDLwuUqViIl8RtzQoYiZ6vHM49UlhgrD51sziO1PuDIfZo7R3M3NFuCmwsOlXoH
+vHagcFFpplG3br/akbMCiIbZaWCJiNluZy+b1eFNHmPo8KvCFhRZfAUtKbzku2zL
+53O7/oMBUbhJILXC5is832K0qswh/QEmndySTO8sb4IZ3EZV4krQ7UlDgbvRruvL
+PrqEn25jiuhe5SnrkmI4rlaClvgOJ18qq+L4op90fd0W2V11WV9AJLk7boqVtCwT
+ee++SpVxS1W5EsCiZwKVrmrxUXPpC+Q67MNO+GJzW1xivcnz6fpOjoCRisudRtEb
+/GRO2jLVr3KvmyftJMk02d5xAgMBAAGjUzBRMB0GA1UdDgQWBBQQmfmkV++5QA0r
+uP7xbegL02qLkTAfBgNVHSMEGDAWgBQQmfmkV++5QA0ruP7xbegL02qLkTAPBgNV
+HRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQC5nt2yexZjt0yaociBiveF
+Y1ePyT3QVdDEzaAzMHNJxPA0DcsaJdViv/K8Ri9a7aZgjI7tGR93rTUSs8EgxoYQ
+ZUn6Av4xwTHIAoGbIS24pd6wljkehB6G4xGK4D8R51AHqHPwlV9pe/9FhqnIwagr
+RMXJurEiKf1EiX/4ryrs5hFzSauUGEhnq7HTGRygK1boN0LNqLx5G4vLtYzOCDuN
+GnshMJJvXkQe6Fre1rFnVoBtcbhoEqkp3LLr3eHSiAf7gy4iXjzhGCw/LX0pbEqr
+B0Zt+ouuTfga0Pvj3MNEWyI+3CWqXldB/RvonZxWXUhh6ONU2qzRYenewI8gDfIZ
+-----END CERTIFICATE-----
diff --git a/docker/testing/tls/config/nginx/certs/localhost.key b/docker/testing/tls/config/nginx/certs/localhost.key
new file mode 100644
index 00000000..3fe981f9
--- /dev/null
+++ b/docker/testing/tls/config/nginx/certs/localhost.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDLwuUqViIl8Rtz
+QoYiZ6vHM49UlhgrD51sziO1PuDIfZo7R3M3NFuCmwsOlXoHvHagcFFpplG3br/a
+kbMCiIbZaWCJiNluZy+b1eFNHmPo8KvCFhRZfAUtKbzku2zL53O7/oMBUbhJILXC
+5is832K0qswh/QEmndySTO8sb4IZ3EZV4krQ7UlDgbvRruvLPrqEn25jiuhe5Snr
+kmI4rlaClvgOJ18qq+L4op90fd0W2V11WV9AJLk7boqVtCwTee++SpVxS1W5EsCi
+ZwKVrmrxUXPpC+Q67MNO+GJzW1xivcnz6fpOjoCRisudRtEb/GRO2jLVr3Kvmyft
+JMk02d5xAgMBAAECggEALXh7rXv1OORaTNlel5TtB5Ig/S5VjF56sgo6e7rhbLxi
+y7HBK2OavEWfLQz8Y3eSPXFzKZF9EOM9GyiCeyE+fov+iBKq+vE59ZvAIHaUsynq
+GnDU77c2bIKw7ZZJzCMFd8FvOL8k0eTjyu+UXIw5OboXvcn5FMYLr/ZNNWxY6y4P
+33fR63HUAQOglxkvzqfCYcWqiBr3fowQcKfeVjSveeTMEHMDq/EWcq1+xmGRs037
+cWfLw8A2Vo6lN4CSJvXMJXzNgd3uKG4EI+nTzrO7WaH6KpxIkGkD/u50J868tR+C
+TmQnQIvMkjGSiulGHHZhQ3v8zEXzSU3ramxnBM9O8QKBgQDszx7Z5Cioc1RK4dKt
+qLhvbQYXQC3XF0WWOjuG6NTxA/cKejQ9fpLzu0UnRYsUfsyiahtB+umGsWxO1yAp
+aVf25CYp2lTTvP3EDo9wzOfp9NBqiKSkTTmYvp7i9idGU4Tg8gYUQcG9F63L1M3X
+6Xb8ZWylJoypegz2CeDWIh+RXQKBgQDcRikZYaGKsMgCxRVyxeHOFbml4Fk0wH+C
+YsrOHMV29Ck/8t/Ajy8+42TmnrmCFsTK4OVG9L87CF9TNxBU8WBAG2YqmiQbH49i
+UEaxBSfcmOqgPFGy62EQadUTn4f+HbZJKPyaeMhnKJseIIWy2i+a0Q6+0GX+Gke6
+Qe6FWkeMJQKBgQDJ8ZcNmVRS0ob/lLRlA4zE+ORIz6JH2sCs69v3oHZ3UjpJ5QzH
+pDkNQJYod1WzlK5Nks7L5X1gL819Lldu+TbahJVG+7l7F6AQoZoRR6w+B1f0gbJl
+qrWDXIuCYQf9IRwf+ETW4XymFJtRR5iCl8WwV43fCJDLthl3d9UUxuTEwQKBgQDb
+dRNRdFHLqeE70TtTRA96kW6K8wAtbHQdZWwE+elKYGwQiFugr4c0sr0+f3j3QNQE
+BRipHwK/P9IpSDz/RBTPCf06CKRcWY8zNiOYDjjusXNg/XewOI5WGfruOAz3goaw
+USOKizeuf2g8Fc7eqD6xkgOM3HghN/GqgjGvroiF+QKBgQDQZRljdl/dTi5GijFb
+FJwDGEhTpDYEBKb9AwWa5xP0u7JoqCv+0eP8/9eLmjzgawKTjtPHVMaeBmzMeW4O
+E+x4114yQthVTs1e8TnoprkapEQNlvDGxJsYycJ4ADrrgOzA+HeddUj9GrWEfd8f
+t7TrY/khzS4yDWvTFYG5wag+5Q==
+-----END PRIVATE KEY-----
diff --git a/docker/testing/tls/config/spring/application-prod.properties b/docker/testing/tls/config/spring/application-prod.properties
new file mode 100644
index 00000000..04528c76
--- /dev/null
+++ b/docker/testing/tls/config/spring/application-prod.properties
@@ -0,0 +1,73 @@
+##########################################################
+### Global Server Settings
+
+# Server address (set for docker internal)
+server.address=0.0.0.0
+# Server http port
+server.port=8080
+# The servlet context path
+server.servlet.context-path=/
+
+# Logging
+# Default logging level in the form "logging.level" + namespace=LEVEL
+logging.level.ROOT=WARN
+logging.level.ch=INFO
+logging.file=/sebserver/log/sebserver.log
+
+##########################################################
+### SEB Server Webservice configuration
+
+sebserver.test.property=This is a basic bundled productive setup
+
+# webservice database server connection
+datastore.mariadb.server.address=seb-server-mariadb
+datastore.mariadb.server.port=3306
+
+# data source configuration
+spring.datasource.hikari.initializationFailTimeout=30000
+spring.datasource.hikari.connectionTimeout=30000
+spring.datasource.hikari.idleTimeout=600000
+spring.datasource.hikari.maxLifetime=1800000
+
+### webservice networking
+sebserver.webservice.distributed=false
+sebserver.webservice.http.external.scheme=http
+sebserver.webservice.http.external.servername=
+sebserver.webservice.http.external.port=
+sebserver.webservice.http.redirect.gui=/gui
+
+# webservice API
+sebserver.webservice.api.admin.endpoint=/admin-api/v1
+sebserver.webservice.api.admin.accessTokenValiditySeconds=3600
+sebserver.webservice.api.admin.refreshTokenValiditySeconds=25200
+sebserver.webservice.api.exam.config.init.permittedProcesses=config/initialPermittedProcesses.xml
+sebserver.webservice.api.exam.config.init.prohibitedProcesses=config/initialProhibitedProcesses.xml
+sebserver.webservice.api.exam.endpoint=/exam-api
+sebserver.webservice.api.exam.endpoint.discovery=${sebserver.webservice.api.exam.endpoint}/discovery
+sebserver.webservice.api.exam.endpoint.v1=${sebserver.webservice.api.exam.endpoint}/v1
+sebserver.webservice.api.exam.accessTokenValiditySeconds=3600
+sebserver.webservice.api.exam.event-handling-strategy=ASYNC_BATCH_STORE_STRATEGY
+sebserver.webservice.api.exam.enable-indicator-cache=true
+sebserver.webservice.api.pagination.maxPageSize=500
+# comma separated list of known possible OpenEdX API access token request endpoints
+sebserver.webservice.lms.openedx.api.token.request.paths=/oauth2/access_token
+
+##########################################################
+### SEB Server GUI configuration
+sebserver.gui.external.messages=file:/sebserver/config/spring/messages
+sebserver.gui.multilingual=false
+sebserver.gui.supported.languages=en
+sebserver.gui.theme=css/sebserver.css
+sebserver.gui.list.page.size=20
+sebserver.gui.date.displayformat=de
+
+sebserver.gui.entrypoint=/gui
+sebserver.gui.webservice.protocol=http
+sebserver.gui.webservice.address=localhost
+sebserver.gui.webservice.port=8080
+# defines the polling interval that is used to poll the webservice for client connection data on a monitored exam page
+sebserver.gui.webservice.poll-interval=1000
+sebserver.gui.webservice.mock-lms-enabled=true
+
+sebserver.gui.seb.client.config.download.filename=SEBServerSettings.seb
+sebserver.gui.seb.exam.config.download.filename=SEBExamSettings.seb
\ No newline at end of file
diff --git a/docker/testing/tls/config/spring/messages_en.properties b/docker/testing/tls/config/spring/messages_en.properties
new file mode 100644
index 00000000..5272a767
--- /dev/null
+++ b/docker/testing/tls/config/spring/messages_en.properties
@@ -0,0 +1,6 @@
+sebserver.overall.imprint=
+sebserver.overall.imprint.markup=
+sebserver.overall.about=About
+sebserver.overall.about.markup=SEB Server About Example
1. This is an example of how an About-Page can look like.
By simply define the markup HTML content within the messages.propertie configuration of specified language
+sebserver.overall.help=Documentation
+sebserver.overall.help.link=https://seb-server.readthedocs.io/en/latest/index.html
diff --git a/docker/testing/tls/docker-compose.yml b/docker/testing/tls/docker-compose.yml
new file mode 100644
index 00000000..62c6393e
--- /dev/null
+++ b/docker/testing/tls/docker-compose.yml
@@ -0,0 +1,74 @@
+version: '3'
+services:
+ seb-server-setup:
+ build:
+ context: .
+ dockerfile: setup.Dockerfile
+ container_name: seb-server-setup
+ volumes:
+ - seb-server-config:/config
+ - ./config:/host/config
+
+ mariadb:
+ image: "mariadb/server:10.3"
+ container_name: seb-server-mariadb
+ environment:
+ - MYSQL_ROOT_PASSWORD_FILE=/etc/mysql/conf.d/secret
+ ports:
+ - 3306:3306
+ volumes:
+ - seb-server-config:/etc/mysql/conf.d
+ - seb-server-mariadb:/var/lib/mysql
+ - ./config/mariadb/config.cnf:/etc/mysql/conf.d/config.cnf
+ networks:
+ - seb-server-network
+ restart: unless-stopped
+
+ seb-server:
+ build:
+ context: .
+ dockerfile: sebserver.Dockerfile
+ args:
+ - SEBSERVER_VERSION=1.0-latest
+ container_name: seb-server
+ volumes:
+ - seb-server-config:/sebserver/config
+ - ./config/spring:/sebserver/config/spring
+ - seb-server-logs:/sebserver/log
+ environment:
+ - JMX_PORT=9090
+ ports:
+ - 9090:9090
+ logging:
+ driver: "json-file"
+ options:
+ max-size: "200k"
+ max-file: "10"
+ networks:
+ - seb-server-network
+ depends_on:
+ - "mariadb"
+ - "seb-server-setup"
+
+ reverse-proxy:
+ image: "nginx:latest"
+ container_name: seb-server-proxy
+ volumes:
+ - ./config/nginx:/etc/nginx/conf.d
+ - ./config/nginx/certs:/sebserver/config/certs
+ ports:
+ - 443:443
+ networks:
+ - seb-server-network
+ depends_on:
+ - "mariadb"
+ - "seb-server"
+ - "seb-server-setup"
+
+networks:
+ seb-server-network:
+
+volumes:
+ seb-server-config:
+ seb-server-mariadb:
+ seb-server-logs:
\ No newline at end of file
diff --git a/docker/testing/tls/sebserver.Dockerfile b/docker/testing/tls/sebserver.Dockerfile
new file mode 100644
index 00000000..34d84362
--- /dev/null
+++ b/docker/testing/tls/sebserver.Dockerfile
@@ -0,0 +1,61 @@
+# Clone git repository form specified tag
+FROM alpine/git
+
+ARG SEBSERVER_VERSION
+ARG GIT_TAG="v${SEBSERVER_VERSION}"
+
+WORKDIR /sebserver
+RUN if [ "x${GIT_TAG}" = "x" ] ; \
+ then git clone --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; \
+ else git clone -b "$GIT_TAG" --depth 1 https://github.com/SafeExamBrowser/seb-server.git ; fi
+
+# Build with maven (skip tests)
+FROM maven:latest
+
+ARG SEBSERVER_VERSION
+
+WORKDIR /sebserver
+COPY --from=0 /sebserver/seb-server /sebserver
+RUN mvn clean install -DskipTests
+
+FROM openjdk:11-jre-stretch
+
+ARG SEBSERVER_VERSION
+ENV SEBSERVER_JAR="seb-server-${SEBSERVER_VERSION}.jar"
+ENV SERVER_PORT="8080"
+ENV JMX_PORT=
+
+WORKDIR /sebserver
+COPY --from=1 /sebserver/target/"$SEBSERVER_JAR" /sebserver
+
+CMD if [ "x${JMX_PORT}" = "x" ] ; \
+ then secret=$(cat /sebserver/config/secret) && exec java \
+ -Xms64M \
+ -Xmx1G \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=prod,prod-gui,prod-ws \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.certs.password="${secret}" \
+ --sebserver.mariadb.password="${secret}" \
+ --sebserver.password="${secret}" ; \
+ else secret=$(cat /sebserver/config/secret) && exec java \
+ -Xms64M \
+ -Xmx1G \
+ -Dcom.sun.management.jmxremote \
+ -Dcom.sun.management.jmxremote.port=${JMX_PORT} \
+ -Dcom.sun.management.jmxremote.rmi.port=${JMX_PORT} \
+ -Djava.rmi.server.hostname=localhost \
+ -Dcom.sun.management.jmxremote.local.only=false \
+ -Dcom.sun.management.jmxremote.ssl=false \
+ -Dcom.sun.management.jmxremote.authenticate=true \
+ -Dcom.sun.management.jmxremote.password.file=/sebserver/config/jmx/jmxremote.password \
+ -Dcom.sun.management.jmxremote.access.file=/sebserver/config/jmx/jmxremote.access \
+ -jar "${SEBSERVER_JAR}" \
+ --spring.profiles.active=prod,prod-gui,prod-ws \
+ --spring.config.location=file:/sebserver/config/spring/,classpath:/config/ \
+ --sebserver.certs.password="${secret}" \
+ --sebserver.mariadb.password="${secret}" \
+ --sebserver.password="${secret}" ; \
+ fi
+
+EXPOSE $SERVER_PORT $JMX_PORT
\ No newline at end of file
diff --git a/docker/testing/tls/setup.Dockerfile b/docker/testing/tls/setup.Dockerfile
new file mode 100644
index 00000000..5de08917
--- /dev/null
+++ b/docker/testing/tls/setup.Dockerfile
@@ -0,0 +1,7 @@
+FROM alpine:latest
+
+CMD cp -a /host/config/. /config/ \
+ && secret=$(cat /config/secret) \
+ && rm /host/config/secret \
+ && printf "monitorRoleUser ${secret}\ncontrolRoleUser ${secret}" > /config/jmxremote.password \
+ && chmod 700 /config/jmxremote.password
\ No newline at end of file