• last updated 13 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Streamline proctoring upload:

- do not hardcode a timeout, requests will either complete or eventually fail

- use a single event handler at the end of the request to decide if and how to reschedule the upload. This prevents the possibility that the same error event triggers multiple uploads via different handlers

- improve documentation

Make sure that in case of errors that are also detected as timeouts, we do not reschedule the failed picture twice

Address a problem encountered already with proctoring uploads: in cases that count both as timeouts and errors, the rescheduling of the request would happen twice. If the condition persists, the number of requests can grow out of control

fix bug in javascript, when only the screen-stream should be recorded

Allow in the include to selectively disable combinations of audio, camera and desktop recording (at least one stream needs to be enabled for proctoring to happen)

This allows to better tailor proctoring behavior to the user needs and privacy requirements

  1. … 2 more files in changeset.
Handle the case where the iframe URL points to an external website: just skip the iframe-loop check

Always make sure to clear any previously scheduled upload, before scheduling another one

This handles the case when a connection times out (readyState 4 and status = 0). In this case both the rescheduling in the readystatechange handler and in the timeout handler would be executed.

Check stream refactoring: break down better the various error situations so they can be reported to the user

Include stream name in the error message

Enforce also that, after proctoring has successfully started, captured videos do not stop anymore

This could mean that the video entered some invalid state, as we had already defined an event handler to restart a paused video...

Improve error message

Avoid suddent request bursts when e.g. connectivity resumes

Include the technical error message in the popup to the user when missing stream error occurs

  1. … 4 more files in changeset.
Store the previous picture by a deep value copy, rather then by reference, as the original canvas is going to be watermarked

Try to ask the browser to disable noise suppression on the microphone, so that silence detection won't trigger in case of "normal" environmental silence

Allow to turn off the actual upload of proctored files e.g. to implement a test page or when proctoring should just be used as a deterrent

  1. … 2 more files in changeset.
fix condition: blob can either be null or the size of blob is below the threshold

Pass the check_active_p flag down to the backend from the proctored page, update doc

  1. … 2 more files in changeset.
Add semicolon (just for consistency, code was working before as well)

Move examination statement acceptance as last step of the proctoring wizard, localize the accept button, bind ajax logging of acceptance to the actual clicking of the accept button

  1. … 4 more files in changeset.
Increase the threshold to trigger volume too low message from experience in the wild, reset the counter for the grace period, so that user does not receive immediately a new error

Update new message keys from downstream, make system name come from parameter, reactivate volume too low error message

  1. … 5 more files in changeset.
Bring togehter the thresholds in black picture checks to one value

  1. … 1 more file in changeset.
Remove unneeded error message

  1. … 2 more files in changeset.
An own package for proctoring support.

What is there

- adp includes implementing the main proctoring user interaction: desired page can be enclosed in an iframe that will send shaphots taken from browser's camera and microphone at random intervals. Various options can be specified, including custom UI messages and the include can be integrated in custom pages or as part xowiki/xowf object methods

- wizard-based step-by-step configuration of user's setup

- english and german localization

- default proctoring upload endpoints upon package mount

- configuration data-model and api

What is missing

- reporting UI includes (porting from downstream should come shortly)

- some message key is WU specific (but can be customized)

- further parameters/customization

- ...

  1. … 13 more files in changeset.
file proctoring.js was initially added on branch oacs-5-10.

file proctored-page.js was initially added on branch oacs-5-10.

file proctored-page.css was initially added on branch oacs-5-10.

file gif.worker.js.map was initially added on branch oacs-5-10.

file gif.worker.js was initially added on branch oacs-5-10.