Index: openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl,v diff -u -r1.25 -r1.26 --- openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl 24 Jan 2005 00:58:41 -0000 1.25 +++ openacs-4/packages/acs-content-repository/tcl/filter-procs.tcl 24 Feb 2005 13:32:59 -0000 1.26 @@ -182,24 +182,25 @@ return 0 } - set item_info(item_id) [::content::item::get_id -item_path $url \ - -root_folder_id $content_root \ - -resolve_index "f"] - set item_info(content_type) [::content::item::get_content_type \ - -item_id $item_info(item_id)] + # cache this query persistently for 1 hour + set item_info(item_id) [::content::item::get_id -item_path $url \ + -root_folder_id $content_root \ + -resolve_index "f"] + set item_info(content_type) [::content::item::get_content_type \ + -item_id $item_info(item_id)] - # No item found, so do not handle this request - if { [string equal "" $item_info(item_id)] } { - set item_info(item_id) [::content::item::get_id -item_path $url \ - -root_folder_id $content_root \ - -resolve_index "f"] - set item_info(content_type) [::content::item::get_content_type \ - -item_id $item_id] - if { [string equal "" $item_info(item_id)] } { - ns_log notice "content::init: no content found for url $url" - return 0 - } - } + # No item found, so do not handle this request + if { [string equal "" $item_info(item_id)] } { + set item_info(item_id) [::content::item::get_id -item_path $url \ + -root_folder_id $content_root \ + -resolve_index "f"] + set item_info(content_type) [::content::item::get_content_type \ + -item_id $item_info(item_id)] + if { [string equal "" $item_info(item_id)] } { + ns_log notice "content::init: no content found for url $url" + return 0 + } + } variable item_url set item_url $url