Index: openacs-4/packages/dotlrn-homework/dotlrn-homework.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/dotlrn-homework.info,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/dotlrn-homework.info 17 Feb 2003 20:56:14 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/dotlrn-homework.info 26 Feb 2003 02:37:39 -0000 1.1.1.1.2.1 @@ -35,13 +35,23 @@ + + + + + + + + + + @@ -61,6 +71,7 @@ + @@ -70,12 +81,14 @@ + + Index: openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-applet-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/sql/oracle/Attic/dotlrn-homework-applet-create.sql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-applet-create.sql 17 Feb 2003 20:56:14 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-applet-create.sql 26 Feb 2003 02:37:39 -0000 1.1.1.1.2.1 @@ -38,6 +38,15 @@ 'TCL' ); + -- RemoveApplet + foo := acs_sc_impl.new_alias ( + 'dotlrn_applet', + 'dotlrn_homework_applet', + 'RemoveApplet', + 'dotlrn_homework_applet::remove_applet', + 'TCL' + ); + -- AddAppletToCommunity foo := acs_sc_impl.new_alias ( 'dotlrn_applet', @@ -47,12 +56,12 @@ 'TCL' ); - -- RemoveApplet + -- RemoveAppletFromCommunity foo := acs_sc_impl.new_alias ( 'dotlrn_applet', 'dotlrn_homework_applet', - 'RemoveApplet', - 'dotlrn_homework_applet::remove_applet', + 'RemoveAppletFromCommunity', + 'dotlrn_homework_applet::remove_applet_from_community', 'TCL' ); @@ -65,6 +74,15 @@ 'TCL' ); + -- RemoveUser + foo := acs_sc_impl.new_alias ( + 'dotlrn_applet', + 'dotlrn_homework_applet', + 'RemoveUser', + 'dotlrn_homework_applet::remove_user', + 'TCL' + ); + -- AddUserToCommunity foo := acs_sc_impl.new_alias ( 'dotlrn_applet', @@ -74,15 +92,33 @@ 'TCL' ); - -- RemoveUser + -- RemoveUserFromCommunity foo := acs_sc_impl.new_alias ( 'dotlrn_applet', 'dotlrn_homework_applet', - 'RemoveUser', - 'dotlrn_homework_applet::remove_user', + 'RemoveUserFromCommunity', + 'dotlrn_homework_applet::remove_user_from_community', 'TCL' ); + -- AddPortlet + foo := acs_sc_impl.new_alias ( + 'dotlrn_applet', + 'dotlrn_homework_applet', + 'AddPortlet', + 'dotlrn_homework_applet::add_portlet', + 'TCL' + ); + + -- RemovePortlet + foo := acs_sc_impl.new_alias ( + 'dotlrn_applet', + 'dotlrn_homework_applet', + 'RemovePortlet', + 'dotlrn_homework_applet::remove_portlet', + 'TCL' + ); + foo := acs_sc_impl.new_alias ( impl_contract_name => 'dotlrn_applet', impl_name => 'dotlrn_homework_applet', Index: openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-applet-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/sql/oracle/Attic/dotlrn-homework-applet-drop.sql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-applet-drop.sql 17 Feb 2003 20:56:14 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-applet-drop.sql 26 Feb 2003 02:37:39 -0000 1.1.1.1.2.1 @@ -30,18 +30,25 @@ 'AddApplet' ); + -- RemoveApplet + foo := acs_sc_impl.delete_alias ( + 'dotlrn_applet', + 'dotlrn_homework_applet', + 'RemoveApplet' + ); + -- AddAppletToCommunity foo := acs_sc_impl.delete_alias ( 'dotlrn_applet', 'dotlrn_homework_applet', 'AddAppletToCommunity' ); - -- RemoveApplet + -- RemoveAppletFromCommunity foo := acs_sc_impl.delete_alias ( 'dotlrn_applet', 'dotlrn_homework_applet', - 'RemoveApplet' + 'RemoveAppletFromCommunity' ); -- AddUser @@ -51,20 +58,41 @@ 'AddUser' ); + -- RemoveUser + foo := acs_sc_impl.delete_alias ( + 'dotlrn_applet', + 'dotlrn_homework_applet', + 'RemoveUser' + ); + -- AddUserToCommunity foo := acs_sc_impl.delete_alias ( 'dotlrn_applet', 'dotlrn_homework_applet', 'AddUserToCommunity' ); - -- RemoveUser + -- RemoveUserFromCommunity foo := acs_sc_impl.delete_alias ( 'dotlrn_applet', 'dotlrn_homework_applet', - 'RemoveUser' + 'RemoveUserFromCommunity' ); + -- AddPortlet + foo := acs_sc_impl.delete_alias ( + 'dotlrn_applet', + 'dotlrn_homework_applet', + 'AddPortlet' + ); + + -- RemovePortlet + foo := acs_sc_impl.delete_alias ( + 'dotlrn_applet', + 'dotlrn_homework_applet', + 'RemovePortlet' + ); + foo := acs_sc_impl.delete_alias ( impl_contract_name => 'dotlrn_applet', impl_name => 'dotlrn_homework_applet', Index: openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/sql/oracle/Attic/dotlrn-homework-drop.sql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-drop.sql 17 Feb 2003 20:56:14 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-drop.sql 26 Feb 2003 02:37:39 -0000 1.1.1.1.2.1 @@ -1,5 +1,6 @@ @dotlrn-homework-applet-drop @dotlrn-homework-portlet-drop +@dotlrn-homework-notifications-drop begin content_type.unregister_relation_type ( Index: openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-notifications-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/sql/oracle/Attic/dotlrn-homework-notifications-drop.sql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-notifications-drop.sql 17 Feb 2003 20:56:14 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/sql/oracle/dotlrn-homework-notifications-drop.sql 26 Feb 2003 02:37:39 -0000 1.1.1.1.2.1 @@ -1,6 +1,3 @@ -declare - foo integer; -begin -- Notifications Service Contract implementation for dotlrn-homework -- Don Baccus (dhogaza@pacifier.com) Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/sql/postgresql/dotlrn-homework-applet-create.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/sql/postgresql/dotlrn-homework-applet-drop.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/sql/postgresql/dotlrn-homework-create.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/sql/postgresql/dotlrn-homework-drop.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/sql/postgresql/dotlrn-homework-notifications-create.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/sql/postgresql/dotlrn-homework-notifications-drop.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/sql/postgresql/dotlrn-homework-portlet-create.sql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/sql/postgresql/dotlrn-homework-portlet-drop.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-applet-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-applet-procs.tcl,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-applet-procs.tcl 17 Feb 2003 20:56:15 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-applet-procs.tcl 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -63,6 +63,14 @@ ad_return_complaint 1 "[applet_key] remove_applet not implemented!" } + ad_proc -public remove_applet_from_community { + community_id + } { + remove the applet from the community + } { + ad_return_complaint 1 "[applet_key] remove_applet_from_community not implimented!" + } + ad_proc -private create_homework_folder { -community_id:required -package_id:required @@ -124,7 +132,7 @@ ad_proc -public add_applet_to_community { community_id } { - Add the homework applet to a specifc dotlrn community + Add the homework applet to a specific dotlrn community } { set portal_id [dotlrn_community::get_portal_id -community_id $community_id] set package_id [dotlrn::instantiate_and_mount $community_id [package_key]] @@ -147,11 +155,27 @@ ad_proc -public remove_applet_from_community { community_id } { - remove the fs applet from a specifc dotlrn community + remove the homework applet from a specifc dotlrn community } { ad_return_complaint 1 "[applet_key] remove_applet_from_community not implemented!" } + ad_proc -public add_portlet { + portal_id + } { + Add the homework portlet to the given portal. + } { + # no-op (I think - check when part of predefined applets list) + } + + ad_proc -public remove_portlet { + portal_id + } { + Remove the homework portlet to the given portal. + } { + # no-op + } + ad_proc -public add_user { user_id } { Index: openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs-oracle.xql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs-oracle.xql 17 Feb 2003 20:56:15 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs-oracle.xql 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -2,19 +2,6 @@ oracle8.1.6 - - - - - select 1 - from dual - where exists (select name - from cr_items - where parent_id = :parent_folder_id - and name = :title) - - - Index: openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs-postgresql.xql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs-postgresql.xql 17 Feb 2003 20:56:15 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs-postgresql.xql 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -2,67 +2,45 @@ postgresql7.1 - - - - - select 1 - where exists (select name - from cr_items - where parent_id = :parent_folder_id - and name = :title) - - - - - FIX ME PLSQL -FIX ME PLSQL - begin - :1 := file_storage__new_file ( - item_id => :file_id, - title => :title, - folder_id => :parent_folder_id, - creation_user => :user_id, - creation_ip => :creation_ip, - indb_p => :indb_p - ); - end; + select file_storage__new_file ( + :title, + :parent_folder_id, + :user_id, + :creation_ip, + :indb_p, + :file_id + ); - FIX ME PLSQL -FIX ME PLSQL - begin - :1 := file_storage__new_version ( - filename => :filename, - description => :description, - mime_type => :mime_type, - item_id => :file_id, - creation_user => :user_id, - creation_ip => :creation_ip - ); - end; + select file_storage__new_version ( + :filename, -- filename + :description, -- description + :mime_type, -- mime_type + :file_id, -- item_id + :user_id, -- creation_user + :creation_ip -- creation_ip + ); + - FIX ME LOB update cr_revisions - set content = empty_blob() + set lob = [set __lob_id [db_string get_lob_id "select empty_lob()"]] where revision_id = :revision_id - returning content into :1 @@ -72,7 +50,7 @@ update cr_revisions - set content_length = dbms_lob__getlength(content) + set content_length = lob_length(lob) where revision_id = :revision_id @@ -81,16 +59,14 @@ - FIX ME PLSQL -FIX ME PLSQL - begin - :1 := content_item__relate( - item_id => :homework_file_id, - object_id => :correction_file_id, - relation_tag => 'homework_correction' - ); - end; + select content_item__relate( + :homework_file_id, + :correction_file_id, + 'homework_correction', + null, + 'cr_item_rel' + ); Index: openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs.xql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs.xql 17 Feb 2003 20:56:16 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/tcl/dotlrn-homework-procs.xql 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -1,6 +1,18 @@ + + + + select 1 + from dual + where exists (select name + from cr_items + where parent_id = :parent_folder_id + and name = :title) + + + select creation_user as homework_user_id from acs_objects where object_id = :homework_file_id Index: openacs-4/packages/dotlrn-homework/www/file-delete.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/www/file-delete.adp,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/www/file-delete.adp 17 Feb 2003 20:56:18 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/www/file-delete.adp 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -2,25 +2,32 @@ Delete @title@ @context_bar@ - + -

This file has versions that you do not have permission to delete, -so you cannot delete the file. + +

This file has versions that you do not have permission to delete, + so you cannot delete the file. + + +

This file has corrections attached to it. You must delete them first. + + -

- - + + + -

Are you sure you want to delete the file "@title@" and all of -its versions? This action cannot be reversed. +

Are you sure you want to delete the file "@title@" and all of + its versions? This action cannot be reversed. +

-

-

- -
-
+
+ +
+ + Index: openacs-4/packages/dotlrn-homework/www/file-delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/www/file-delete.tcl,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/www/file-delete.tcl 17 Feb 2003 20:56:18 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/www/file-delete.tcl 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -29,16 +29,13 @@ set user_id [ad_conn user_id] -set blocked_p [ad_decode [db_string blockers " -select count(*) -from cr_revisions -where item_id = :file_id -and acs_permission.permission_p(revision_id,:user_id,'delete') = 'f'"] 0 f t] +set blocked_p [ad_decode [db_string blockers {}] 0 f t] +set correction_file_exists_p [db_0or1row correction_file_id {}] -if {[string equal $confirmed_p "t"] && [string equal $blocked_p "f"] } { - # they confirmed that they want to delete the file +if { [string is true $confirmed_p] && [string is false $blocked_p] && + [string is false $correction_file_exists_p] } { - db_1row parent_id "select parent_id from cr_items where item_id = :file_id" + db_1row parent_id {} db_transaction { @@ -48,27 +45,21 @@ # referential integrity operators in at least some of the datamodel db_dml version_perms_delete {} + notification::request::delete_all -object_id $file_id + db_exec_plsql delete_file {} - db_exec_plsql delete_file " - begin - file_storage.delete_file(:file_id); - end;" - } ad_returnredirect "folder-contents?folder_id=$parent_id" } else { - # they need to confirm that they really want to delete the file - db_1row file_name " - select name as title - from cr_items - where item_id = :file_id" + # they need to confirm that they really want to delete the file or to be + # told they can't really delete it. + db_1row file_name {} set title [dotlrn_homework::decode_name $title] - set context_bar {"Delete"} - ad_return_template + } Index: openacs-4/packages/dotlrn-homework/www/file-delete.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/www/file-delete.xql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/www/file-delete.xql 17 Feb 2003 20:56:18 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/www/file-delete.xql 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -1,6 +1,17 @@ + + + + select item_id + from cr_item_rels + where item_id = :file_id + and relation_tag = 'homework_correction' + + + + Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/www/file-move-2-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/dotlrn-homework/www/file-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/www/file-postgresql.xql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/www/file-postgresql.xql 17 Feb 2003 20:56:17 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/www/file-postgresql.xql 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -5,15 +5,20 @@ - - select person__name(o.creation_user) as owner, - i.name as title, - r.title as name, - acs_permission__permission_p(:file_id,:user_id,'write') as write_p - from acs_objects o, cr_revisions r, cr_items i - where o.object_id = :file_id - and i.item_id = o.object_id - and r.revision_id = i.live_revision + + select person__name(file.creation_user) as owner, + file.name, + acs_permission__permission_p(:file_id, :user_id, 'write') as write_file_p, + acs_permission__permission_p(:file_id, :user_id, 'delete') as delete_file_p, + case when cir.item_id is null then 'f' else 't' end as correction_file_p + from + (select i.name, i.item_id, o.creation_user + from acs_objects o, cr_revisions r, cr_items i + where o.object_id = :file_id + and i.item_id = o.object_id + and r.revision_id = i.live_revision) file + left join cr_item_rels cir on (cir.related_object_id = file.item_id) + @@ -26,7 +31,8 @@ r.mime_type as type, to_char(o.last_modified,'YYYY-MM-DD HH24:MI') as last_modified, r.description, - r.content_length as content_size + r.content_length as content_size, + acs_permission__permission_p(r.revision_id, :user_id, 'delete') as delete_p from acs_objects o, cr_revisions r, cr_items i where o.object_id = r.revision_id and r.item_id = i.item_id Index: openacs-4/packages/dotlrn-homework/www/folder-chunk-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/www/folder-chunk-oracle.xql,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/www/folder-chunk-oracle.xql 17 Feb 2003 20:56:17 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/www/folder-chunk-oracle.xql 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -16,7 +16,8 @@ lpad(' ',(the_level - 1), ' ') as spaces, rels.related_object_id as homework_file_id, c.first_names || ' ' || c.last_name as file_owner_name, - o.creation_user + o.creation_user, + decode(f.folder_id, null, 1, 0) as file_p from cr_item_rels rels, acs_objects o, cr_revisions r, cr_folders f, cc_users c, (select cr_items.*, level as the_level from cr_items @@ -27,15 +28,15 @@ and c.user_id(+) = o.creation_user and f.folder_id(+) = fs_tree.item_id $qualify_by_owner - and r.item_id(+) = fs_tree.item_id + and r.revision_id(+) = fs_tree.live_revision and r.content_length(+) = fs_tree.item_id and rels.item_id(+) = o.object_id and rels.relation_tag(+) = 'homework_correction' and not exists (select 1 from cr_item_rels where related_object_id = o.object_id and relation_tag = 'homework_correction') - order by item_path + order by file_p, item_path Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/www/folder-chunk-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 1.1 refers to a dead (removed) revision in file `openacs-4/packages/dotlrn-homework/www/folder-create-postgresql.xql'. Fisheye: No comparison available. Pass `N' to diff? Index: openacs-4/packages/dotlrn-homework/www/version-add.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/dotlrn-homework/www/version-add.tcl,v diff -u -r1.1.1.1 -r1.1.1.1.2.1 --- openacs-4/packages/dotlrn-homework/www/version-add.tcl 17 Feb 2003 20:56:18 -0000 1.1.1.1 +++ openacs-4/packages/dotlrn-homework/www/version-add.tcl 26 Feb 2003 02:37:40 -0000 1.1.1.1.2.1 @@ -46,12 +46,12 @@ # Alert management. Semantics are hardwired to Sloan's spec. Eventually it would probably be nice # to make 'em configurable for non-admin users as they are now for admin users - set homework_file_p [db_0or1row get_homework_info {}] + set homework_file_id [db_string get_homework_info {} -default 0] dotlrn_homework::new -file_id $file_id -new_file_p 0 -description $description -upload_file $upload_file \ -homework_file_id $homework_file_id - if { $homework_file_p } { + if { $homework_file_id > 0 } { # We're uploading a correction file version, send alerts associated with the related homework file dotlrn_homework::send_correction_alerts -folder_id $folder_id -homework_file_id $homework_file_id