• last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Provide an api to store proctoring artifacts, and a callback hook for postprocessing

  1. … 4 more files in changeset.
Introduce a data model for "proctoring artifacts", aka the pictures

and audios, which so far have only lived as files in the filesystem

named after a convention

The new datamodel allows to quickly and reliably retrieve the pictures

collected by proctoring and also provides for a technical space, in

form of a JSON metadata column, to store additional information coming

from e.g. postprocessing phases.

The idea is to use this feature to provide reviewing tools of proctoring results and allow for flexile downstream postprocessing.

The file naming convention has not been changed for the time being, so this would be

retro-compatible. However, integrators should start relying on the new

data model to retrieve pictures.

  1. … 6 more files in changeset.
Get the user_id directly

Not rely on a deprecated command to check for websockets, improve idiom

Proctoring enforcing reform:

so far, to proctor applications that do not have a "single point of entry", such as e.g. dotlrn communities, we have integrated the lib/proctoring-enforce include into the website master template. Now we improve from this by introducing a callback mechanism that allows the single packages to decide if a request is "theirs to be proctored" or not.

  1. … 3 more files in changeset.
Allow to pass the doc array to the master (e.g. for the title)

Prefer the more modern api and fallback on the old idiom to support older NaviServer versions

reduce verbosity

fix typo

added support for optionally turning off proctoring recodings

This options is useful e.g. for e.g. mock exams to avoid privacy issues.

  1. … 8 more files in changeset.
Improve doc, remove needless properties

file proctoring-configure.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./proctoring-configure.tcl
UI include to configure proctoring on an arbitrary ACS object, meant to be integrated downstream into custom UIs

  1. … 3 more files in changeset.
file proctoring-configure.adp was initially added on branch oacs-5-10.

    • -0
    • +0
    ./proctoring-configure.adp
Correct hash challenging:

actually, the hash sent by the browser changes based on the requested URL, so it does not make sense to set it directly.

  1. … 2 more files in changeset.
Avoid double encoding of base URL

Basic backend support for Safe Exam Browser (https://safeexambrowser.org/):

via the API is possible to associate a Safe Exam Browser configuration and its validation key to

the proctored object. The proctored page will then take care of enforcing that, if the safe exam

browser is in use, the supplied request header matches with the configuration and the URL.

When such match fails, we now return the configuration file to the browser, so that users can

open it and restart their session properly configured.

  1. … 7 more files in changeset.
Formatting change

Now that the proctoring display UI has been ported, notify by default new proctoring events via websockets

  1. … 2 more files in changeset.
Refactoring, as proctoring files are not only pictures, make api public, write automated test

  1. … 2 more files in changeset.
Implement a checksum + cache mechanism to check whether user is sending the same file multiple times:

this is needed to address the problem of timeouts, where the server might process a request even when the client has given up and rescheduled the upload. We now store the latest checksum that has been received and compare it with the new picture.

  1. … 2 more files in changeset.
Some changes to allow including the UI in pages that need query parameters (e.g. the 'm' method)

Make proctoring-display provide a master, according to a parameter

Improve doc, bring param in the contract

Port of the downstream proctoring-display user interface, minus the WU-specific stuff, that we will maintain locally

file proctoring-display.adp was initially added on branch oacs-5-10.

    • -0
    • +0
    ./proctoring-display.adp
file proctoring-display.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./proctoring-display.tcl
added editor hints

improve spelling

  1. … 3 more files in changeset.
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.