Index: openacs-4/packages/xowf/catalog/xowf.de_DE.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/catalog/xowf.de_DE.ISO-8859-1.xml,v
diff -u -r1.2.2.40 -r1.2.2.41
--- openacs-4/packages/xowf/catalog/xowf.de_DE.ISO-8859-1.xml 28 Oct 2020 21:58:41 -0000 1.2.2.40
+++ openacs-4/packages/xowf/catalog/xowf.de_DE.ISO-8859-1.xml 1 Nov 2020 21:05:54 -0000 1.2.2.41
@@ -186,4 +186,11 @@
%achievedPoints% von m�glichen %totalPoints% Punkten, %percentage%%, Note: %grade%
Name enth�lt zumindest ein ung�ltiges Zeichen
+
+ Detaileinstellungen
+ Zeitablauf
+ Fragen
+ Sicherheit
+ Optionen f�r Online-Beaufsichtigung
+ Detailangaben, welche Funktionen der Online-Beaufsichtigung genutzt werden sollen
Index: openacs-4/packages/xowf/catalog/xowf.en_US.ISO-8859-1.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/catalog/xowf.en_US.ISO-8859-1.xml,v
diff -u -r1.2.2.38 -r1.2.2.39
--- openacs-4/packages/xowf/catalog/xowf.en_US.ISO-8859-1.xml 28 Oct 2020 21:58:41 -0000 1.2.2.38
+++ openacs-4/packages/xowf/catalog/xowf.en_US.ISO-8859-1.xml 1 Nov 2020 21:05:54 -0000 1.2.2.39
@@ -208,4 +208,11 @@
%achievedPoints% (rounded%rounded%) of possible %totalPoints% points, %percentage%%, grade: %grade%
%achievedPoints% of possible %totalPoints% points, %percentage%%, grade: %grade%
Name contains at least one invalid character
+
+ Detailed Configuration
+ Time Management
+ Question Management
+ Security
+ Proctoring Options
+ Options to tailor proctoring behavior
Index: openacs-4/packages/xowf/lib/inclass-exam.wf
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/lib/inclass-exam.wf,v
diff -u -r1.1.2.50 -r1.1.2.51
--- openacs-4/packages/xowf/lib/inclass-exam.wf 28 Oct 2020 21:57:28 -0000 1.1.2.50
+++ openacs-4/packages/xowf/lib/inclass-exam.wf 1 Nov 2020 21:05:54 -0000 1.1.2.51
@@ -82,7 +82,11 @@
-form "#xowf.inclass-exam-draft_exam#"
State published -actions {unpublish} -form_loader load_form -view_method edit \
-form "#xowf.inclass-exam-open#"
-State done -actions {republish open_submission_review restart} -form_loader load_form -view_method edit \
+State done -actions {republish open_submission_review} \
+ -in_role swa {
+ -actions {republish open_submission_review restart}
+ } \
+ -form_loader load_form -view_method edit \
-form "#xowf.inclass-exam-closed#"
State submission_review -actions {close_submission_review} -form_loader load_form -view_method edit \
-form "#xowf.inclass-exam-review#"
@@ -391,6 +395,11 @@
}
${container}::Property return_url -default "" -allow_query_parameter true
+ ${container}::done actions {republish open_submission_review}
+ ${container}::done in_role swa {
+ -actions {republish open_submission_review restart}
+ }
+
#
# Unset the actual query return_url, since we want to use it via
# property. In some cases, we have to set it explicitly from the
@@ -805,8 +814,9 @@
set wf [xowf::test_item::answer_manager get_answer_wf [self]]
set proctoring [:property proctoring]
if {$proctoring ne "" && $proctoring} {
+ set po [:property proctoring_options]
set cLink [export_vars -base [:pretty_link] {
- {m proctor} {link "[:pretty_link -query m=proctor-answer]"}
+ {m proctor} {link "[:pretty_link -query m=proctor-answer&proctoring_options=$po]"}
}]
::${:package_id} returnredirect $cLink
} else {
@@ -855,15 +865,26 @@
set object_id ${:item_id}
set object_url $link
set examination_statement_p [expr {![string match *p.try_out_mode=1* $link]}]
+ set proctoring_options [:property proctoring_options "d c a s"]
+ foreach proctoring_parm {d c a s} flag {desktop_p camera_p audio_p examination_statement_p} {
+ set $flag [expr {$proctoring_parm in $proctoring_options}]
+ }
+ set preview_p [expr {$desktop_p || $camera_p || $audio_p}]
${:package_id} return_page -adp $proctoring_template -variables {
object_id
object_url
- {preview_p true}
+ preview_p
+ desktop_p
+ camera_p
+ audio_p
examination_statement_p
{check_active_p false}
}
} else {
+ #
+ # Minimal fallback in case the proctoring-support is not installed
+ #
return [:www-view [subst {
You ([xo::cc user_id]) are being proctored in exam ${:object_id}!
Index: openacs-4/packages/xowf/www/prototypes/select_question.form.page
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/www/prototypes/Attic/select_question.form.page,v
diff -u -r1.1.2.9 -r1.1.2.10
--- openacs-4/packages/xowf/www/prototypes/select_question.form.page 29 Jul 2020 11:53:27 -0000 1.1.2.9
+++ openacs-4/packages/xowf/www/prototypes/select_question.form.page 1 Nov 2020 21:05:54 -0000 1.1.2.10
@@ -4,7 +4,22 @@
-title "Select Question" \
-anon_instances f \
-text {} \
- -form {{} text/html} \
+ -form {{
+ } text/html} \
-form_constraints {
@cr_fields:hidden
{_title:text,label=#xowf.online-exam-name#,default=#xowf.online-exam-default_name#}
@@ -16,6 +31,7 @@
{time_window:time_span,label=#xowf.Exam_time_window#,help_text=#xowf.Exam_time_window_help_text#}
{signature:boolean,horizontal=true,default=f,label=#xowf.Signature#,help_text=#xowf.Signature_help_text#}
{proctoring:boolean,horizontal=true,default=f,label=#xowf.Proctoring#,help_text=#xowf.Proctoring_help_text#}
+ {proctoring_options:checkbox,horizontal=true,options={Desktop d} {Camera c} {Audio a} {Statement s},default=d c a s,label=#xowf.Proctoring_options#,help_text=#xowf.Proctoring_options_help_text#,swa?:disabled=1}
_description:omit _page_order:omit
}
Index: openacs-4/packages/xowf/www/resources/test-item.css
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/www/resources/test-item.css,v
diff -u -r1.1.2.27 -r1.1.2.28
--- openacs-4/packages/xowf/www/resources/test-item.css 17 Jun 2020 21:59:50 -0000 1.1.2.27
+++ openacs-4/packages/xowf/www/resources/test-item.css 1 Nov 2020 21:05:54 -0000 1.1.2.28
@@ -271,3 +271,10 @@
background-color: #337ab7;
height: 100%;
}
+
+/*
+ * Indent collapsed content a little. (can/should be improved)
+ */
+form.Form-inclass-exam div.collapse {
+ margin-left: 2em;
+}