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.23 -r1.2.2.24 --- openacs-4/packages/xowf/catalog/xowf.de_DE.ISO-8859-1.xml 16 Apr 2020 16:43:54 -0000 1.2.2.23 +++ openacs-4/packages/xowf/catalog/xowf.de_DE.ISO-8859-1.xml 19 Apr 2020 15:30:45 -0000 1.2.2.24 @@ -52,6 +52,7 @@ Schalte Pr�fung frei Schlie�e Pr�fung Schalte Pr�fung nochmals frei + Pr�fungseinsicht Aktualisieren Drucken @@ -73,6 +74,11 @@ Bezeichung der Pr�fung Pr�fung aus ... + Einsicht �ffnen + �ffne Einsicht f�r Studierende + Schlie�e Einsicht + Schlie�e Einsicht f�r Studierende + Teilnehmer Teilnehmer haben diese Frage beantwortet Bitte beantworten Sie @@ -120,14 +126,16 @@ MC-Frage SC-Frage Dateiabgabefrage - Anordnungsfrage + Anordnungsfrage - Entwurf des Inclass-Exams (nicht freigegeben) Inclass-Exam ge�ffnet (Zur Bearbeitung freigegeben) Inclass-Exam geschlossen + Inclass-Exam geschlossen (Einsicht ge�ffnet) + Die Einsicht f�r diese Pr�fung ist nicht ge�ffnet. + Anzahl der �nderungen - Dauer + Bearbeitungsdauer nicht abgegeben abgegeben Status @@ -142,4 +150,5 @@ Wird die angezeigte Bearbeitungszeit strikt vom Lehrenden vorgegeben, oder hat jeder Student die Anzeige seiner aktuellen Bearbeitsdauer, auch wenn er etwas sp�ter beginnt Ver�ffentlichung der Pr�fung seit der Ver�ffentlichung + Erreichte Punkte 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.20 -r1.2.2.21 --- openacs-4/packages/xowf/catalog/xowf.en_US.ISO-8859-1.xml 2 Apr 2020 16:20:04 -0000 1.2.2.20 +++ openacs-4/packages/xowf/catalog/xowf.en_US.ISO-8859-1.xml 19 Apr 2020 15:30:45 -0000 1.2.2.21 @@ -62,59 +62,6 @@ Create Exam Review Exam - Final submission - Save Answer - Start Exam - Leave Exam - Publish Exam - Close Exam - Open Exam again - Publish exam again, existing answers are NOT deleted. - Publish exam (already existing answers will be deleted) - Go back to start where questions can be selected (existing anwers will be deleted). - Create a fresh Exam (will delete all answers to this exam) - - Listing of Filled-out Exams - Do you want to try out the exam? - Students can now answer via - - The Exam has not been published - The Exam is finished - Exam Protocol - Results - Submitted exams - Persons have submitted exam - Name of Exam - Exam ... - - - The quiz has not been published - The quiz is open - The quiz is closed - Draft (quiz not published) - Create quiz - Publish quiz - Get answers for this question - Close quiz - Publish quiz again - Save Answer" - Submit - Waiting for next question ... - The quiz is currently not available for answering - You have already answered question %number% - Listing of Submitted Quizzes - Name of Quiz - Quiz ... - - Drag and Drop Questions ... - - Randomized Item Order - Present question of exam to every student in different order - - Submit and Finish Exam - You have finished this exam. - - Short Text Question Single Choice Question Multiple Choice Question Text Question @@ -134,7 +81,7 @@ MC Interaction SC Interaction Upload Interaction - Ordering Interaction + Ordering Interaction Online Exam Inclass Quiz @@ -143,6 +90,8 @@ Draft Inclass Exam (not published) Inclass Exam open (published) Inclass Exam closed + Inclass Exam closed (review open) + Exam review for this exam is not open Created Questions Created Assessments @@ -162,4 +111,5 @@ Is the exam duration strictly controlled by the lecturer, or does every student get his working time displayed, independent from his starting time. Exam Published since published + Achieved Points Index: openacs-4/packages/xowf/lib/inclass-exam-answer.wf =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/lib/inclass-exam-answer.wf,v diff -u -r1.1.2.12 -r1.1.2.13 --- openacs-4/packages/xowf/lib/inclass-exam-answer.wf 10 Apr 2020 14:14:09 -0000 1.1.2.12 +++ openacs-4/packages/xowf/lib/inclass-exam-answer.wf 19 Apr 2020 15:30:45 -0000 1.1.2.13 @@ -190,7 +190,6 @@ set parent_id [$obj parent_id] #:msg "working_form_loader [$obj instance_attributes]" set parent_obj [::xo::db::CrClass get_instance_from_db -item_id $parent_id] - set parent_state [$parent_obj state] # # In case shuffling is required, fetch via the shuffled position. 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.19 -r1.1.2.20 --- openacs-4/packages/xowf/lib/inclass-exam.wf 18 Apr 2020 17:32:26 -0000 1.1.2.19 +++ openacs-4/packages/xowf/lib/inclass-exam.wf 19 Apr 2020 15:30:45 -0000 1.1.2.20 @@ -37,14 +37,15 @@ # # - "answer" (for students), # - "proctor" (for students), +# - "view-my-exam" (for students), # - "edit" (for students), # - "poll" (for teachers), # - "print-answers" (for teachers), # - "print-answer-table" (for teachers), # - "delete" (for teachers), # - "qrcode" (for teachers) # -# Gustaf Neumann, Feb 2012 +# Gustaf Neumann, Feb 2012-2020 ######################################################################## set :autoname 1 ;# to avoid editable name field set :policy ::xowf::test_item::test-item-policy-publish @@ -60,6 +61,10 @@ -title #xowf.online-exam-title-republish# Action restart -next_state initial -label #xowf.restart# \ -title #xowf.online-exam-title-restart# +Action open_submission_review -next_state submission_review -label #xowf.open_submission_review# \ + -title #xowf.open_submission_review_title# +Action close_submission_review -next_state done -label #xowf.close_submission_review# \ + -title #xowf.close_submission_review_title# State parameter { {extra_css {/resources/xowf/test-item.css}} @@ -69,8 +74,10 @@ -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 restart} -form_loader load_form -view_method edit \ +State done -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#" ######################################################################## # Activate action select: After the teacher has selected the @@ -106,6 +113,12 @@ :unpublish_link $obj } +open_submission_review proc activate {obj} { + set aLink [$obj pretty_link -query m=view-my-exam] + util_user_message -html \ + -message "[$obj name] exam review is available as [ns_quotehtml $aLink]" +} + ######################################################################## # publish_link: make the user participation link available for the # target group @@ -116,7 +129,6 @@ -message "[$obj name] is available as [ns_quotehtml $aLink]" # TODO: make it happen in the LMS } - ######################################################################## # unpublish_link: remove the user participation link for the target # group @@ -208,6 +220,7 @@ switch $state { "created" - "done" - + "submission_review" - "published" { # # In inclass cases, never show all questions on screen, since @@ -239,7 +252,7 @@ set answerStatus "" set marked "" - if {$state in {published done}} { + if {$state in {published done submission_review}} { if {$state eq "done"} { [$ctx object] setCSSDefaults set marked [xowf::test_item::answer_manager marked_results -obj $obj -wf $wf $combined_form_info] @@ -366,9 +379,13 @@ # Provide feedback to the student about the results. # :proc www-view-my-exam {} { - ::xo::cc set_query_parameter creation_user [ad_conn user_id] - ::xo::cc set_query_parameter as_student 1 - :www-print-answers + if {${:state} eq "submission_review"} { + ::xo::cc set_query_parameter creation_user [ad_conn user_id] + ::xo::cc set_query_parameter as_student 1 + :www-print-answers + } else { + :www-view "#xowf.Exam-review-not-open#" + } } ######################################################################## @@ -378,15 +395,18 @@ # :proc www-print-answers {} { set HTML "" + set heading "" + set as_student [${:package_id} query_parameter as_student:boolean 0] + set ctx [::xowf::Context require [self]] set wf [xowf::test_item::answer_manager get_answer_wf [self]] if {$wf ne ""} { set package_id [$wf package_id] set filter_id [$package_id query_parameter id:integer ""] set creation_user [$package_id query_parameter creation_user:integer ""] set revision_id [$package_id query_parameter rid:integer ""] - set as_student [$package_id query_parameter as_student:boolean 0] + set items [xowf::test_item::answer_manager get_wf_instances \ {*}[expr {$creation_user ne "" ? "-creation_user $creation_user" : ""}] \ {*}[expr {$filter_id ne "" ? "-item_id $filter_id" : ""}] \ @@ -417,10 +437,10 @@ set fullName [$i set online-exam-fullName] set state [$i state] - if {$state ne "done"} { - ns_log notice "online-exam: submission of $userName is not finished (state $state)" - #continue - } + #if {$state ne "done"} { + # ns_log notice "online-exam: submission of $userName is not finished (state $state)" + # #continue + #} set revisions [$i get_revision_sets] if {[llength $revisions] <=1 } { @@ -469,7 +489,7 @@ set proctoring_dir [acs_root_dir]/proctoring/${:item_id}/$user_id/ set files [glob -nocomplain -path $proctoring_dir *.*] - ns_log notice "proctoring_dir $proctoring_dir files $files" + #ns_log notice "proctoring_dir $proctoring_dir files $files" if {$revision_id ne ""} { set filtered_revisions [xowf::test_item::answer_manager revisions_up_to $revisions $revision_id] @@ -481,9 +501,6 @@ set end_date [ns_set get [lindex $filtered_revisions end] creation_date] set start_clock [clock scan [::xo::db::tcl_date $start_date tz_var]] set end_clock [clock scan [::xo::db::tcl_date $end_date tz_var]] - foreach r $revisions { - ns_log notice "$r: [ns_set get $r revision_id] creation date [ns_set get $r creation_date]" - } set image "" ns_log notice "start date $start_date end_date $end_date / $start_clock $end_clock" @@ -518,7 +535,6 @@ append markup \n } - set question_form [subst {
@@ -538,10 +554,11 @@ -view $view \ -achieved_points $achieved_points \ $i] + set heading "$userName · $fullName · $pretty_date" append HTML [subst {
-

$userName · $fullName · $pretty_date

+ [expr {$as_student ? "" : "

$heading

"}] $runtime_panel
$signatureString @@ -553,8 +570,16 @@ if {$HTML eq ""} { set HTML "#xowiki.no_data#" + } + if {$as_student} { + if {$heading eq ""} { + set userName [acs_user::get_element -user_id [ad_conn user_id] -element username] + set fullName [::xo::get_user_name [ad_conn user_id]] + set heading "$userName - $fullName" + } + set HTML "

#xowf.online-exam-review-protocol# - $heading

\n$HTML" } else { - set HTML "

#xowf.online-exam-protocol#

$HTML" + set HTML "

#xowf.online-exam-protocol#

\n$HTML" } set return_url [$package_id query_parameter local_return_url:localurl [:pretty_link]] append HTML "

#xowiki.back#

\n" Index: openacs-4/packages/xowf/tcl/test-item-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/tcl/test-item-procs.tcl,v diff -u -r1.7.2.48 -r1.7.2.49 --- openacs-4/packages/xowf/tcl/test-item-procs.tcl 18 Apr 2020 16:58:34 -0000 1.7.2.48 +++ openacs-4/packages/xowf/tcl/test-item-procs.tcl 19 Apr 2020 15:30:45 -0000 1.7.2.49 @@ -1486,6 +1486,7 @@ set IPinfo "" set statusInfo "" set extraDurationInfo "" + set publishedInfo "" } else { set IPinfo [subst {IP: [:get_IPs $revision_sets]}] set statusInfo "#xowf.Status#: $submission_info
" @@ -1495,7 +1496,7 @@ set achievedPoints [format %.2f [dict get $achieved_points achievedPoints]] set percentage [format %.2f [expr {$achievedPoints*100.0/$possiblePoints}]] set achievedPointsInfo [subst { - Punkte: $achievedPoints von möglichen $possiblePoints Punkten, $percentage% + #xowf.Achieved_points#: $achievedPoints von möglichen $possiblePoints Punkten, $percentage% }] } else { set achievedPointsInfo ""