Index: openacs-4/packages/xowf/lib/edit-interaction.wf =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/lib/Attic/edit-interaction.wf,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowf/lib/edit-interaction.wf 29 Jul 2020 11:53:26 -0000 1.1.2.1 @@ -0,0 +1,49 @@ +# -*- Tcl -*- +######################################################################## +# Workflow for editing test items +# =============================== +# +# This worflow can be used edit test items of different types, +# where the type of the item can be provided via a query paramter. +# See e.g.: +# +# {entry -name New.Item.TextInteraction -form en:edit-interaction.wf -query p.item_type=Text} +# + +Action save +Action initialize -proc activate {obj} { + set name [$obj name] + if {[$obj is_new_entry $name]} { + set container [[$obj wf_context] wf_container] + set item_type [$container item_type $obj] + $obj title "Fresh '$item_type' interaction ($name)" + } +} + +State initial -actions {save} + +:proc item_type {obj} { + set item_type [$obj property item_type] + if {$item_type eq ""} { + set item_type [ns_queryget p.item_type] + if {$item_type eq ""} {set item_type ShortText} + $obj set_property -new 1 item_type $item_type + } + return $item_type +} +:proc form_name_from_item_type {obj} { + return en:TestItem[:item_type $obj].form +} + + +:object-specific { + set container [[:wf_context] wf_container] + ${container}::initial form [${container} form_name_from_item_type [self]] +} + +# +# Local variables: +# mode: tcl +# tcl-indent-level: 2 +# indent-tabs-mode: nil +# End: Index: openacs-4/packages/xowf/lib/inclass-exam.wf =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/lib/Attic/inclass-exam.wf,v diff -u -N -r1.1.2.38 -r1.1.2.39 --- openacs-4/packages/xowf/lib/inclass-exam.wf 27 Jul 2020 11:12:20 -0000 1.1.2.38 +++ openacs-4/packages/xowf/lib/inclass-exam.wf 29 Jul 2020 11:53:26 -0000 1.1.2.39 @@ -1,50 +1,51 @@ # -*- Tcl -*- ######################################################################## # Inclass-Exam workflow, designed similar to online-exam -# ======================================================== +# ====================================================== # -# Defining exams: This workflow lets a teacher choose from a +# Defining exams: This workflow lets a lecturer choose from a # predefined set of exam questions, which are typically open text, -# short text, single or multiple choice questions. The teacher -# selects test questions via drag and drop. The teacher can perform a +# short text, single or multiple choice questions. The lecturer +# selects test questions via drag and drop. The lecturer can perform a # test run of the created exam, and can get the results via a result # table. # -# Publishing and closing exams: When a teacher is satisfied with the +# Publishing and closing exams: When a lecturer is satisfied with the # exam, the exam can be published. In this step, all answers of the # testing phase are deleted. In the process of publishing, the link to # start the exam is offered to the user. When the exam is published, -# the teacher can see the incoming answers in the report by refreshing +# the lecturer can see the incoming answers in the report by refreshing # the page. When the exam is done, it is unpublished. The workflow -# offers the teacher to see a summary of the results in form of a -# table (an to download the results via csv), or the teacher can +# offers the lecturer to see a summary of the results in form of a +# table (an to download the results via csv), or the lecturer can # produce a printer friendly version of the answers. # # An admin might with to add the following entries to the folder to ease # creation of exercises and exams # # {clear_menu -menu New} # -# {entry -name New.Item.TextInteraction -form en:TestItemText.form} -# {entry -name New.Item.ShortTextInteraction -form en:TestItemShortText.form} -# {entry -name New.Item.MCInteraction -form en:TestItemMC.form} -# {entry -name New.Item.SCInteraction -form en:TestItemSC.form} -# {entry -name New.Item.ReorderInteraction -form en:TestItemReorder.form} -# {entry -name New.Item.UploadInteraction -form en:TestItemUpload.form} -# {entry -name New.App.Exam -label "Online Exam" -form en:online-exam.wf} +# {entry -name New.Item.TextInteraction -form en:edit-interaction.wf -query p.item_type=Text} +# {entry -name New.Item.ShortTextInteraction -form en:edit-interaction.wf -query p.item_type=ShortText} +# {entry -name New.Item.SCInteraction -form en:edit-interaction.wf -query p.item_type=SC} +# {entry -name New.Item.MCInteraction -form en:edit-interaction.wf -query p.item_type=MC} +# {entry -name New.Item.ReorderInteraction -form en:edit-interaction.wf -query p.item_type=Reorder} +# {entry -name New.Item.UploadInteraction -form en:edit-interaction.wf -query p.item_type=Upload} # +# {entry -name New.App.Exam -label "Inclass Exam" -form en:inclass-exam.wf} +# # The policy has to allow the following methods on FormPages: # # - "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), -# - "print-participants" (for teachers), -# - "delete" (for teachers), -# - "qrcode" (for teachers) +# - "poll" (for lecturers), +# - "print-answers" (for lecturers), +# - "print-answer-table" (for lecturers), +# - "print-participants" (for lecturers), +# - "delete" (for lecturers), +# - "qrcode" (for lecturers) # # Gustaf Neumann, Feb 2012-2020 ######################################################################## @@ -81,7 +82,7 @@ -form "#xowf.inclass-exam-review#" ######################################################################## -# Activate action select: After the teacher has selected the +# Activate action select: After the lecturer has selected the # exercises, the answer workflow is created. # select proc activate {obj} { @@ -848,7 +849,7 @@ set id ${:item_id} set proctoring_dir [acs_root_dir]/proctoring/$id/$user_id set png_path $proctoring_dir/$type-$ts.$ext - #ns_log notice "image: $png_path ... [file exists $$png_path]" + #ns_log notice "image: $png_path ... [ad_file exists $$png_path]" ns_returnfile 200 [ns_guesstype $ts.$ext] $png_path ad_script_abort } Index: openacs-4/packages/xowf/lib/inclass-quiz.wf =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/lib/Attic/inclass-quiz.wf,v diff -u -N -r1.1.2.12 -r1.1.2.13 --- openacs-4/packages/xowf/lib/inclass-quiz.wf 8 Mar 2020 17:21:50 -0000 1.1.2.12 +++ openacs-4/packages/xowf/lib/inclass-quiz.wf 29 Jul 2020 11:53:26 -0000 1.1.2.13 @@ -19,11 +19,13 @@ # # {clear_menu -menu New} # -# {entry -name New.Item.TextInteraction -form en:TestItemText.form} -# {entry -name New.Item.ShortTextInteraction -form en:TestItemShortText.form} -# {entry -name New.Item.MCInteraction -form en:TestItemMC.form} -# {entry -name New.Item.SCInteraction -form en:TestItemSC.form} -# {entry -name New.Item.ReorderInteraction -form en:TestItemReorder.form} +# {entry -name New.Item.TextInteraction -form en:edit-interaction.wf -query p.item_type=Text} +# {entry -name New.Item.ShortTextInteraction -form en:edit-interaction.wf -query p.item_type=ShortText} +# {entry -name New.Item.SCInteraction -form en:edit-interaction.wf -query p.item_type=SC} +# {entry -name New.Item.MCInteraction -form en:edit-interaction.wf -query p.item_type=MC} +# {entry -name New.Item.ReorderInteraction -form en:edit-interaction.wf -query p.item_type=Reorder} +# {entry -name New.Item.UploadInteraction -form en:edit-interaction.wf -query p.item_type=Upload} +# # {entry -name New.App.Quiz -label "Inclass Quiz" -form en:inclass-quiz.wf} # # The policy has to allow the following methods on FormPages: Index: openacs-4/packages/xowf/lib/online-exam.wf =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/lib/online-exam.wf,v diff -u -N -r1.6.2.25 -r1.6.2.26 --- openacs-4/packages/xowf/lib/online-exam.wf 25 Apr 2020 21:35:12 -0000 1.6.2.25 +++ openacs-4/packages/xowf/lib/online-exam.wf 29 Jul 2020 11:53:26 -0000 1.6.2.26 @@ -25,12 +25,13 @@ # # {clear_menu -menu New} # -# {entry -name New.Item.TextInteraction -form en:TestItemText.form} -# {entry -name New.Item.ShortTextInteraction -form en:TestItemShortText.form} -# {entry -name New.Item.MCInteraction -form en:TestItemMC.form} -# {entry -name New.Item.SCInteraction -form en:TestItemSC.form} -# {entry -name New.Item.ReorderInteraction -form en:TestItemReorder.form} -# {entry -name New.Item.UploadInteraction -form en:TestItemUpload.form} +# {entry -name New.Item.TextInteraction -form en:edit-interaction.wf -query p.item_type=Text} +# {entry -name New.Item.ShortTextInteraction -form en:edit-interaction.wf -query p.item_type=ShortText} +# {entry -name New.Item.SCInteraction -form en:edit-interaction.wf -query p.item_type=SC} +# {entry -name New.Item.MCInteraction -form en:edit-interaction.wf -query p.item_type=MC} +# {entry -name New.Item.ReorderInteraction -form en:edit-interaction.wf -query p.item_type=Reorder} +# {entry -name New.Item.UploadInteraction -form en:edit-interaction.wf -query p.item_type=Upload} +# # {entry -name New.App.Exam -label "Online Exam" -form en:online-exam.wf} # # The policy has to allow the following methods on FormPages: Index: openacs-4/packages/xowf/tcl/xowf-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/tcl/xowf-procs.tcl,v diff -u -N -r1.28.2.35 -r1.28.2.36 --- openacs-4/packages/xowf/tcl/xowf-procs.tcl 14 Jul 2020 19:38:53 -0000 1.28.2.35 +++ openacs-4/packages/xowf/tcl/xowf-procs.tcl 29 Jul 2020 11:53:26 -0000 1.28.2.36 @@ -59,6 +59,7 @@ online-exam.wf inclass-quiz.wf inclass-exam.wf + edit-interaction.wf quiz-select_question.form select_question.form Index: openacs-4/packages/xowf/www/prototypes/assessment-index.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/www/prototypes/Attic/assessment-index.page,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/xowf/www/prototypes/assessment-index.page 8 Mar 2020 17:21:50 -0000 1.1.2.2 +++ openacs-4/packages/xowf/www/prototypes/assessment-index.page 29 Jul 2020 11:53:27 -0000 1.1.2.3 @@ -1,7 +1,7 @@ ::xowiki::Page new -title "Assessment Index" -text {

#xowf.Created_Questions#:

-

{{form-usages -title "Questions" -with_form_link 0 -form en:TestItemText.form|en:TestItemShortText.form|en:TestItemMC.form|en:TestItemSC.form|en:TestItemUpload.form|en:TestItemReorder.form -buttons "edit duplicate slim_publish_status delete" -field_names "_title,_last_modified,_creation_user" -date_format "pretty-age" -csv false}}

+

{{form-usages -title "Questions" -with_form_link 0 -form en:edit-interaction.wf|en:TestItemText.form|en:TestItemShortText.form|en:TestItemMC.form|en:TestItemSC.form|en:TestItemUpload.form|en:TestItemReorder.form -buttons "edit duplicate slim_publish_status delete" -field_names "_title,_last_modified,_creation_user" -date_format "pretty-age" -csv false}}

#xowf.Created_Assessments#:

Index: openacs-4/packages/xowf/www/prototypes/edit-interaction.wf.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/www/prototypes/Attic/edit-interaction.wf.page,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/xowf/www/prototypes/edit-interaction.wf.page 29 Jul 2020 11:53:27 -0000 1.1.2.1 @@ -0,0 +1,12 @@ +# -*- tcl-*- +# The variable package_id and parent_id are provided via the caller context +xowf::Package create_new_workflow_page \ + -package_id $package_id \ + -parent_id $parent_id \ + -name en:online-exam.wf \ + -title "Online Exam Workflow" \ + -instance_attributes { + workflow_definition {::xowf::include /packages/xowf/lib/edit-interaction.wf} + form_constraints {} + return_url {} + } Index: openacs-4/packages/xowf/www/prototypes/quiz-select_question.form.page =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowf/www/prototypes/Attic/quiz-select_question.form.page,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/xowf/www/prototypes/quiz-select_question.form.page 8 Mar 2020 17:21:50 -0000 1.1.2.2 +++ openacs-4/packages/xowf/www/prototypes/quiz-select_question.form.page 29 Jul 2020 11:53:27 -0000 1.1.2.3 @@ -8,7 +8,7 @@ -form_constraints { @cr_fields:hidden {_title:text,label=#xowf.inclass-quiz-name#,default=#xowf.inclass-quiz-default_name#} - {question:form_page,multiple=true,form=en:TestItemText.form|en:TestItemShortText.form|en:TestItemMC.form|en:TestItemSC.form|en:TestItemReorder.form,required,help_text=#xowf.select_question_help_text#,label=#xowiki.questions#} + {question:form_page,multiple=true,form=en:edit-interaction.wf|en:TestItemText.form|en:TestItemShortText.form|en:TestItemMC.form|en:TestItemSC.form|en:TestItemReorder.form,required,help_text=#xowf.select_question_help_text#,label=#xowiki.questions#} _description:omit _page_order:omit } 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 -N -r1.1.2.8 -r1.1.2.9 --- openacs-4/packages/xowf/www/prototypes/select_question.form.page 17 Jun 2020 21:59:50 -0000 1.1.2.8 +++ openacs-4/packages/xowf/www/prototypes/select_question.form.page 29 Jul 2020 11:53:27 -0000 1.1.2.9 @@ -8,7 +8,7 @@ -form_constraints { @cr_fields:hidden {_title:text,label=#xowf.online-exam-name#,default=#xowf.online-exam-default_name#} - {question:form_page,multiple=true,form=en:TestItemText.form|en:TestItemShortText.form|en:TestItemMC.form|en:TestItemSC.form|en:TestItemUpload.form|en:TestItemReorder.form,required,help_text=#xowf.select_question_help_text#,label=#xowiki.questions#} + {question:form_page,multiple=true,form=en:edit-interaction.wf|en:TestItemText.form|en:TestItemShortText.form|en:TestItemMC.form|en:TestItemSC.form|en:TestItemUpload.form|en:TestItemReorder.form,required,help_text=#xowf.select_question_help_text#,label=#xowiki.questions#} {shuffle_items:boolean,horizontal=true,label=#xowf.randomized_items#,help_text=#xowf.randomized_items_help_text#} {max_items:number,min=1,label=#xowf.Max_items#,help_text=#xowf.Max_items_help_text#} {allow_paste:boolean,horizontal=true,default=t,label=#xowf.Allow_paste#,help_text=#xowf.Allow_paste_help_text#}