Index: openacs-4/packages/imsld/tcl/imsld-parse-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/imsld/tcl/imsld-parse-procs.tcl,v diff -u -r1.77 -r1.77.2.1 --- openacs-4/packages/imsld/tcl/imsld-parse-procs.tcl 1 Jul 2009 11:05:40 -0000 1.77 +++ openacs-4/packages/imsld/tcl/imsld-parse-procs.tcl 28 Jul 2009 19:52:33 -0000 1.77.2.1 @@ -1189,11 +1189,21 @@ set identifier [imsld::parse::get_attribute -node $property_group_node -attr_name identifier] set title [imsld::parse::get_title -node $property_group_node -prefix imsld] - set property_group_id [imsld::item_revision_new -attributes [list [list identifier $identifier] \ - [list component_id $component_id]] \ - -content_type imsld_property_group \ - -title $title \ - -parent_id $parent_id] + if { [db_0or1row get_group_property_id { + select property_group_id + from imsld_property_groupsi + where identifier = :identifier + and content_revision__is_live(property_group_id) = 't' + and component_id = :component_id + }] } { + return $property_group_id + } else { + set property_group_id [imsld::item_revision_new -attributes [list [list identifier $identifier] \ + [list component_id $component_id]] \ + -content_type imsld_property_group \ + -title $title \ + -parent_id $parent_id] + } set property_refs [$property_group_node selectNodes "*\[local-name()='property-ref'\]"] foreach property $property_refs { @@ -1217,9 +1227,9 @@ set ref [imsld::parse::get_attribute -node $property_group -attr_name ref] if { ![db_0or1row get_group_property_id { select item_id as group_property_item_id - from imsld_propertiesi + from imsld_property_groupsi where identifier = :ref - and content_revision__is_live(property_id) = 't' + and content_revision__is_live(property_group_id) = 't' and component_id = :component_id }] } { # there is no propety group with that identifier. search in the rest of non-created property-groups