Index: openacs-4/packages/ims-ent/tcl/ims-ent-dotlrn-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ims-ent/tcl/ims-ent-dotlrn-procs.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/ims-ent/tcl/ims-ent-dotlrn-procs.tcl 11 Jun 2004 23:02:21 -0000 1.2 +++ openacs-4/packages/ims-ent/tcl/ims-ent-dotlrn-procs.tcl 2 Jul 2004 20:35:37 -0000 1.3 @@ -605,7 +605,7 @@ # if the community_id doesn't exist, then its an error if [empty_string_p $community_id] { set success_p 0 - set result(message) ": A class with this class instance key '$class_instance_key' doesn't exist" + set result(message) ": The community_id $community_id doesn't exist" } else { # now lets call the proc defined as param, it must Index: openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.tcl,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.tcl 16 Jun 2004 23:06:45 -0000 1.4 +++ openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.tcl 2 Jul 2004 20:35:37 -0000 1.5 @@ -252,6 +252,8 @@ set group_source $source + set member_list [list] + foreach member_node [xml_node_get_children_by_name $mem_node "member"] { set sourcedidtype [xml_get_child_node_attribute_by_path $member_node {sourcedid} "sourcedidtype"] @@ -278,8 +280,25 @@ -roletype $roletype \ -operation $operation + lappend member_list $id + } + if {$operation == "snapshot"} { + set non_users_list [db_list get_non_sent_users { *SQL* }] + set member_list [join $member_list ", "] + foreach id $non_users_list { + ims_enterprise::ims_dotlrn::membership::membership \ + -job_id $job_id \ + -class_instance_key $class_instance_key \ + -community_id $community_id \ + -id $id \ + -authority_id $authority_id \ + -roletype $roletype \ + -operation delete + } + } + } } Index: openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.xql 9 Jun 2004 18:08:07 -0000 1.1 +++ openacs-4/packages/ims-ent/tcl/ims-ent-parser-procs.xql 2 Jul 2004 20:35:37 -0000 1.2 @@ -112,4 +112,13 @@ limit 1 + + + + select user_id + from dotlrn_member_rels_full + where community_id = :community_id + and user_id not in (:member_list) + + \ No newline at end of file Index: openacs-4/packages/ims-ent/www/doc/ims-ent.txt =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/ims-ent/www/doc/ims-ent.txt,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/ims-ent/www/doc/ims-ent.txt 17 Jun 2004 21:58:39 -0000 1.2 +++ openacs-4/packages/ims-ent/www/doc/ims-ent.txt 2 Jul 2004 20:38:10 -0000 1.3 @@ -164,10 +164,12 @@ <--> external_url (just for deps) +Aditional notes: +* It handles snapshot for membership since it do checks now for those persons that do not continue to be members (that are not comming as transactions from the incremental process). + Not supported yet: * communities * sub-groups * mapping relation of the type department-->subject-->class using the tag, we see that this tag is more oriented in the case of a class to a sub-class relation rather than between the ones mentioned (since in .LRN we don't use at all a dep or sub portal). To make a relation between dep-sub-cla use the to indicate the parent(1) or child(2). -* better way to handle snapshot for membership since it do not checks now for those persons that do not continue to be members, but if the incremental process send info about that dropped membership, it will drop it as well. * Deal with photos from