Merge pull request #5 from SafeExamBrowser/development

Development
This commit is contained in:
Andreas Hefti 2020-05-06 13:59:05 +02:00 committed by GitHub
commit 60abf09a3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 96 additions and 94 deletions

View file

@ -32,23 +32,23 @@ public class PasswordChange implements Entity {
@NotEmpty(message = "user:password:notNull")
@JsonProperty(ATTR_NAME_PASSWORD)
private final String password;
private final CharSequence password;
@NotEmpty(message = "user:newPassword:notNull")
@Size(min = 8, max = 255, message = "user:newPassword:size:{min}:{max}:${validatedValue}")
@JsonProperty(ATTR_NAME_NEW_PASSWORD)
private final String newPassword;
private final CharSequence newPassword;
@NotEmpty(message = "user:confirmNewPassword:notNull")
@JsonProperty(ATTR_NAME_CONFIRM_NEW_PASSWORD)
private final String confirmNewPassword;
private final CharSequence confirmNewPassword;
@JsonCreator
public PasswordChange(
@JsonProperty(USER.ATTR_UUID) final String userId,
@JsonProperty(ATTR_NAME_PASSWORD) final String password,
@JsonProperty(ATTR_NAME_NEW_PASSWORD) final String newPassword,
@JsonProperty(ATTR_NAME_CONFIRM_NEW_PASSWORD) final String confirmNewPassword) {
@JsonProperty(ATTR_NAME_PASSWORD) final CharSequence password,
@JsonProperty(ATTR_NAME_NEW_PASSWORD) final CharSequence newPassword,
@JsonProperty(ATTR_NAME_CONFIRM_NEW_PASSWORD) final CharSequence confirmNewPassword) {
this.userId = userId;
this.password = password;
@ -56,15 +56,15 @@ public class PasswordChange implements Entity {
this.confirmNewPassword = confirmNewPassword;
}
public String getPassword() {
public CharSequence getPassword() {
return this.password;
}
public String getNewPassword() {
public CharSequence getNewPassword() {
return this.newPassword;
}
public String getConfirmNewPassword() {
public CharSequence getConfirmNewPassword() {
return this.confirmNewPassword;
}

View file

@ -187,7 +187,7 @@ public class ExamDAOImpl implements ExamDAO {
.map(examRecord -> {
if (BooleanUtils.isTrue(BooleanUtils.toBooleanObject(examRecord.getUpdating()))) {
if (!updateId.equals(examRecord.getLastupdate())) {
throw new IllegalStateException("Exam is currently locked: " + examRecord);
throw new IllegalStateException("Exam is currently locked: " + examRecord.getExternalId());
}
}
@ -212,7 +212,7 @@ public class ExamDAOImpl implements ExamDAO {
// check internal persistent write-lock
final ExamRecord oldRecord = this.examRecordMapper.selectByPrimaryKey(exam.id);
if (BooleanUtils.isTrue(BooleanUtils.toBooleanObject(oldRecord.getUpdating()))) {
throw new IllegalStateException("Exam is currently locked: " + exam);
throw new IllegalStateException("Exam is currently locked: " + exam.externalId);
}
final ExamRecord examRecord = new ExamRecord(
@ -450,7 +450,8 @@ public class ExamDAOImpl implements ExamDAO {
// consistency check
if (BooleanUtils.isTrue(BooleanUtils.toBooleanObject(examRec.getUpdating()))) {
throw new IllegalStateException("Exam to end update is not in expected state: " + examRec);
throw new IllegalStateException(
"Exam to end update is not in expected state: " + examRec.getExternalId());
}
final ExamRecord newRecord = new ExamRecord(
@ -480,7 +481,8 @@ public class ExamDAOImpl implements ExamDAO {
if (BooleanUtils.isFalse(BooleanUtils.toBooleanObject(examRec.getUpdating()))
|| !updateId.equals(examRec.getLastupdate())) {
throw new IllegalStateException("Exam to end update is not in expected state: " + examRec);
throw new IllegalStateException(
"Exam to end update is not in expected state: " + examRec.getExternalId());
}
final ExamRecord newRecord = new ExamRecord(

View file

@ -86,7 +86,7 @@ public class ExamConfigXMLParser extends DefaultHandler {
private static final Set<String> KNOWN_INLINE_TABLES = new HashSet<>(Arrays.asList(
"arguments"));
public static final Set<String> PASSWORD_ATTRIBUTES = new HashSet<>(Arrays.asList(
public static final Set<String> SECRET_ATTRIBUTES = new HashSet<>(Arrays.asList(
"hashedQuitPassword",
"hashedAdminPassword"));
@ -443,7 +443,7 @@ public class ExamConfigXMLParser extends DefaultHandler {
return null;
}
if (PASSWORD_ATTRIBUTES.contains(name)) {
if (SECRET_ATTRIBUTES.contains(name)) {
// NOTE this is a special case, if a hashed password is imported it is not possible to view this password
// later in plain text to the administrator. Therefore this password hash is marked here as imported
// and internally encrypted as usual. So the password will be decrypted while viewing and is recognizable

View file

@ -111,7 +111,7 @@ public class StringConverter implements AttributeValueConverter {
out.write(Utils.toByteArray(String.format(
template,
realName,
convertPassword(realName, value))));
convertSecret(realName, value))));
} else {
out.write(Utils.toByteArray(String.format(
emptyTemplate,
@ -119,7 +119,7 @@ public class StringConverter implements AttributeValueConverter {
}
}
private CharSequence convertPassword(
private CharSequence convertSecret(
final String attributeName,
final String value) {
@ -127,7 +127,7 @@ public class StringConverter implements AttributeValueConverter {
return value;
}
if (!ExamConfigXMLParser.PASSWORD_ATTRIBUTES.contains(attributeName)) {
if (!ExamConfigXMLParser.SECRET_ATTRIBUTES.contains(attributeName)) {
return value;
}

View file

@ -81,9 +81,9 @@ sebserver.form.validation.fieldError.urlSuffix=The URL Suffix must have a size b
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.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 re-typed password doesn't match the new password
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
@ -93,17 +93,17 @@ 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 belongs to this entity.<br/>Those will also be deactivated by deactivating this entity.<br/><br/>Are You sure to deactivate this entity?
sebserver.dialog.confirm.deactivation=Note that there are {0} other entities that belong to this entity.<br/>Those will also be deactivated by deactivating this entity.<br/><br/>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.<br/> Please try again or contact a system-administrator if this error persists
sebserver.error.get.entity=Failed to load {0}.<br/> Please try again or contact a system-administrator if this error persists
sebserver.error.remove.entity=Failed to remove {0}.<br/> Please try again or contact a system-administrator if this error persists
sebserver.error.activate.entity=Failed to activate/deactivate {0}.<br/> Please try again or contact a system-administrator if this error persists
sebserver.error.save.entity=Failed to save {0}.<br/> Please try again or contact a system-administrator if this error persists
sebserver.error.exam.seb.restriction=<br/><br/>Failed to automatically set Safe Exam Browser restriction on/off for this exam on the corresponding LMS.<br/> Please check the LMS Setup and try again or contact a system-administrator if this error persists
sebserver.error.import=Failed to import {0}.<br/> Please try again or contact a system-administrator if this error persists
sebserver.error.logout=Failed to logout properly.<br/> Please try again or contact a system-administrator if this error persists
sebserver.error.action.unexpected.message=Failed to process action. There was an unexpected error.<br/> Please try again or contact a system administrator if this error persists
sebserver.error.get.entity=Failed to load {0}.<br/> Please try again or contact a system administrator if this error persists
sebserver.error.remove.entity=Failed to remove {0}.<br/> Please try again or contact a system administrator if this error persists
sebserver.error.activate.entity=Failed to activate/deactivate {0}.<br/> Please try again or contact a system administrator if this error persists
sebserver.error.save.entity=Failed to save {0}.<br/> Please try again or contact a system administrator if this error persists
sebserver.error.exam.seb.restriction=<br/><br/>Failed to automatically set Safe Exam Browser restriction on/off for this exam on the corresponding LMS.<br/> Please check the LMS Setup and try again or contact a system administrator if this error persists
sebserver.error.import=Failed to import {0}.<br/> Please try again or contact a system administrator if this error persists
sebserver.error.logout=Failed to logout properly.<br/> Please try again or contact a system administrator if this error persists
################################
# Login Page
################################
@ -143,9 +143,9 @@ sebserver.institution.list.empty=No institution can be found. Please adapt the f
sebserver.institution.list.title=Institutions
sebserver.institution.list.title.subtitle=
sebserver.institution.list.column.name=Name
sebserver.institution.list.column.name.tooltip=The name of the institution.<br/><br/>Use the filter above to narrow down a specific name.<br/>{0}
sebserver.institution.list.column.name.tooltip=The name of the institution.<br/><br/>Use the filter above to narrow down to a specific name.<br/>{0}
sebserver.institution.list.column.urlSuffix=URL Suffix
sebserver.institution.list.column.urlSuffix.tooltip=The URL suffix to the institutional login page.<br/><br/>Use the filter above to narrow down a specific URL suffix.<br/>{0}
sebserver.institution.list.column.urlSuffix.tooltip=The URL suffix to the institutional login page.<br/><br/>Use the filter above to narrow down to a specific URL suffix.<br/>{0}
sebserver.institution.list.column.active=Status
sebserver.institution.list.column.active.tooltip=The activity of the institution.<br/><br/>Use the filter above to specify the activity.<br/>{0}
@ -161,7 +161,7 @@ sebserver.institution.action.activate=Activate Institution
sebserver.institution.action.deactivate=Deactivate Institution
sebserver.institution.action.delete=Delete Institution
sebserver.institution.info.pleaseSelect=Please select first an institution from the list.
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=
@ -195,13 +195,13 @@ sebserver.useraccount.list.title.subtitle=
sebserver.useraccount.list.column.institution=Institution
sebserver.useraccount.list.column.institution.tooltip=The institution of the user account.<br/><br/>Use the filter above to specify the institution.<br/>{0}
sebserver.useraccount.list.column.name=First Name
sebserver.useraccount.list.column.name.tooltip=The first name of the user.<br/><br/>Use the filter above to narrow down a specific first name.<br/>{0}
sebserver.useraccount.list.column.name.tooltip=The first name of the user.<br/><br/>Use the filter above to narrow down to a specific first name.<br/>{0}
sebserver.useraccount.list.column.surname=Surname
sebserver.useraccount.list.column.surname.tooltip=The surname of the user.<br/><br/>Use the filter above to narrow down a specific surname.<br/>{0}
sebserver.useraccount.list.column.surname.tooltip=The surname of the user.<br/><br/>Use the filter above to narrow down to a specific surname.<br/>{0}
sebserver.useraccount.list.column.username=User Name
sebserver.useraccount.list.column.username.tooltip=The internal user name of the user.<br/><br/>Use the filter above to narrow down a specific user name.<br/>{0}
sebserver.useraccount.list.column.username.tooltip=The internal user name of the user.<br/><br/>Use the filter above to narrow down to a specific user name.<br/>{0}
sebserver.useraccount.list.column.email=Mail
sebserver.useraccount.list.column.email.tooltip=The e-mail address of the user.<br/><br/>Use the filter above to narrow down a specific e-mail address.<br/>{0}
sebserver.useraccount.list.column.email.tooltip=The e-mail address of the user.<br/><br/>Use the filter above to narrow down to a specific e-mail address.<br/>{0}
sebserver.useraccount.list.column.language=Language
sebserver.useraccount.list.column.active=Status
sebserver.useraccount.list.column.active.tooltip=The status of the user.<br/><br/>Use the filter above to specify the status.<br/>{0}
@ -219,7 +219,7 @@ 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=Please select first a User Account from the list.
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
@ -228,7 +228,7 @@ 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.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
@ -269,7 +269,7 @@ 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.<br/><br/>Use the filter above to specify the institution.<br/>{0}
sebserver.lmssetup.list.column.name=Name
sebserver.lmssetup.list.column.name.tooltip=The name of the LMS setup.<br/><br/>Use the filter above to narrow down a specific LMS by name.<br/>{0}
sebserver.lmssetup.list.column.name.tooltip=The name of the LMS setup.<br/><br/>Use the filter above to narrow down to a specific LMS by name.<br/>{0}
sebserver.lmssetup.list.column.type=LMS Type
sebserver.lmssetup.list.column.type.tooltip=The type of the LMS.<br/><br/>Use the filter above to specify the LMS type.<br/>{0}
sebserver.lmssetup.list.column.active=Status
@ -294,7 +294,7 @@ 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=Please select first a LMS Setup from the list
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=
@ -339,25 +339,25 @@ sebserver.quizdiscovery.list.column.institution.tooltip=The institution filter.<
sebserver.quizdiscovery.list.column.lmssetup=LMS
sebserver.quizdiscovery.list.column.lmssetup.tooltip=The LMS setup filter<br/><br/>Use the filter above to find all LMS exams of a specific LMS setup.<br/>{0}
sebserver.quizdiscovery.list.column.name=Name
sebserver.quizdiscovery.list.column.name.tooltip=The name of the LMS exam.<br/><br/>Use the filter above to narrow down a specific name.<br/>{0}
sebserver.quizdiscovery.list.column.name.tooltip=The name of the LMS exam.<br/><br/>Use the filter above to narrow down to a specific name.<br/>{0}
sebserver.quizdiscovery.list.column.starttime=Start Time {0}
sebserver.quizdiscovery.list.column.starttime.tooltip=The start time of the LMS exam.<br/><br/>Use the filter above to set a specific from date.<br/>{0}
sebserver.quizdiscovery.list.column.endtime=End Time {0}
sebserver.quizdiscovery.list.column.endtime.tooltip=The end time of the LMS exam.<br/><br/>{0}
sebserver.quizdiscovery.info.pleaseSelect=Please select first an LMS exam from the list
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 is already finished and can't be imported
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 import it twice may lead to<br/> unexpected behavior within automated SEB restriction on LMS.<br/><br/> Do you want to import this course as exam anyways?
sebserver.quizdiscovery.quiz.import.existing.confirm=This course was already imported and importing it twice may lead to<br/> unexpected behavior within automated SEB restriction on LMS.<br/><br/> 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 is defined.
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.<br/><br/>This name is defined on the corresponding LMS
sebserver.quizdiscovery.quiz.details.description=Description
@ -389,11 +389,11 @@ 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 LMS of the exam.<br/><br/>Use the filter above to specify the institution.<br/>{0}
sebserver.exam.list.column.institution.tooltip=The institution of the LMS setup that defines the LMS of the exam.<br/><br/>Use the filter above to specify the institution.<br/>{0}
sebserver.exam.list.column.lmssetup=LMS
sebserver.exam.list.column.lmssetup.tooltip=The LMS setup that defines the LMS of the exam<br/><br/>Use the filter above to specify the LMS setup.<br/>{0}
sebserver.exam.list.column.name=Name
sebserver.exam.list.column.name.tooltip=The name of the exam.<br/><br/>Use the filter above to narrow down a specific exam name.<br/>{0}
sebserver.exam.list.column.name.tooltip=The name of the exam.<br/><br/>Use the filter above to narrow down to a specific exam name.<br/>{0}
sebserver.exam.list.column.starttime=Start Time {0}
sebserver.exam.list.column.starttime.tooltip=The start time of the exam.<br/><br/>Use the filter above to set a specific from date.<br/>{0}
sebserver.exam.list.column.type=Type
@ -401,14 +401,14 @@ sebserver.exam.list.column.type.tooltip=The type of the exam.<br/><br/>Use the f
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 other institution 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-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.<br/> 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<br/>where connecting SEB clients cannot download the configuration for the exam.<br/><br/>Are you sure to remove the Configuration?
sebserver.exam.confirm.remove-config=This exam is current running. The remove of the attached configuration will led to an invalid state<br/>where connecting SEB clients cannot download the configuration for the exam.<br/><br/>Are you sure to remove the configuration?
sebserver.exam.action.list=Exam
sebserver.exam.action.list.view=View Exam
@ -422,16 +422,16 @@ 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=Please select first an Exam from the list
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=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=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.<br/><br/>This name is defined on the corresponding LMS
@ -446,7 +446,7 @@ sebserver.exam.form.status.tooltip=The current status for the exam.<br/><br/>Eit
sebserver.exam.form.type=Exam Type
sebserver.exam.form.type.tooltip=The type of the exam.<br/><br/>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.<br/><br/>To add a user in edit mode click into the field on right-hand and start typing the first letters of the username.<br/>A filtered choice will drop down. Click on a specific username on the drop-down to add the user to the list.<br/>To remove a user from the list, just double-click the username on the list.
sebserver.exam.form.supporter.tooltip=A list of users that are allowed to support this exam.<br/><br/>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.<br/>A filtered choice will drop down. Select a specific username in the dropdown list to add the user to the list.<br/>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=
@ -480,11 +480,11 @@ sebserver.exam.form.sebrestriction.whiteListPaths.WIKI.tooltip=The wikipedia sec
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=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=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=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.
@ -511,7 +511,7 @@ sebserver.exam.configuration.list.column.description.tooltip=The description of
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=Please select first an exam configuration from the list
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.<br/>Please create one in Exam Configurations
sebserver.exam.configuration.action.list.new=Add Exam Configuration
@ -520,14 +520,14 @@ 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.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 a encryption password if the exam configuration should be encrypted by 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
@ -545,7 +545,7 @@ 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=Please select first an indicator from the list
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
@ -555,7 +555,7 @@ sebserver.exam.indicator.type.description.ERROR_COUNT=This indicator shows the n
sebserver.exam.indicator.type.description.WARN_COUNT=This indicator shows the number of warn log messages that<br/> has been received from a SEB Client.<br/>This indicator can be used to track warnings of connected SEB Clients<br/><br/>The value is natural numbers.
sebserver.exam.indicator.info.pleaseSelect=Please select first an indicator from the list
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
@ -599,35 +599,35 @@ sebserver.clientconfig.list.actions=
sebserver.clientconfig.list.column.institution=Institution
sebserver.clientconfig.list.column.institution.tooltip=The institution of the client configuration.<br/><br/>Use the filter above to specify the institution.<br/>{0}
sebserver.clientconfig.list.column.name=Name
sebserver.clientconfig.list.column.name.tooltip=The name of the client configuration.<br/><br/>Use the filter above to narrow down a specific name.<br/>{0}
sebserver.clientconfig.list.column.name.tooltip=The name of the client configuration.<br/><br/>Use the filter above to narrow down to a specific name.<br/>{0}
sebserver.clientconfig.list.column.date=Creation Date {0}
sebserver.clientconfig.list.column.date.tooltip=The date when the client configuration was first created.<br/><br/>Use the filter above to specify a from-date.<br/>{0}
sebserver.clientconfig.list.column.active=Status
sebserver.clientconfig.list.column.active.tooltip=The status of client configuration.<br/><br/>Use the filter above to specify the status.<br/>{0}
sebserver.clientconfig.info.pleaseSelect=Please select first a Client Configuration from the list
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.<br/>Can be any name that not already exists for another client configuration
sebserver.clientconfig.form.name.tooltip=The name of the client configuration.<br/>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 the SEB where to go when the SEB Server service is unavailable.
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 the SEB in milli-seconds.
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 milli-seconds) between connection attempts a SEB shall use.
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 the SEB starts the fallback procedure.
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 the SEB.
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
@ -664,16 +664,16 @@ sebserver.examconfig.list.title.subtitle=
sebserver.examconfig.list.column.institution=Institution
sebserver.examconfig.list.column.institution.tooltip=The institution of the SEB exam configuration.<br/><br/>Use the filter above to specify the institution.<br/>{0}
sebserver.examconfig.list.column.name=Name
sebserver.examconfig.list.column.name.tooltip=The name of the SEB exam configuration.<br/><br/>Use the filter above to narrow down a specific name.<br/>{0}
sebserver.examconfig.list.column.name.tooltip=The name of the SEB exam configuration.<br/><br/>Use the filter above to narrow down to a specific name.<br/>{0}
sebserver.examconfig.list.column.description=Description
sebserver.examconfig.list.column.description.tooltip=The description of the SEB exam configuration.<br/><br/>Use the filter above to find configurations that contains specific words or phrases within the description.<br/>{0}
sebserver.examconfig.list.column.description.tooltip=The description of the SEB exam configuration.<br/><br/>Use the filter above to find configurations that contain specific words or phrases within the description.<br/>{0}
sebserver.examconfig.list.column.status=Status
sebserver.examconfig.list.column.status.tooltip=The status of the SEB exam configuration.<br/><br/>Use the filter above to specify a status.<br/>{0}
sebserver.examconfig.list.actions=
sebserver.examconfig.list.empty=There is currently no SEB-Exam configuration available. Please create a new one
sebserver.examconfig.info.pleaseSelect=Please select first an Exam Configuration from the list
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
@ -687,7 +687,7 @@ 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.<br/>Modify of a configuration that is currently in use would lead to inconsistency and is therefore not allowed.<br/><br/>Please make sure that the configuration is not in use before applying changes.
sebserver.examconfig.action.saveToHistory.integrity-violation=There is currently at least one running Exam with active SEB client connections that uses this configuration.<br/>Modifying a configuration that is currently in use would lead to inconsistency and is therefore not allowed.<br/><br/>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
@ -695,7 +695,7 @@ 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.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
@ -818,7 +818,7 @@ 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 autio is muted when the SEB/exam starts
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
@ -859,7 +859,7 @@ 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).<br/> 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.<br/> Please note that most modern web-sites need JavaScript for full functionality.
sebserver.examconfig.props.label.enableJavaScript.tooltip=Enables JavaScript.<br/> 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.<br/> Note: Only applets with the highest Java security level will run in SEB.
sebserver.examconfig.props.label.blockPopUpWindows=Block pop-up windows
@ -1084,7 +1084,7 @@ sebserver.examconfig.props.label.sebServicePolicy.2=allow to use SEB only with s
sebserver.examconfig.props.label.sebServicePolicy.tooltip=Policy that applies when an exam client doesn't have the SEB client running
sebserver.examconfig.props.group.kioskMode=Kiosk Mode
sebserver.examconfig.props.label.kioskMode.tooltip=The kiosk mode setting reflects how the computer is locked down into SEB.
sebserver.examconfig.props.label.kioskMode.tooltip=The kiosk mode setting reflects how the computer is locked down in SEB.
sebserver.examconfig.props.label.kioskMode.0=Create new desktop
sebserver.examconfig.props.label.kioskMode.0.tooltip=This kiosk mode may prevent specific third party software to run correctly together with SEB, like some screen recording software or the Windows onscreen keyboard.
sebserver.examconfig.props.label.kioskMode.1=Disable explorer Shell
@ -1122,7 +1122,7 @@ sebserver.examconfig.props.label.forceAppFolderInstall.tooltip=SEB enforces to b
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 th emenu 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.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)
@ -1212,7 +1212,7 @@ sebserver.configtemplate.list.empty=There is currently no SEB-Exam configuration
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=Please select first an Exam Configuration template from the list
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
@ -1264,7 +1264,7 @@ 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=Please select first an Attribute from the list
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=
@ -1294,11 +1294,11 @@ sebserver.monitoring.exam.action.detail.view=Back To Monitoring
sebserver.monitoring.exam.action.list.view=Monitoring
sebserver.monitoring.exam.info.pleaseSelect=Please select first an Exam from the list
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.<br/><br/>Use the filter above to narrow down a specific exam name.<br/>{0}
sebserver.monitoring.exam.list.column.name.tooltip=The name of the exam.<br/><br/>Use the filter above to narrow down to a specific exam name.<br/>{0}
sebserver.monitoring.exam.list.column.type=Type
sebserver.monitoring.exam.list.column.type.tooltip=The type of the exam.<br/><br/>Use the filter above to set a specific exam type.<br/>{0}
sebserver.monitoring.exam.list.column.startTime=Start Time {0}
@ -1324,8 +1324,8 @@ sebserver.monitoring.connection.form.status.tooltip=The current connection statu
sebserver.monitoring.connection.form.exam=Exam
sebserver.monitoring.connection.form.exam.tooltip=The exam name
sebserver.monitoring.exam.connection.emptySelection=Please select first a Connection from the list
sebserver.monitoring.exam.connection.emptySelection.active=Please select first an active Connection from the list
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
@ -1394,7 +1394,7 @@ sebserver.userlogs.list.column.user.tooltip=The user account of the user activit
sebserver.userlogs.list.column.dateTime=Date {0}
sebserver.userlogs.list.column.dateTime.tooltip=The date when the user activity log happened.<br/><br/>Use the filter above to specify a from- and to-date range.<br/>{0}
sebserver.userlogs.list.column.activityType=User Activity
sebserver.userlogs.list.column.activityType.tooltip=The type of the user activity.<br/><br/>Use the filter above to specify a activity type.<br/>{0}
sebserver.userlogs.list.column.activityType.tooltip=The type of the user activity.<br/><br/>Use the filter above to specify an activity type.<br/>{0}
sebserver.userlogs.list.column.entityType=Domain Type
sebserver.userlogs.list.column.entityType.tooltip=The domain type of the user activity.<br/><br/>Use the filter above to specify a domain type.<br/>{0}
@ -1412,7 +1412,7 @@ sebserver.userlogs.form.message=Message
sebserver.userlogs.form.message.tooltip=The user activity log message.<br/>This is usually a data model representation of the domain object
sebserver.userlogs.details.title=User Activity Log Details
sebserver.userlogs.info.pleaseSelect=Please select first a User Log from the list
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
@ -1421,13 +1421,13 @@ 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=Please select first a SEB client Log from the list
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.<br/><br/>Use the filter above to specify the institution.<br/>{0}
sebserver.seblogs.list.column.exam=Exam
sebserver.seblogs.list.column.exam.tooltip=The exam of the SEB client logs.<br/><br/>Use the filter above to specify an exam.<br/>{0}
sebserver.seblogs.list.column.client-session=User Session-ID
sebserver.seblogs.list.column.client-session.tooltip=The user or user-session identifier.<br/><br/>Use the filter above narrow down a user identifier name.<br/>{0}
sebserver.seblogs.list.column.client-session.tooltip=The user or user-session identifier.<br/><br/>Use the filter above to narrow down to a user identifier name.<br/>{0}
sebserver.seblogs.list.column.type=Event Type
sebserver.seblogs.list.column.type.tooltip=The SEB client log event type.<br/><br/>Use the filter above to specify log type.<br/>{0}
sebserver.seblogs.list.column.time=Event Time {0}
@ -1442,20 +1442,20 @@ sebserver.seblogs.details.exam.title=Exam Details
sebserver.seblogs.details.dateTime=Date
sebserver.seblogs.form.column.client-session=Session-ID
sebserver.seblogs.form.column.client-session.tooltip=The user or user-session identifier.
sebserver.seblogs.form.column.client-session.tooltip=The user or user session identifier.
sebserver.seblogs.form.column.type=Event Type
sebserver.seblogs.form.column.type.tooltip=The SEB client log event type.
sebserver.seblogs.form.column.server-time=Server Time
sebserver.seblogs.form.column.server-time.tooltip=The exact time when the SEB Server got the event log sent by an SEB client.
sebserver.seblogs.form.column.server-time.tooltip=The exact time when the SEB Server got the event log sent by a SEB client.
sebserver.seblogs.form.column.client-time=SEB Client Time
sebserver.seblogs.form.column.client-time.tooltip=The time that was send within the log from SEB client.
sebserver.seblogs.form.column.client-time.tooltip=The time that was send within the log from a SEB client.
sebserver.seblogs.form.column.value=Value
sebserver.seblogs.form.column.value.tooltip=The SEB client log event value
sebserver.seblogs.form.column.message=Message
sebserver.seblogs.form.column.message.tooltip=The SEB client log message
sebserver.seblogs.form.column.connection.session-id=User Session-ID
sebserver.seblogs.form.column.connection.session-id.tooltip=The user or user-session identifier.
sebserver.seblogs.form.column.connection.session-id.tooltip=The user or user session identifier.
sebserver.seblogs.form.column.connection.address=SEB client Address
sebserver.seblogs.form.column.connection.address.tooltip=The IP address of the SEB client
sebserver.seblogs.form.column.connection.token=SEB Connection Token