Index: openacs-4/packages/evaluation/catalog/evaluation.en_US.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/catalog/evaluation.en_US.ISO-8859-1.xml,v diff -u -r1.10 -r1.11 --- openacs-4/packages/evaluation/catalog/evaluation.en_US.ISO-8859-1.xml 20 Aug 2004 01:11:14 -0000 1.10 +++ openacs-4/packages/evaluation/catalog/evaluation.en_US.ISO-8859-1.xml 24 Aug 2004 22:40:29 -0000 1.11 @@ -276,7 +276,7 @@ Students who have not submitted answers and have not been evaluated (%not_evaluated_with_no_answer%) Students with answers that have not been evaluated (%not_evaluated_with_answer%) %submission_date_pretty% (late) - $submission_date_pretty <span style=\"color:red;\">(late answer)</span> + %submission_date_pretty% <span style=\"color:red;\">(late answer)</span> The assignment "%task_name%" has been uploaded in this community. The comments/edit reason is a string with no more than 4,000 characters. The edit reason must be less than 4000 characteras long Index: openacs-4/packages/evaluation/catalog/evaluation.es_ES.ISO-8859-1.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/catalog/evaluation.es_ES.ISO-8859-1.xml,v diff -u -r1.3 -r1.4 --- openacs-4/packages/evaluation/catalog/evaluation.es_ES.ISO-8859-1.xml 20 Aug 2004 00:48:35 -0000 1.3 +++ openacs-4/packages/evaluation/catalog/evaluation.es_ES.ISO-8859-1.xml 24 Aug 2004 22:40:29 -0000 1.4 @@ -246,7 +246,7 @@ Reusar grupos de otra asignaci�n Guarde el archivo csv y MANTENGA EL FORMATO CSV. El archivo CSV puede ser editado con cualquier editor de texto (y MS Excell) pero tiene que mantener el formato CSV. Si usted no mantiene el formato, el sistema no ser� capaz de leer el archivo. - Ver los archivos de notas asociados a esta tarea + Ver los archivos de notas asociados a esta tarea Env�e el archivo utilizando el bot�n "Enviar archivo". El sistema leer� el archivo y preguntara por una confirmaci�n (si todo esta bien con el archivo) para las notas. Index: openacs-4/packages/evaluation/lib/audit-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/lib/audit-chunk.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/evaluation/lib/audit-chunk.tcl 7 Jul 2004 17:26:44 -0000 1.3 +++ openacs-4/packages/evaluation/lib/audit-chunk.tcl 24 Aug 2004 22:40:30 -0000 1.4 @@ -45,7 +45,7 @@ db_multirow -extend { last_modified_pretty } grade_tasks get_task_audit_info { *SQL* } { - set last_modified_pretty [lc_time_fmt $last_modified_ansi "%q"] + set last_modified_pretty [lc_time_fmt $last_modified_ansi "%q %r"] if { $is_live } { set is_live "[_ evaluation.Yes_]" Index: openacs-4/packages/evaluation/lib/evaluations-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/lib/evaluations-chunk.tcl,v diff -u -r1.9 -r1.10 --- openacs-4/packages/evaluation/lib/evaluations-chunk.tcl 5 Aug 2004 00:32:55 -0000 1.9 +++ openacs-4/packages/evaluation/lib/evaluations-chunk.tcl 24 Aug 2004 22:40:30 -0000 1.10 @@ -25,6 +25,10 @@ display_template {
@grade_tasks_admin.task_weight@%
} \ orderby_asc {task_weight asc} \ orderby_desc {task_weight desc}] + lappend elements audit_info \ + [list label "" \ + link_url_col audit_info_url \ + link_html { title "[_ evaluation-portlet.Audit_info_]" }] set multirow_name grade_tasks_admin set actions [list "[_ evaluation-portlet.lt_Edit_grades_distribut]" [export_vars -base "${base_url}admin/grades/distribution-edit" { grade_id }]] } else { @@ -75,10 +79,13 @@ if { $admin_p } { #admin - db_multirow -extend { task_url } grade_tasks_admin get_tasks_admin { *SQL* } { + db_multirow -extend { task_url audit_info audit_info_url } grade_tasks_admin get_tasks_admin { *SQL* } { set task_url [export_vars -base "${base_url}admin/evaluations/student-list" { task_id grade_id }] set category_weight [expr $category_weight + $task_weight] set task_weight [format %.2f [lc_numeric $task_weight]] + + set audit_info_url "[export_vars -base "${base_url}admin/evaluations/audit-info" { grade_id task_id }]" + set audit_info "[_ evaluation-portlet.Audit_Info_]" } } else { Index: openacs-4/packages/evaluation/lib/student-grades-report-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/lib/student-grades-report-chunk.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/evaluation/lib/student-grades-report-chunk.tcl 5 Aug 2004 00:32:55 -0000 1.3 +++ openacs-4/packages/evaluation/lib/student-grades-report-chunk.tcl 24 Aug 2004 22:40:30 -0000 1.4 @@ -72,7 +72,7 @@ db_multirow -extend { task_status due_date_pretty assignment_group grade net_grade grader_name comments } student_grades get_student_grades { *SQL* } { - set due_date_pretty [lc_time_fmt $due_date_ansi "%q"] + set due_date_pretty [lc_time_fmt $due_date_ansi "%q %r"] if { $online_p } { set online_p "[_ evaluation.Yes_]" Index: openacs-4/packages/evaluation/lib/tasks-chunk.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/lib/tasks-chunk.tcl,v diff -u -r1.10 -r1.11 --- openacs-4/packages/evaluation/lib/tasks-chunk.tcl 12 Aug 2004 17:46:41 -0000 1.10 +++ openacs-4/packages/evaluation/lib/tasks-chunk.tcl 24 Aug 2004 22:40:30 -0000 1.11 @@ -31,10 +31,6 @@ [list label "" \ link_url_col solution_url \ link_html { title "[_ evaluation-portlet.Addedit_solution_]" }] - lappend elements audit_info \ - [list label "" \ - link_url_col audit_info_url \ - link_html { title "[_ evaluation-portlet.Audit_info_]" }] lappend elements groups_admin \ [list label "" \ link_url_col groups_admin_url \ @@ -97,9 +93,9 @@ if { $admin_p } { - db_multirow -extend { solution_url due_date_pretty solution solution_mode task_url audit_info audit_info_url groups_admin groups_admin_url } tasks_admin get_tasks_admin { *SQL* } { + db_multirow -extend { solution_url due_date_pretty solution solution_mode task_url groups_admin groups_admin_url } tasks_admin get_tasks_admin { *SQL* } { - set due_date_pretty [lc_time_fmt $due_date_ansi "%q"] + set due_date_pretty [lc_time_fmt $due_date_ansi "%q %r"] # working with task stuff (if it has a file/url attached) if { [empty_string_p $task_data] } { set task_url "[export_vars -base "${base_url}task-view" { grade_id task_id return_url }]" @@ -131,9 +127,6 @@ set solution "[_ evaluation-portlet.Upload_Solution_]" } - set audit_info_url "[export_vars -base "${base_url}admin/evaluations/audit-info" { grade_id task_id }]" - set audit_info "[_ evaluation-portlet.Audit_Info_]" - if { ![string eq $number_of_members 1] } { set groups_admin_url "[export_vars -base "${base_url}admin/groups/one-task" { grade_id task_id }]" set groups_admin "[_ evaluation-portlet.Groups_Admin_]" @@ -144,7 +137,7 @@ db_multirow -extend { task_url solution_url solution due_date_pretty solution_mode answer answer_url } tasks get_tasks { *SQL* } { set answer_mode display - set due_date_pretty [lc_time_fmt $due_date_ansi "%q"] + set due_date_pretty [lc_time_fmt $due_date_ansi "%q %r"] # working with task stuff (if it has a file/url attached) if { [empty_string_p $task_data] } { set task_url "[export_vars -base "${base_url}task-view" { grade_id task_id return_url }]" Index: openacs-4/packages/evaluation/sql/postgresql/evaluation-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/sql/postgresql/evaluation-create.sql,v diff -u -r1.13 -r1.14 --- openacs-4/packages/evaluation/sql/postgresql/evaluation-create.sql 13 Aug 2004 17:09:54 -0000 1.13 +++ openacs-4/packages/evaluation/sql/postgresql/evaluation-create.sql 24 Aug 2004 22:40:30 -0000 1.14 @@ -18,6 +18,8 @@ check (weight between 0 and 100) ); +create index evalutaion_grades_giid_index on evaluation_grades(grade_item_id); + select content_type__create_type ( 'evaluation_grades', -- content_type 'content_revision', -- super_type @@ -66,6 +68,7 @@ ); create index evalutaion_tasks_gid_index on evaluation_tasks(grade_item_id); +create index evalutaion_tasks_tiid_index on evaluation_tasks(task_item_id); select content_type__create_type ( 'evaluation_tasks', -- content_type Index: openacs-4/packages/evaluation/www/answer-add-edit-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/answer-add-edit-postgresql.xql,v diff -u -r1.6 -r1.7 --- openacs-4/packages/evaluation/www/answer-add-edit-postgresql.xql 12 Aug 2004 17:46:42 -0000 1.6 +++ openacs-4/packages/evaluation/www/answer-add-edit-postgresql.xql 24 Aug 2004 22:40:30 -0000 1.7 @@ -21,6 +21,19 @@ + + + + + select answer_id + from evaluation_answers + where party_id = :party_id + and task_item_id = :task_item_id + and content_revision__is_live(answer_id) = true + + + + Index: openacs-4/packages/evaluation/www/answer-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/answer-add-edit.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/evaluation/www/answer-add-edit.tcl 12 Aug 2004 17:46:42 -0000 1.8 +++ openacs-4/packages/evaluation/www/answer-add-edit.tcl 24 Aug 2004 22:40:30 -0000 1.9 @@ -39,6 +39,8 @@ db_1row task_info { *SQL* } +db_0or1row double_click { *SQL* } + ad_form -html { enctype multipart/form-data } -name answer -cancel_url $return_url -export { item_id grade_id task_id return_url } -form { answer_id:key Index: openacs-4/packages/evaluation/www/task-view.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/task-view.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/evaluation/www/task-view.tcl 12 Aug 2004 17:46:42 -0000 1.7 +++ openacs-4/packages/evaluation/www/task-view.tcl 24 Aug 2004 22:40:30 -0000 1.8 @@ -84,15 +84,13 @@ {due_date:date,to_sql(linear_date),from_sql(sql_date) {label "[_ evaluation.Due_Date_]"} - {format "MONTH DD YYYY"} + {format "MONTH DD YYYY HH24 MI SS"} {today} {help} - {value {[evaluation::now_plus_days -ndays 15]}} } {number_of_members:naturalnum {label "[_ evaluation.Number_of_Members_]"} - {value "1"} {html {size 5 onChange TaskInGroups()}} {help_text "[_ evaluation.1__Individual_]"} } @@ -106,19 +104,16 @@ {online_p:text(radio) {label "[_ evaluation.lt_Will_the_task_be_subm]"} {options {{"[_ evaluation.Yes_]" t} {"[_ evaluation.No_]" f}}} - {value t} } {late_submit_p:text(radio) {label "[_ evaluation.lt_Can_the_student_submi]"} {options {{"[_ evaluation.Yes_]" t} {"[_ evaluation.No_]" f}}} - {value t} } {requires_grade_p:text(radio) {label "[_ evaluation.lt_Will_this_task_requir]"} {options {{"[_ evaluation.Yes_]" t} {"[_ evaluation.No_]" f}}} - {value t} } } -edit_request { Index: openacs-4/packages/evaluation/www/admin/evaluations/evaluations-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/evaluations/evaluations-edit.tcl,v diff -u -r1.7 -r1.8 --- openacs-4/packages/evaluation/www/admin/evaluations/evaluations-edit.tcl 12 Aug 2004 17:46:42 -0000 1.7 +++ openacs-4/packages/evaluation/www/admin/evaluations/evaluations-edit.tcl 24 Aug 2004 22:40:32 -0000 1.8 @@ -67,12 +67,13 @@ set answer "[_ evaluation.View_answer_]" } else { # we assume it's a file - set answer_url "[export_vars -base "[ad_conn package_url]view/$answer_title" { }]" + set answer_url "[export_vars -base "[ad_conn package_url]view/$answer_title" { revision_id }]" + set answer "[_ evaluation.View_answer_]" } if { ![string eq $answer "[_ evaluation.No_response_]"] && [db_string compare_evaluation_date { *SQL* } -default 0] } { set answer " [_ evaluation.View_NEW_answer_]" } - set submission_date_pretty [lc_time_fmt $submission_date_ansi "%q"] + set submission_date_pretty [lc_time_fmt $submission_date_ansi "%q %r"] if { [db_string compare_submission_date { *SQL* } -default 0] } { set submission_date_pretty "$submission_date_pretty [_ evaluation.late__1]" } Index: openacs-4/packages/evaluation/www/admin/evaluations/grades-sheets.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/evaluations/grades-sheets.tcl,v diff -u -r1.3 -r1.4 --- openacs-4/packages/evaluation/www/admin/evaluations/grades-sheets.tcl 30 Jul 2004 22:50:10 -0000 1.3 +++ openacs-4/packages/evaluation/www/admin/evaluations/grades-sheets.tcl 24 Aug 2004 22:40:32 -0000 1.4 @@ -66,7 +66,7 @@ db_multirow -extend { view_url upload_date_pretty } grades_sheets get_grades_sheets { *SQL* } { set view_url "[export_vars -base "${base_url}view/$grades_sheet_name" { revision_id }]" - set upload_date_pretty [lc_time_fmt $upload_date_ansi "%q"] + set upload_date_pretty [lc_time_fmt $upload_date_ansi "%q %r"] } ad_return_template Index: openacs-4/packages/evaluation/www/admin/evaluations/student-list-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/evaluations/student-list-postgresql.xql,v diff -u -r1.8 -r1.9 --- openacs-4/packages/evaluation/www/admin/evaluations/student-list-postgresql.xql 12 Aug 2004 17:46:42 -0000 1.8 +++ openacs-4/packages/evaluation/www/admin/evaluations/student-list-postgresql.xql 24 Aug 2004 22:40:32 -0000 1.9 @@ -106,4 +106,36 @@ + + + + select et.task_name, + et.task_item_id, + eg.grade_id, + eg.grade_plural_name, + eg.weight as grade_weight, + et.weight as task_weight, + to_char(et.due_date, 'YYYY-MM-DD HH24:MI:SS') as due_date_ansi, + et.number_of_members, + et.online_p + from evaluation_grades eg, evaluation_tasks et + where et.task_id = :task_id + and et.grade_item_id = eg.grade_item_id + and content_revision__is_live(eg.grade_id) = true + + + + + + + select acs_group__name(etg.group_id) as party_name, + etg.group_id as party_id + from evaluation_task_groups etg, evaluation_tasks et + where etg.task_item_id = et.task_item_id + and et.task_id = :task_id + $not_in_clause + $orderby_na + + + Index: openacs-4/packages/evaluation/www/admin/evaluations/student-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/evaluations/student-list.tcl,v diff -u -r1.12 -r1.13 --- openacs-4/packages/evaluation/www/admin/evaluations/student-list.tcl 20 Aug 2004 00:34:23 -0000 1.12 +++ openacs-4/packages/evaluation/www/admin/evaluations/student-list.tcl 24 Aug 2004 22:40:32 -0000 1.13 @@ -28,7 +28,7 @@ } db_1row get_task_info { *SQL* } -set due_date_pretty [lc_time_fmt $due_date_ansi "%q"] +set due_date_pretty [lc_time_fmt $due_date_ansi "%q %r"] if { $number_of_members > 1 } { set groups_admin "[_ evaluation.lt_Groups_administration]" @@ -134,7 +134,7 @@ if { [string eq $action "[_ evaluation.View_answer_]"] && ([db_string compare_evaluation_date { *SQL* } -default 0] ) } { set action " [_ evaluation.View_NEW_answer_]" } - set submission_date_pretty [lc_time_fmt $submission_date_ansi "%c"] + set submission_date_pretty [lc_time_fmt $submission_date_ansi "%q %r"] if { [db_string compare_submission_date { *SQL* } -default 0] } { set submission_date_pretty "[_ evaluation.lt_submission_date_prett]" } @@ -216,14 +216,14 @@ ns_set put $tag_attributes alt "[_ evaluation.lt_No_portrait_for_party]" ns_set put $tag_attributes width 98 ns_set put $tag_attributes height 104 - set portrait "[evaluation::get_user_portrait -user_id $party_id -tag_attributes]" + set portrait "[evaluation::get_user_portrait -user_id $party_id -tag_attributes $tag_attributes]" } else { set party_url "../groups/one-task?[export_vars -url { task_id return_url }]#groups" } lappend done_students $party_id if { [string eq $online_p "t"] } { - set submission_date_pretty "[lc_time_fmt $submission_date_ansi "%Q"] [lc_time_fmt $submission_date_ansi "%X"]" + set submission_date_pretty "[lc_time_fmt $submission_date_ansi "%q %r"]" if { [db_string compare_submission_date { *SQL* } -default 0] } { set submission_date_pretty "[_ evaluation.lt_submission_date_prett_1]" } else { @@ -297,9 +297,7 @@ if { [llength $done_students] > 0 } { set not_in_clause [db_map not_yet_in_clause] } else { - set not_in_clause ", cc_users cu - where p.person_id = cu.person_id - and cu.member_state = 'approved'" + set not_in_clause [db_map not_yet_in_clause] } # if this page is called from within a community (dotlrn) we have to show only the students Index: openacs-4/packages/evaluation/www/admin/evaluations/student-list.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/evaluations/student-list.xql,v diff -u -r1.7 -r1.8 --- openacs-4/packages/evaluation/www/admin/evaluations/student-list.xql 30 Jul 2004 22:50:10 -0000 1.7 +++ openacs-4/packages/evaluation/www/admin/evaluations/student-list.xql 24 Aug 2004 22:40:32 -0000 1.8 @@ -1,28 +1,7 @@ - postgresql7.3 - - - - select et.task_name, - et.task_item_id, - eg.grade_id, - eg.grade_plural_name, - eg.weight as grade_weight, - et.weight as task_weight, - to_char(et.due_date, 'YYYY-MM-DD HH24:MI:SS') as due_date_ansi, - et.number_of_members, - et.online_p - from evaluation_grades eg, evaluation_tasks et - where et.task_id = :task_id - and et.grade_item_id = eg.grade_item_id - and content_revision__is_live(eg.grade_id) = true - - - - @@ -54,6 +33,16 @@ + + + + , cc_users cu + where p.person_id = cu.person_id + and cu.member_state = 'approved' + + + + @@ -68,29 +57,15 @@ select count(*) from persons p, - registered_users ru, dotlrn_member_rels_approved app $not_in_clause and app.community_id = :community_id - and app.user_id = ru.user_id and app.user_id = p.person_id and app.role = 'student' - - - select acs_group__name(etg.group_id) as party_name, - etg.group_id as party_id - from evaluation_task_groups etg, evaluation_tasks et - where etg.task_item_id = et.task_item_id - and et.task_id = :task_id - $not_in_clause - $orderby_na - - - select p.person_id as party_id, @@ -105,12 +80,10 @@ select app.user_id as party_id, p.last_name||', '||p.first_names as party_name - from registered_users ru, - dotlrn_member_rels_approved app, + from dotlrn_member_rels_approved app, persons p $not_in_clause and app.community_id = :community_id - and app.user_id = ru.user_id and app.user_id = p.person_id and app.role = 'student' $orderby_na Index: openacs-4/packages/evaluation/www/admin/grades/grades-type-reports.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/grades/grades-type-reports.xql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/evaluation/www/admin/grades/grades-type-reports.xql 10 Jun 2004 21:08:54 -0000 1.2 +++ openacs-4/packages/evaluation/www/admin/grades/grades-type-reports.xql 24 Aug 2004 22:40:33 -0000 1.3 @@ -3,7 +3,7 @@ - select count(task_id) from evaluation_tasks where grade_id = :grade_id + select count(task_id) from evaluation_tasks et, evaluation_grades eg where eg.grade_id = :grade_id and content_revision__is_live(eg.grade_id) = true and eg.grade_item_id = et.grade_item_id Index: openacs-4/packages/evaluation/www/admin/grades/student-grades-report.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/grades/student-grades-report.tcl,v diff -u -r1.1 -r1.2 --- openacs-4/packages/evaluation/www/admin/grades/student-grades-report.tcl 15 Jun 2004 23:20:29 -0000 1.1 +++ openacs-4/packages/evaluation/www/admin/grades/student-grades-report.tcl 24 Aug 2004 22:40:33 -0000 1.2 @@ -15,7 +15,9 @@ db_1row student_info { *SQL* } -set portrait [evaluation::get_user_portrait -user_id $student_id { {alt "[_ evaluation.lt_No_portrait_for_stude]"} }] +set tag_attributes [ns_set create] +ns_set put $tag_attributes alt [_ evaluation.lt_No_portrait_for_stude] +set portrait [evaluation::get_user_portrait -user_id $student_id -tag_attributes $tag_attributes] set page_title "[_ evaluation.lt_Grades_Report_for_stu]" set context {} Index: openacs-4/packages/evaluation/www/admin/tasks/solution-add-edit-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/tasks/solution-add-edit-postgresql.xql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/evaluation/www/admin/tasks/solution-add-edit-postgresql.xql 12 Aug 2004 17:46:42 -0000 1.4 +++ openacs-4/packages/evaluation/www/admin/tasks/solution-add-edit-postgresql.xql 24 Aug 2004 22:40:33 -0000 1.5 @@ -20,6 +20,17 @@ + + + + select solution_id + from evaluation_tasks_sols + where task_item_id = :task_item_id + and content_revision__is_live(solution_id) = true + + + + Index: openacs-4/packages/evaluation/www/admin/tasks/solution-add-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/evaluation/www/admin/tasks/solution-add-edit.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/evaluation/www/admin/tasks/solution-add-edit.tcl 12 Aug 2004 17:46:42 -0000 1.8 +++ openacs-4/packages/evaluation/www/admin/tasks/solution-add-edit.tcl 24 Aug 2004 22:40:33 -0000 1.9 @@ -28,6 +28,8 @@ db_1row task_info { *SQL* } +db_0or1row double_click { *SQL* } + set context [list [list [export_vars -base ../grades/grades { }] "[_ evaluation.Grades_]"] $page_title] ad_form -html { enctype multipart/form-data } -name solution -cancel_url $return_url -export { return_url grade_id item_id storage_type task_id } -mode $solution_mode -form {