diff --git a/pom.xml b/pom.xml index 38d702a0..5612a973 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ jar - 0.6.2 + 0.6.3 UTF-8 UTF-8 diff --git a/src/main/java/ch/ethz/seb/sebserver/gui/content/ExamForm.java b/src/main/java/ch/ethz/seb/sebserver/gui/content/ExamForm.java index 61775b7e..5add8a71 100644 --- a/src/main/java/ch/ethz/seb/sebserver/gui/content/ExamForm.java +++ b/src/main/java/ch/ethz/seb/sebserver/gui/content/ExamForm.java @@ -24,6 +24,7 @@ import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.client.service.UrlLauncher; +import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -214,11 +215,15 @@ public class ExamForm implements TemplateComposer { final PageContext formContext = pageContext.withEntityKey(exam.getEntityKey()); // check exam consistency and inform the user if needed + Collection warnings = null; if (readonly) { - this.restService.getBuilder(CheckExamConsistency.class) + warnings = this.restService.getBuilder(CheckExamConsistency.class) .withURIVariable(API.PARAM_MODEL_ID, entityKey.modelId) .call() - .ifPresent(result -> showConsistencyChecks(result, formContext.getParent())); + .getOr(Collections.emptyList()); + if (warnings != null && !warnings.isEmpty()) { + showConsistencyChecks(warnings, formContext.getParent()); + } } // the default page layout with title @@ -228,6 +233,10 @@ public class ExamForm implements TemplateComposer { final Composite content = this.widgetFactory.defaultPageLayout( formContext.getParent(), titleKey); + if (warnings != null && !warnings.isEmpty()) { + GridData gridData = (GridData) content.getLayoutData(); + gridData.verticalIndent = 10; + } final BooleanSupplier isNew = () -> importFromQuizData; final BooleanSupplier isNotNew = () -> !isNew.getAsBoolean(); @@ -401,13 +410,11 @@ public class ExamForm implements TemplateComposer { if (readonly && !importFromQuizData) { // List of SEB Configuration - this.widgetFactory.label(content, StringUtils.EMPTY); - this.widgetFactory.labelLocalized( + this.widgetFactory.addFormSubContextHeader( content, - CustomVariant.TEXT_H3, CONFIG_LIST_TITLE_KEY, - CONFIG_LIST_TITLE_TOOLTIP_KEY); - this.widgetFactory.labelSeparator(content); + CONFIG_LIST_TITLE_TOOLTIP_KEY + ); final EntityTable configurationTable = this.pageService.entityTableBuilder(this.restService.getRestCall(GetExamConfigMappingsPage.class)) @@ -496,13 +503,11 @@ public class ExamForm implements TemplateComposer { .publishIf(() -> userGrantCheck.r() && configurationTable.hasAnyContent(), false); // List of Indicators - this.widgetFactory.label(content, StringUtils.EMPTY); - this.widgetFactory.labelLocalized( + this.widgetFactory.addFormSubContextHeader( content, - CustomVariant.TEXT_H3, INDICATOR_LIST_TITLE_KEY, - INDICATOR_LIST_TITLE_TOOLTIP_KEY); - this.widgetFactory.labelSeparator(content); + INDICATOR_LIST_TITLE_TOOLTIP_KEY + ); final EntityTable indicatorTable = this.pageService.entityTableBuilder(this.restService.getRestCall(GetIndicatorPage.class)) @@ -545,10 +550,6 @@ public class ExamForm implements TemplateComposer { actionBuilder - .newAction(ActionDefinition.EXAM_INDICATOR_NEW) - .withParentEntityKey(entityKey) - .publishIf(() -> modifyGrant) - .newAction(ActionDefinition.EXAM_INDICATOR_MODIFY_FROM_LIST) .withParentEntityKey(entityKey) .withSelect( @@ -563,7 +564,11 @@ public class ExamForm implements TemplateComposer { indicatorTable::getSelection, this::deleteSelectedIndicator, INDICATOR_EMPTY_SELECTION_TEXT_KEY) - .publishIf(() -> modifyGrant && indicatorTable.hasAnyContent(), false); + .publishIf(() -> modifyGrant && indicatorTable.hasAnyContent(), false) + + .newAction(ActionDefinition.EXAM_INDICATOR_NEW) + .withParentEntityKey(entityKey) + .publishIf(() -> modifyGrant); } } diff --git a/src/main/java/ch/ethz/seb/sebserver/gui/content/MonitoringClientConnection.java b/src/main/java/ch/ethz/seb/sebserver/gui/content/MonitoringClientConnection.java index 3408127c..56d1e149 100644 --- a/src/main/java/ch/ethz/seb/sebserver/gui/content/MonitoringClientConnection.java +++ b/src/main/java/ch/ethz/seb/sebserver/gui/content/MonitoringClientConnection.java @@ -63,6 +63,8 @@ public class MonitoringClientConnection implements TemplateComposer { private static final LocTextKey EVENT_LIST_TITLE_KEY = new LocTextKey("sebserver.monitoring.exam.connection.eventlist.title"); + private static final LocTextKey EVENT_LIST_TITLE_TOOLTIP_KEY = + new LocTextKey("sebserver.monitoring.exam.connection.eventlist.title.tooltip"); private static final LocTextKey EMPTY_LIST_TEXT_KEY = new LocTextKey("sebserver.monitoring.exam.connection.eventlist.empty"); private static final LocTextKey LIST_COLUMN_TYPE_KEY = @@ -167,10 +169,11 @@ public class MonitoringClientConnection implements TemplateComposer { context1 -> clientConnectionDetails.updateData(), context -> clientConnectionDetails.updateGUI()); - widgetFactory.labelLocalized( + widgetFactory.addFormSubContextHeader( content, - CustomVariant.TEXT_H3, - EVENT_LIST_TITLE_KEY); + EVENT_LIST_TITLE_KEY, + EVENT_LIST_TITLE_TOOLTIP_KEY + ); final PageService.PageActionBuilder actionBuilder = this.pageService .pageActionBuilder( diff --git a/src/main/java/ch/ethz/seb/sebserver/gui/content/SebExamConfigForm.java b/src/main/java/ch/ethz/seb/sebserver/gui/content/SebExamConfigForm.java index 94022235..bfa5260d 100644 --- a/src/main/java/ch/ethz/seb/sebserver/gui/content/SebExamConfigForm.java +++ b/src/main/java/ch/ethz/seb/sebserver/gui/content/SebExamConfigForm.java @@ -219,19 +219,13 @@ public class SebExamConfigForm implements TemplateComposer { .publishIf(() -> modifyGrant && isReadonly) - .newAction(ActionDefinition.SEB_EXAM_CONFIG_MODIFY) + .newAction( (!modifyGrant || examConfig.status == ConfigurationStatus.IN_USE) + ? ActionDefinition.SEB_EXAM_CONFIG_VIEW + : ActionDefinition.SEB_EXAM_CONFIG_MODIFY) .withEntityKey(entityKey) .withAttribute(PageContext.AttributeKeys.READ_ONLY, String.valueOf(!modifyGrant)) .publishIf(() -> modifyGrant && isReadonly) - - - .newAction(ActionDefinition.SEB_EXAM_CONFIG_IMPORT_TO_EXISTING_CONFIG) - .withEntityKey(entityKey) - .withExec(SebExamConfigImportPopup.importFunction(this.pageService, false)) - .noEventPropagation() - .publishIf(() -> modifyGrant && isReadonly && !isAttachedToExam) - .newAction(ActionDefinition.SEB_EXAM_CONFIG_COPY_CONFIG) .withEntityKey(entityKey) .withExec(SebExamConfigCreationPopup.configCreationFunction( @@ -276,6 +270,12 @@ public class SebExamConfigForm implements TemplateComposer { .noEventPropagation() .publishIf(() -> modifyGrant && isReadonly) + .newAction(ActionDefinition.SEB_EXAM_CONFIG_IMPORT_TO_EXISTING_CONFIG) + .withEntityKey(entityKey) + .withExec(SebExamConfigImportPopup.importFunction(this.pageService, false)) + .noEventPropagation() + .publishIf(() -> modifyGrant && isReadonly && !isAttachedToExam) + .newAction(ActionDefinition.SEB_EXAM_CONFIG_PROP_SAVE) .withEntityKey(entityKey) .withExec(formHandle::processFormSave) diff --git a/src/main/java/ch/ethz/seb/sebserver/gui/content/SebExamConfigSettingsForm.java b/src/main/java/ch/ethz/seb/sebserver/gui/content/SebSettingsForm.java similarity index 98% rename from src/main/java/ch/ethz/seb/sebserver/gui/content/SebExamConfigSettingsForm.java rename to src/main/java/ch/ethz/seb/sebserver/gui/content/SebSettingsForm.java index 34bc7af0..c338148b 100644 --- a/src/main/java/ch/ethz/seb/sebserver/gui/content/SebExamConfigSettingsForm.java +++ b/src/main/java/ch/ethz/seb/sebserver/gui/content/SebSettingsForm.java @@ -55,9 +55,9 @@ import ch.ethz.seb.sebserver.gui.widget.WidgetFactory; @Lazy @Component @GuiProfile -public class SebExamConfigSettingsForm implements TemplateComposer { +public class SebSettingsForm implements TemplateComposer { - private static final Logger log = LoggerFactory.getLogger(SebExamConfigSettingsForm.class); + private static final Logger log = LoggerFactory.getLogger(SebSettingsForm.class); private static final String VIEW_TEXT_KEY_PREFIX = "sebserver.examconfig.props.form.views."; @@ -76,7 +76,7 @@ public class SebExamConfigSettingsForm implements TemplateComposer { private final CurrentUser currentUser; private final ExamConfigurationService examConfigurationService; - protected SebExamConfigSettingsForm( + protected SebSettingsForm( final PageService pageService, final RestService restService, final CurrentUser currentUser, diff --git a/src/main/java/ch/ethz/seb/sebserver/gui/content/action/ActionDefinition.java b/src/main/java/ch/ethz/seb/sebserver/gui/content/action/ActionDefinition.java index d717a652..65ec43f8 100644 --- a/src/main/java/ch/ethz/seb/sebserver/gui/content/action/ActionDefinition.java +++ b/src/main/java/ch/ethz/seb/sebserver/gui/content/action/ActionDefinition.java @@ -186,7 +186,7 @@ public enum ActionDefinition { PageStateDefinitionImpl.LMS_SETUP_VIEW, ActionCategory.FORM), LMS_SETUP_SAVE_AND_ACTIVATE( - new LocTextKey("sebserver.form.action.save.activate"), + new LocTextKey("sebserver.lmssetup.action.activate"), ImageIcon.ACTIVE, PageStateDefinitionImpl.LMS_SETUP_VIEW, ActionCategory.FORM), @@ -447,6 +447,11 @@ public enum ActionDefinition { ImageIcon.EDIT_SETTINGS, PageStateDefinitionImpl.SEB_EXAM_CONFIG_EDIT, ActionCategory.FORM), + SEB_EXAM_CONFIG_VIEW( + new LocTextKey("sebserver.examconfig.action.view"), + ImageIcon.EDIT_SETTINGS, + PageStateDefinitionImpl.SEB_EXAM_CONFIG_VIEW, + ActionCategory.FORM), SEB_EXAM_CONFIG_PROP_CANCEL_MODIFY( new LocTextKey("sebserver.overall.action.modify.cancel"), @@ -480,13 +485,6 @@ public enum ActionDefinition { new LocTextKey("sebserver.examconfig.action.copy-as-template"), ImageIcon.TEMPLATE, ActionCategory.FORM), - - SEB_EXAM_CONFIG_MODIFY_FROM_LIST( - new LocTextKey("sebserver.examconfig.action.list.modify"), - ImageIcon.EDIT_SETTINGS, - PageStateDefinitionImpl.SEB_EXAM_CONFIG_EDIT, - ActionCategory.SEB_EXAM_CONFIG_LIST), - SEB_EXAM_CONFIG_SAVE_TO_HISTORY( new LocTextKey("sebserver.examconfig.action.saveToHistory"), ImageIcon.SAVE, @@ -603,7 +601,7 @@ public enum ActionDefinition { PageStateDefinitionImpl.MONITORING_CLIENT_CONNECTION, ActionCategory.FORM), MONITOR_EXAM_QUIT_SELECTED( - new LocTextKey("sebserver.monitoring.exam.connection.action.instruction.quit"), + new LocTextKey("sebserver.monitoring.exam.connection.action.instruction.quit.selected"), ImageIcon.SEND_QUIT, PageStateDefinitionImpl.MONITORING_RUNNING_EXAM, ActionCategory.CLIENT_EVENT_LIST), diff --git a/src/main/java/ch/ethz/seb/sebserver/gui/content/activity/PageStateDefinitionImpl.java b/src/main/java/ch/ethz/seb/sebserver/gui/content/activity/PageStateDefinitionImpl.java index e7a356f6..d6eca5f7 100644 --- a/src/main/java/ch/ethz/seb/sebserver/gui/content/activity/PageStateDefinitionImpl.java +++ b/src/main/java/ch/ethz/seb/sebserver/gui/content/activity/PageStateDefinitionImpl.java @@ -27,7 +27,7 @@ import ch.ethz.seb.sebserver.gui.content.SebClientConfigList; import ch.ethz.seb.sebserver.gui.content.SebClientLogs; import ch.ethz.seb.sebserver.gui.content.SebExamConfigList; import ch.ethz.seb.sebserver.gui.content.SebExamConfigForm; -import ch.ethz.seb.sebserver.gui.content.SebExamConfigSettingsForm; +import ch.ethz.seb.sebserver.gui.content.SebSettingsForm; import ch.ethz.seb.sebserver.gui.content.UserAccountChangePasswordForm; import ch.ethz.seb.sebserver.gui.content.UserAccountForm; import ch.ethz.seb.sebserver.gui.content.UserAccountList; @@ -66,8 +66,8 @@ public enum PageStateDefinitionImpl implements PageStateDefinition { SEB_EXAM_CONFIG_LIST(Type.LIST_VIEW, SebExamConfigList.class, ActivityDefinition.SEB_EXAM_CONFIG), SEB_EXAM_CONFIG_PROP_VIEW(Type.FORM_VIEW, SebExamConfigForm.class, ActivityDefinition.SEB_EXAM_CONFIG), SEB_EXAM_CONFIG_PROP_EDIT(Type.FORM_EDIT, SebExamConfigForm.class, ActivityDefinition.SEB_EXAM_CONFIG), - SEB_EXAM_CONFIG_EDIT(Type.FORM_IN_TIME_EDIT, SebExamConfigSettingsForm.class, ActivityDefinition.SEB_EXAM_CONFIG), - SEB_EXAM_CONFIG_VIEW(Type.FORM_VIEW, SebExamConfigSettingsForm.class, ActivityDefinition.SEB_EXAM_CONFIG), + SEB_EXAM_CONFIG_EDIT(Type.FORM_IN_TIME_EDIT, SebSettingsForm.class, ActivityDefinition.SEB_EXAM_CONFIG), + SEB_EXAM_CONFIG_VIEW(Type.FORM_VIEW, SebSettingsForm.class, ActivityDefinition.SEB_EXAM_CONFIG), SEB_EXAM_CONFIG_TEMPLATE_LIST(Type.LIST_VIEW, ConfigTemplateList.class, ActivityDefinition.SEB_EXAM_CONFIG_TEMPLATE), diff --git a/src/main/java/ch/ethz/seb/sebserver/gui/widget/WidgetFactory.java b/src/main/java/ch/ethz/seb/sebserver/gui/widget/WidgetFactory.java index 7b71781f..ba88ca21 100644 --- a/src/main/java/ch/ethz/seb/sebserver/gui/widget/WidgetFactory.java +++ b/src/main/java/ch/ethz/seb/sebserver/gui/widget/WidgetFactory.java @@ -218,7 +218,10 @@ public class WidgetFactory { return content; } - public Composite defaultPageLayout(final Composite parent, final LocTextKey title) { + public Composite defaultPageLayout( + final Composite parent, + final LocTextKey title) { + final Composite defaultPageLayout = defaultPageLayout(parent); final Label labelLocalizedTitle = labelLocalizedTitle(defaultPageLayout, title); final GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false); @@ -286,7 +289,8 @@ public class WidgetFactory { public Composite createWarningPanel(final Composite parent) { final Composite composite = new Composite(parent, SWT.NONE); - composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); + GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, false); + composite.setLayoutData(gridData); final GridLayout gridLayout = new GridLayout(1, true); gridLayout.marginWidth = 20; gridLayout.marginHeight = 20; diff --git a/src/main/resources/config/application.properties b/src/main/resources/config/application.properties index 2093a415..0523bea2 100644 --- a/src/main/resources/config/application.properties +++ b/src/main/resources/config/application.properties @@ -1,6 +1,6 @@ spring.application.name=SEB Server spring.profiles.active=dev -sebserver.version=0.6.2 (RC for v1.0) +sebserver.version=0.6.3 (RC for v1.0) ########################################################## ### Global Server Settings diff --git a/src/main/resources/messages.properties b/src/main/resources/messages.properties index daf064cc..c6ab6b81 100644 --- a/src/main/resources/messages.properties +++ b/src/main/resources/messages.properties @@ -272,7 +272,7 @@ sebserver.lmssetup.list.column.type.tooltip=The type of the LMS.

Use th sebserver.lmssetup.list.column.active=Active sebserver.lmssetup.list.column.active.tooltip=The activity of the LMS Setup.

Use the filter above to specify the activity.
{0} -sebserver.lmssetup.action.list=LMS Setups +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 @@ -381,7 +381,8 @@ sebserver.quizdiscovery.quiz.details.additional.timelimit.toolitp=The time limit ################################ sebserver.exam.list.actions= -sebserver.exam.list.title=Exams +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.

Use the filter above to specify the institution.
{0} sebserver.exam.list.column.lmssetup=LMS @@ -404,7 +405,7 @@ sebserver.exam.consistency.missing-config= - There is no configuration defined f 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=SEB Exams +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 @@ -420,6 +421,7 @@ sebserver.exam.info.pleaseSelect=Please select first 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=Quiz Identifier @@ -442,6 +444,7 @@ 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 right-hand and start typing the first letters of the username.
A filtered choice will drop down. Click on a specific username on the drop-down 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 @@ -494,19 +497,19 @@ sebserver.exam.status.RUNNING=Running sebserver.exam.status.FINISHED=Finished sebserver.exam.configuration.list.actions= -sebserver.exam.configuration.list.title=SEB Exam Configuration -sebserver.exam.configuration.list.title.tooltip=A list of all attached SEB exam configuration for this exam. +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 SEB exam configuration. +sebserver.exam.configuration.list.column.name.tooltip=The name of the attached exam configuration. sebserver.exam.configuration.list.column.description=Description -sebserver.exam.configuration.list.column.description.tooltip=The description of the attached SEB exam configuration. +sebserver.exam.configuration.list.column.description.tooltip=The description of the attached exam configuration. sebserver.exam.configuration.list.column.status=Status -sebserver.exam.configuration.list.column.status.tooltip=The current status of the attached SEB exam configuration. -sebserver.exam.configuration.list.empty=There is currently no SEB Configuration defined for this Exam. Please add one -sebserver.exam.configuration.list.pleaseSelect=Please select first a SEB Configuration from the list -sebserver.exam.configuration.action.noconfig.message=There is currently no SEB exam configuration to select.
Please create one in SEB Configuration / Exam Configuration +sebserver.exam.configuration.list.column.status.tooltip=The current status of the attached exam configuration. +sebserver.exam.configuration.list.empty=There is currently no exam configuration defined for this Exam. Please add one +sebserver.exam.configuration.list.pleaseSelect=Please select first 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 Configuration +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 @@ -514,16 +517,16 @@ 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 SEB Configuration Mapping -sebserver.exam.configuration.form.title=SEB Configuration Mapping -sebserver.exam.configuration.form.name=SEB Configuration -sebserver.exam.configuration.form.name.tooltip=Please select a SEB exam configuration to attach to the exam +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 SEB exam configuration should be encrypted by password +sebserver.exam.configuration.form.encryptSecret.tooltip=Define a 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 SEB exam configuration +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 SEB exam configuration +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 @@ -555,6 +558,7 @@ 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. @@ -584,7 +588,7 @@ sebserver.exam.indicator.thresholds.list.remove=Delete this threshold ################################ sebserver.clientconfig.list.empty=There is currently no client configuration available. Please create a new one. -sebserver.clientconfig.list.title=Client Configurations +sebserver.clientconfig.list.title=Client Configuration sebserver.clientconfig.list.title.subtitle= sebserver.clientconfig.list.actions= sebserver.clientconfig.list.column.institution=Institution @@ -669,9 +673,10 @@ sebserver.examconfig.list.action.no.modify.privilege=No Access: An Exam Configur sebserver.examconfig.action.list.new=Add Exam Configuration sebserver.examconfig.action.list.view=View Exam Configuration -sebserver.examconfig.action.list.modify=Exam Configuration Settings + sebserver.examconfig.action.list.modify.properties=Edit Exam Configuration -sebserver.examconfig.action.modify=Exam Configuration Settings +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 @@ -1187,7 +1192,7 @@ sebserver.examconfig.props.validation.WindowsSizeValidator=Invalid number # SEB Exam Configuration Template ################################ -sebserver.configtemplate.action.list=Configuration Templates +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 @@ -1310,24 +1315,26 @@ sebserver.monitoring.exam.connection.emptySelection.active=Please select first a 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=Send SEB Quit -sebserver.monitoring.exam.connection.action.instruction.quit.all=Send SEB Quit +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 Disabled +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 Disabled -sebserver.monitoring.exam.connection.action.show.disabled=Show Disabled +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} @@ -1353,7 +1360,7 @@ 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=Disabled +sebserver.monitoring.exam.connection.status.DISABLED=Canceled ################################ # Logs