Index: openacs-4/packages/proctoring-support/proctoring-support.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/proctoring-support/proctoring-support.info,v diff -u -r1.1.2.12 -r1.1.2.13 --- openacs-4/packages/proctoring-support/proctoring-support.info 20 Jan 2021 15:13:06 -0000 1.1.2.12 +++ openacs-4/packages/proctoring-support/proctoring-support.info 20 Jan 2021 16:21:54 -0000 1.1.2.13 @@ -10,7 +10,7 @@ f proctoring - + Antonio Pisano Set of tools to implement proctoring of user interaction Wirtschaftsuniversität Wien @@ -21,7 +21,7 @@ No real UI is provided by the package itself. Other packages must integrate the provided includes. 0 - + Index: openacs-4/packages/proctoring-support/sql/postgresql/proctoring-support-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/proctoring-support/sql/postgresql/proctoring-support-create.sql,v diff -u -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/proctoring-support/sql/postgresql/proctoring-support-create.sql 20 Jan 2021 15:13:06 -0000 1.1.2.2 +++ openacs-4/packages/proctoring-support/sql/postgresql/proctoring-support-create.sql 20 Jan 2021 16:21:54 -0000 1.1.2.3 @@ -19,6 +19,7 @@ -- closed for every day where proctoring -- is enabled (e.g. 20:00) preview_p boolean not null default false, -- display a preview of recording to proctored user + audio_p boolean not null default true, -- do we record audio? camera_p boolean not null default true, -- do we record the camera? desktop_p boolean not null default true, -- do we record the desktop? proctoring_p boolean not null default true, -- do the actual proctoring Index: openacs-4/packages/proctoring-support/tcl/proctoring-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/proctoring-support/tcl/proctoring-procs.tcl,v diff -u -r1.1.2.5 -r1.1.2.6 --- openacs-4/packages/proctoring-support/tcl/proctoring-procs.tcl 20 Jan 2021 15:13:06 -0000 1.1.2.5 +++ openacs-4/packages/proctoring-support/tcl/proctoring-procs.tcl 20 Jan 2021 16:21:54 -0000 1.1.2.6 @@ -23,6 +23,7 @@ {-enabled_p true} {-examination_statement_p true} {-proctoring_p true} + {-audio_p true} {-camera_p true} {-desktop_p true} {-preview_p false} @@ -37,8 +38,8 @@ @param proctoring_p Do the actual proctoring. This allows one to have only the examination statement, without actually taking and uploading pixctures/sound. - @param camera_p Record the camera. Currently, if this is set to - false no audio will also be recorded. + @param audio_p Record audio. + @param camera_p Record the camera. @param desktop_p Record the desktop @param examination_statement_p Display the examination statement @param preview_p if specified, a preview of recorded inputs will @@ -63,6 +64,7 @@ start_time, end_time, preview_p, + audio_p, camera_p, desktop_p, proctoring_p, @@ -75,9 +77,10 @@ :start_time, :end_time, :preview_p, + :audio_p, :camera_p, :desktop_p, - ((:camera_p or :desktop_p) and :proctoring_p), + ((:audio_p or :camera_p or :desktop_p) and :proctoring_p), :examination_statement_p ) on conflict(object_id) do update set enabled_p = :enabled_p, @@ -86,9 +89,10 @@ start_time = :start_time, end_time = :end_time, preview_p = :preview_p, + audio_p = :audio_p, camera_p = :camera_p, desktop_p = :desktop_p, - proctoring_p = ((:camera_p or :desktop_p) and :proctoring_p), + proctoring_p = ((:audio_p or :camera_p or :desktop_p) and :proctoring_p), examination_statement_p = :examination_statement_p } } @@ -108,6 +112,7 @@ set end_time "" set enabled_p false set preview_p true + set audio_p false set camera_p false set desktop_p false set proctoring_p false @@ -119,6 +124,7 @@ to_char(start_time, 'HH24:MI:SS') as start_time, to_char(end_time, 'HH24:MI:SS') as end_time, case when preview_p then 'true' else 'false' end as preview_p, + case when audio_p then 'true' else 'false' end as audio_p, case when camera_p then 'true' else 'false' end as camera_p, case when desktop_p then 'true' else 'false' end as desktop_p, case when proctoring_p then 'true' else 'false' end as proctoring_p, @@ -135,6 +141,7 @@ start_time $start_time \ end_time $end_time \ preview_p $preview_p \ + audio_p $audio_p \ camera_p $camera_p \ desktop_p $desktop_p \ proctoring_p $proctoring_p \ Index: openacs-4/packages/proctoring-support/tcl/test/proctoring-test-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/proctoring-support/tcl/test/proctoring-test-procs.tcl,v diff -u -r1.1.2.6 -r1.1.2.7 --- openacs-4/packages/proctoring-support/tcl/test/proctoring-test-procs.tcl 20 Jan 2021 15:13:06 -0000 1.1.2.6 +++ openacs-4/packages/proctoring-support/tcl/test/proctoring-test-procs.tcl 20 Jan 2021 16:21:54 -0000 1.1.2.7 @@ -64,6 +64,7 @@ start_time end_time preview_p + audio_p camera_p desktop_p proctoring_p @@ -122,7 +123,8 @@ aa_true "Proctoring on $object_id is active" [::proctoring::active_p -object_id $object_id] aa_log "Disable camera and desktop" - ::proctoring::configure -object_id $object_id -proctoring_p true -camera_p false -desktop_p false + ::proctoring::configure -object_id $object_id \ + -proctoring_p true -camera_p false -desktop_p false -audio_p false set conf [::proctoring::get_configuration -object_id $object_id] aa_false "No camera and no desktop means no proctoring" [dict get $conf proctoring_p]