Index: openacs-4/packages/xowiki/www/admin/import.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/www/admin/import.tcl,v diff -u -N -r1.24 -r1.25 --- openacs-4/packages/xowiki/www/admin/import.tcl 7 Aug 2017 23:48:31 -0000 1.24 +++ openacs-4/packages/xowiki/www/admin/import.tcl 24 Dec 2017 12:51:38 -0000 1.25 @@ -46,32 +46,38 @@ foreach o [::xowiki::Page allinstances] { set preexists($o) 1 } - if {[catch {namespace eval ::xo::import $content} errorMsg]} { + ad_try { + namespace eval ::xo::import $content + } on error {errorMsg} { ad_log error $errorMsg # cleanup all objects, that did not exist before foreach o [::xowiki::Page allinstances] { if {![info exists preexists($o)]} { if {[::xotcl::Object isobject $o]} {$o destroy} } } - } else { + } on ok {r} { set objects [list] foreach o [::xowiki::Page allinstances] { if {![info exists preexists($o)]} {lappend objects $o} } ns_log notice "objects to import: $objects" set parent_id [ns_queryget parent_id 0] #::xotcl::Object msg parent_id=$parent_id - if {[catch { + ad_try { set msg [$package_id import -replace $replace -create_user_ids $create_user_ids \ -parent_id $parent_id -objects $objects] - } errMsg]} { + } on error {errMsg} { ns_log notice "Error during import: $errMsg\nErrInfo: $::errorInfo" ::xotcl::Object msg "Error during import: $errMsg\nErrInfo: $::errorInfo" foreach o $objects {$o destroy} error $errMsg } - foreach o $objects {if {[::xotcl::Object isobject $o]} {$o destroy}} + foreach o $objects { + if {[::xotcl::Object isobject $o]} { + $o destroy + } + } } namespace delete ::xo::import }