Forum OpenACS Development: Error after upgrading Xowiki to 0.35 on openacs.org

First I fixed an error in the upgrade scripts, that's comitted to CVS xowiki-callbackprocs.tcl if you are interested.

Now running the xowiki, it looks good, but after editing any page I get this error:

    wrong # args: should be "ns_cache names cache"
        while executing
    "ns_cache names xowiki_cache link-*-$folder_id"
        (procedure "update_references" line 17)
        ::xowiki::f1 ::xowiki::WikiForm->update_references
        invoked from within
    "my update_references"
        (procedure "edit_data" line 5)
        ::xowiki::f1 ::xowiki::WikiForm->edit_data
        invoked from within
    "::xowiki::f1 edit_data"
        invoked from within
    "set item_id [::xowiki::f1 edit_data]"
        ("uplevel" body line 1)
        invoked from within
    "uplevel #$level $edit_data"
        ("1" arm line 1)
        invoked from within
    "switch $errno {
                        0 {
                            # TCL_OK
                        }
                        1 {
                            # TCL_E..."
        (procedure "ad_form" line 612)
        invoked from within
    "ad_form -extend -name [my name]  -validate [my validate]  -new_data $new_data -edit_data $edit_data -on_submit $on_submit  -new_request $new_request -..."
        (procedure "generate" line 47)
        ::xowiki::f1 ::Generic::Form->generate
        invoked from within
    "::xowiki::f1 generate -export [list [list return_url $return_url]]"
        (procedure "edit" line 61)
        ::461072 ::xowiki::Page->edit
        invoked from within
    "$object $method"
        (procedure "call" line 6)
        ::363017 ::xowiki::Package->call
        invoked from within
    "my call $policy $page $method"
        (procedure "invoke" line 25)
        ::363017 ::xowiki::Package->invoke
        invoked from within
    "$Package invoke -method $m"
        invoked from within
    "set text [$Package invoke -method $m]"
        (file "/var/lib/aolserver/openacs.org/packages/xowiki/www/index.vuh" line 17)
        invoked from within
    "source [ad_conn file]"
        (procedure "rp_handle_tcl_request" line 3)
        invoked from within
    "$handler"
        ("uplevel" body line 2)
        invoked from within
    "uplevel $code"
        invoked from within
    "ad_try {
                    $handler
                } ad_script_abort val {
                    # do nothing
                }"
        invoked from within
    "rp_serve_concrete_file [ad_conn file]"
        (procedure "rp_serve_abstract_file" line 60)
        invoked from within
    "rp_serve_abstract_file -noredirect -nodirectory  -extension_pattern ".vuh" "$root$prefix""
        ("uplevel" body line 3)
        invoked from within
    "uplevel $code"
        invoked from within
    "ad_try {
    	  ad_conn -set path_info  [string range $path [expr [string length $prefix] - 1] end]
    	  rp_serve_abstract_file -noredirect -nodirectory  -e..."

mailto:webmaster@openacs.org

Collapse
Posted by Dave Bauer on
Note the edits are successful, if I visit the page, the edits I made are there.
Collapse
Posted by Dave Bauer on
Found this in xowiki-form-procs.tcl

" ##### why is ns_cache names xowiki_cache *pattern* not working??? "

Seems to describe the symptoms.

Collapse
Posted by Dave Bauer on
I checked and ns_cache names *pattern* command format is only available in ns_cache from AOLserver CVS HEAD. The latest release of ns_cache is from 2003 (version 1.5). OpenACS.org has the released version of all modules, none from CVS.

The following patch fixed the problem:

Index: xowiki-form-procs.tcl =================================================================== RCS file: /cvsroot/openacs-4/packages/xowiki/tcl/xowiki-form-procs.tcl,v retrieving revision 1.12 diff -r1.12 xowiki-form-procs.tcl 27a28

{htmlarea_p 1}
183c184 < foreach entry [ns_cache names xowiki_cache link-*-$folder_id] { ---
foreach entry [lsearch -inline -all [ns_cache names xowiki_cache] link-*-$folder_id] {
Collapse
Posted by Gustaf Neumann on
Hi Dave,

see as well: http://www.openacs.org/forums/message-view?message_id=471867

the names pattern was added to nscache three years ago.
http://aolserver.cvs.sourceforge.net/aolserver/nscache/

OpenACS.org has the released version of all modules

if there are some old versions, they should be updated. The aolserver documentation of ns_cache describes only the current version. The aolserver installation guide points to cvs http://www.openacs.org/xowiki/en/aolserver-install as well.

Have you upgraded in the installation of ns_cache on oacs.org? More usages of this will follow in the xowiki/xotcl-core packages

-gustaf

Collapse
Posted by Dave Bauer on
Gustaf,

OpenACS.org is using the latest released version of ns_cache. That is also 3 years old, obviously slightly older than the *pattern* argument to ns_cache names. I checked CVS and the pattern argument is only on HEAD it was never included in any releae of ns_cache.

If OpenACS is to rely on that feature a new release of ns_cache should be done. I always download the modules tar.gz from the download page. I never check out any AOLserver code from CVS.

I don't think it makes sense to require someone to get unreleased code. I am not sure who is responsible for ns_cache, it appears noone has taken that responsibility since 2003 and the 1.5 release.

Collapse
Posted by Gustaf Neumann on
One more thing: in order to subscribe to notifications, the image appears to be necessary. i have commited it just now to cvs. please update, otherwise people will wonder, how notifications work... i will provide an "alt" text for the next release.

The missing image is /resources/xowiki/email.png
-gustaf

Collapse
Posted by Gustaf Neumann on
final comments (hopefully): if you are on it, please update
  • packages/acs-templating/www/resources/mktree.js (to make the category box of xowiki to appear nice with opera) and
  • packages/search/www/search.tcl (for search in a local xowiki instance)
both from oacs-5-2. The improved mktree.js is already in HEAD, the stuff of search is tiny backport from HEAD.

-gustaf