SafeExamBrowser / seb-win-refactoring

Safe Exam Browser for Windows.
https://www.safeexambrowser.org/news_en.html
Mozilla Public License 2.0
192 stars 129 forks source link

Safe Exam Browser for Windows 11 ARM #1024

Open iduna-13 opened 1 week ago

iduna-13 commented 1 week ago

Is your feature request related to a problem? Please describe. At our university (FHGR) more and more students buy new laptops with Windows ARM. For example Lenovo Yoga Slim 7 X. Thus, the IT department needs to provide many replacement laptops for the exams with the Safe Exam Browser. A version of the Safe Exam Browser that runs on Windows ARM is needed as soon as possible.

Describe the solution you'd like A version of Safe Exam Browser which is compatible with Windows ARM and runs without any disadvantages compared to normal Windows or Mac OS computers.

Describe alternatives you've considered The only alternative that works, is to use another laptop but that is not a valid longterm solution because we expect the number of Windows ARM laptos to increase.

dbuechel commented 1 week ago

According to our internal testing, SEB works just fine on ARM devices and we won't be able to provide a native build in the near future (see also #941). Thus, could you please elaborate what exactly isn't working or what kind of issues you're experiencing?

iduna-13 commented 1 week ago

Hi Damian Thanks for the fast reply and the information. (Our Blended Learning Center just told us that SEB doesn't work on Windows ARM.)

The installation of the SEB works just fine but when we try to start it, it takes some minutes when nothing happens and after that we receive the following 2 error messages: Screenshot 2024-11-14 205432 Screenshot 2024-11-10 214706

I also attached the log file: 2024-11-10_21h46m21s_Runtime.txt

We tried to start the SEB normally through moodle (open the exam link e.g. https://moodle.fhgr.ch/mod/quiz/accessrule/sebserver/autologinkeys.php?id=774662&sesskey=wZZWxyCE8D) and also to start the SEB app from windows. Is there any configuration in Windows that might help?

Thank you very much in advance!

dbuechel commented 1 week ago

This appears to be a network issue and not a general problem or malfunction of SEB on ARM devices:

2024-11-10 21:46:35.500 [06] - INFO: Initializing application configuration...
2024-11-10 21:46:35.554 [06] - INFO: Found command-line argument for configuration resource: 'sebs://moodle.fhgr.ch/mod/quiz/accessrule/sebserver/sebclientautologin.php?...SEBServerSettings.seb', the URI is valid.
2024-11-10 21:46:35.675 [06] - INFO: [ConfigurationRepository] Initialized default settings, now attempting to load 'sebs://moodle.fhgr.ch/mod/quiz/accessrule/sebserver/sebclientautologin.php?...SEBServerSettings.seb'...
[...]
2024-11-10 21:46:35.737 [06] - DEBUG: [NetworkResourceLoader] Sending HEAD request for 'https://moodle.fhgr.ch/mod/quiz/accessrule/sebserver/sebclientautologin.php?...SEBServerSettings.seb'...
2024-11-10 21:46:36.505 [06] - DEBUG: [NetworkResourceLoader] Received response '404 - Not Found'.
2024-11-10 21:46:36.515 [06] - DEBUG: [NetworkResourceLoader] HEAD request was not successful, trying GET request for 'https://moodle.fhgr.ch/mod/quiz/accessrule/sebserver/sebclientautologin.php?...SEBServerSettings.seb'...
2024-11-10 21:46:36.934 [06] - DEBUG: [NetworkResourceLoader] Received response '404 - Not Found'.
2024-11-10 21:46:36.943 [06] - DEBUG: [NetworkResourceLoader] Can't load 'sebs://moodle.fhgr.ch/mod/quiz/accessrule/sebserver/sebclientautologin.php?...SEBServerSettings.seb' since its URI scheme is not supported or the resource is unavailable.
2024-11-10 21:46:36.953 [06] - WARNING: [ConfigurationRepository] No resource loader found for 'sebs://moodle.fhgr.ch/mod/quiz/accessrule/sebserver/sebclientautologin.php?...SEBServerSettings.seb'!
2024-11-10 21:46:57.841 [06] - WARNING: The configuration has failed!

When trying to access the configuration resource to be used for the session, SEB cannot access it resp. receives a 404 - Not Found response.

Also, you appear to be using the Moodle auto-login functionality: According to my understanding, that feature is not (yet) finished and does not work correctly with SEB for Windows, but maybe I am simply not up to date with the latest development on Moodle side.

dbuechel commented 1 week ago

@nexterday Do you happen to have any pertinent information regarding the auto-login functionality on Moodle?

nexterday commented 1 week ago

The autologin would fallback to normal moodle login on SEB Win and auto-login on Mac. This mechanism (using SebServer) has no effect on how SEB Client should behave shall autologin fail. i.e autologin fails, moodle will fallback to normal login.

The issue you are encountering here is that the SEBServerSettings.seb file has not been actually uploaded to moodle via sebserver. Either you havent initiated the config file on sebserver to be sent to moodle, or simple the upload failed in background (without sebserver logs, its hard to tell if failed or not).

To check if the sebconfig file (called SEBServerSettings.seb) is uploaded on moodle via SebServer, you can call this link directly (first, login as admin to moodle, then paste/click on this url): https://moodle.fhgr.ch/pluginfile.php/1114821/quizaccess_sebserver/filemanager_sebserverconfigfile/0/SEBServerSettings.seb

If the link gives you 404 (while you are actually logged in as admin from normal browser), then either it was never set by SebServer side, or the upload (also via SebServer) has failed (logs would confirm this).

@anhefti can you please confirm the process/steps of sending SEBServerSettings to moodle?

dbuechel commented 1 week ago

That would then confirm my supposition, thanks @nexterday!

nexterday commented 1 week ago

I just checked the link with login, and the file does exist, and also the exam started fine on my setup. can you please confirm that the setup is still not working for you so we can inspect further?

dbuechel commented 1 week ago

@iduna-13 I was able to re-test the latest release build (SEB 3.8.0) on our internal ARM testing device and must unfortunately confirm the startup delay. I suspect this to be a (performance) issue with the emulation layer resp. Windows itself when running non-native applications on ARM.

Luckily, the issue appears to only affect the 64-bit build of SEB. You can thus workaround the problem by simply installing the 32-bit (x86) build of Safe Exam Browser for the time being.

iduna-13 commented 1 week ago

I tested it again and it works - with the startup delay - if I download the seb configuration (https://moodle.fhgr.ch/pluginfile.php/1114541/quizaccess_sebserver/filemanager_sebserverconfigfile/0/SEBServerSettings.seb?forcedownload=1?forcedownload=1) from Moodle and open it in Windows instead of clicking on the button (https://moodle.fhgr.ch/mod/quiz/accessrule/sebserver/autologinkeys.php?id=774398&sesskey=Pdh4fxlAOc) in Moodle.

Unfortunately I don't have admin access on Moodle so I couldn't test that.

I also installed the 32-bit build of SEB and tested it again. It seems to work perfectly fine. Thank you!