Index: openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl,v diff -u -r1.320.2.28 -r1.320.2.29 --- openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 3 Mar 2015 16:04:19 -0000 1.320.2.28 +++ openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl 12 Aug 2015 15:53:26 -0000 1.320.2.29 @@ -344,7 +344,11 @@ my instvar package_id name $package_id delete -name $name -item_id $item_id } else { - ::xo::db::sql::content_item set_live_revision -revision_id $latest_revision + # Fetch fresh instance from db so that we have actual values + # from the latest revision for e.g. the update of the + # item_index. + set page [::xo::db::CrClass get_instance_from_db -item_id $item_id -revision_id $latest_revision] + $page set_live_revision -revision_id $latest_revision } } if {$latest_revision ne ""} { @@ -1025,11 +1029,15 @@ # Page instproc make-live-revision {} { - my instvar revision_id item_id package_id - #my log "--M set_live_revision($revision_id)" - ::xo::db::sql::content_item set_live_revision -revision_id $revision_id - set page_id [my query_parameter "page_id"] - ::xo::clusterwide ns_cache flush xotcl_object_cache ::$item_id + my instvar package_id + set page_id [my query_parameter "revision_id"] + if {[string is integer -strict $page_id]} { + set revision_id $page_id + } else { + set revision_id [my set revision_id] + } + #my log "--M set_live_revision $revision_id" + my set_live_revision -revision_id $revision_id ::$package_id returnredirect [my query_parameter "return_url" \ [export_vars -base [$package_id url] {{m revisions}}]] }