Skip to content
This repository has been archived by the owner on May 21, 2021. It is now read-only.

Downloading seb:// or sebs:// settings in the SEB opens additional dialogs #58

Closed
1 of 2 tasks
t00 opened this issue Nov 16, 2018 · 6 comments
Closed
1 of 2 tasks

Comments

@t00
Copy link

t00 commented Nov 16, 2018

Downloading seb:// or sebs:// settings in the SEB opens additional dialogs

Description

When the system-wide SEB configurationion is loaded and SEB is started, downloading any seb:// or sebs:// links allows switching to the exam mode by applying the new configuration.

When such link is clicked XUL dialog is shown and eventually the exam password dialog appears on top of it.
The problem is that the download dialog being a part of the browser can still be clicked/closed/moved while the password dialog is open. Additionally entering password can be cancelled which leads to browser handling the download - showing "open with" window.

This user experience causes confusion among some of the students, especially if there are network delays they get impatient and click on download dialog's cancel button after accepting password (or the other way around) which leads to either taking the exam twice or not being able to take the exam as user is not redirected to the exam URL but SEB exam mode is loaded.

I can think of 2 relatively simple fixes for these issues:

  1. Make download dialog configurable, so that downloading of the exam settings will happen in background if such new option is turned on. The rationale behind it is to make the user experience seamless and to avoid unnecessary distractions.

  2. Cancelling the exam password dialog should not show the firefox download seb file dialog afterward since the exam was already downloaded with the purpose of reconfiguring SEB for the exam and the user decided to cancel the password entry for some reason.

Environment & Version

Computer description, e.g. manufacturer, device name, hardware specs etc.

  • Mac
  • Windows

Steps to Reproduce

  1. Configure SEB
  2. Open SEB
  3. Optionally log in
  4. Click on the seb:// or sebs:// link with the exam SEB configuration

Either:
5. Cancel password dialog when shown

The download dialog will show - it should not show.

Or:
5. Cancel download dialog under password dialog
6. Cancel the firefox download dialog which will show after cancelling the download dialog (it should not show)
7. Enter the correct password and press OK

The SEB will be stuck in exam mode but it won't navigate to the exam configuration URL

@danschlet
Copy link
Member

danschlet commented Nov 16, 2018

Which SEB version did you test this (ALWAYS INDICATE EXACT SEB VERSION)? I think this was a bug in 2.2 which we fixed in 2.2.1 (it doesn't happen in 2.2.3pre2 for sure, canceling either of the dialogs doesn't show the Firefox download dialog).

It doesn't seem to be possible to disable the Firefox download dialog for any file type. We tried many times to find a solution for this, but it seems to be a Firefox security feature to always show the dialog. It was only possible to disable it for specific file types (so only for file types/filename extensions which we explicitly define).

The file download dialog problem will be solved by SEB 3.0 with its Chromium browser framework late 2019.

@t00
Copy link
Author

t00 commented Nov 16, 2018

Thank you for a prompt response!
I tested the 2.2.2 version (reported on 2.2) and you are right the download dialog issue is fixed however there is still an issue with not navigating to the exam URL when download dialog is closed.
The download dialog is also not configurable to be disabled.

@t00
Copy link
Author

t00 commented Nov 16, 2018

There is an additional issue related to cancelling the download window - if downloading is cancelled (SEB 2.2.2), there is no message about SEB being already open in exam mode (fails silently) but when user attempts to download the exam again, the download window is stuck on downloading the exam indefinitely (number of bytes downloaded is visible) until user presses cancel.

@danschlet
Copy link
Member

We'll have a detailed look at it before finalizing 2.2.3. I guess I misunderstood what you meant with "download dialog": The Firefox "download/open file with" dialog is the one which we cannot prevent to be displayed for arbitrary file types (it should not be displayed for .seb files, which seems to be broken in some cases, although it doesn't happen anymore when canceling the dialogs).

The download dialog window we introduced with SEB 2.2 has an important function: When the seb(s):// link points to a .seb file on an authenticated server, then in case of web-based authentication, the user login page needs to be loaded in this download window. It's not in any case possible to detect an authentication challenge (depending on which authentication method used on the server). Therefore the download dialog serves an important purpose. We will just check that closing it (or pressing cancel) doesn't lead to an undefined state.

The browser engine in SEB 2.x is end-of-life (XUL browser application), as this Firefox embedding can only be used up to Firefox 52 ESR. Therefore we will only do important bug fixes in the SEB 2.x browser and leave all other improvements to SEB 3.0. All updates to SEB 2.x for Windows delay the release of 3.0.

As mentioned before, any institution which wants to speed up SEB development should join the SEB Consortium as paying member. There's no such thing as a free lunch...

@danschlet danschlet reopened this Nov 16, 2018
@t00
Copy link
Author

t00 commented Nov 16, 2018

Thank you for explaining the purpose of the download window - in our use case the seb file is served from the same domain and same server hence the user is already authenticated when the download is initiated.

I fully understand that the main focus is on SEB 3.0 which surely will improve user experience and development. Closing of the authentication window can potentially be an issue for all SEB users with preconfigured SEB (as opposed to downloading exam settings when clicked outside of SEB).

As we found out only a handful of students during the exam, when waiting for some feedback on the SEB window due to limited connectivity, are eager to press and click anywhere with hope for the exam to start faster and have more time to finish it.

I will be happy to investigate the issue further and provide a fix for this problem as a pull request next week as I have some time scheduled for it anyway so I can cook a "free lunch" from my ingredients 😏

@danschlet
Copy link
Member

Your contribution to the SEB kitchen is highly welcome, as long as it's in line with our diet ;-) I guess the problem when closing the authentication dialog (even though this dialog is displayed by the .NET SEB application) has to do with an issue in the seb2 XUL browser app. The code for the seb2 browser is not so easy to understand and our seb2 browser developer has limited availability at least until end of the year, so if you find a fix for the problem when the download authentication window this would be great. Otherwise we might have to postpone this to a later SEB 2.x update.

dbuechel added a commit that referenced this issue Feb 22, 2019
Issue #58 - Downloading seb:// or sebs:// settings in the SEB opens additional dialogs #60 - fix
danschlet added a commit to eqsoft/seb2 that referenced this issue May 23, 2019
…on is in progress (password dialog is shown or reconfiguration error is still displayed)

Downloading seb:// or sebs:// settings in the SEB opens additional dialogs - added an option to disable the download window enabling background download of the seb file (no UI option to configure it).
See SafeExamBrowser/seb-win#58
and SafeExamBrowser/seb-win#61
danschlet added a commit that referenced this issue May 23, 2019
Preventing the cancelling of the download dialog when SEB configuration is in progress (password dialog is shown or reconfiguration error is still displayed)
Downloading seb:// or sebs:// settings in the SEB opens additional dialogs - added an option to disable the download window enabling background download of the seb file (no UI option to configure it).
See #58
and #61

which was lost because it wasn't pushed into the seb2 browser app repository.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants