Forum OpenACS Development: xowiki 0.37 on OpenACS 5.1.5 woes

I have a fairly stable OpenACS 5.1.5 installation (postgres 7.4.x, Solaris 5.10 i86pc), on which I am trying to run xowiki. I followed the xotcl installation docs ( http://media.wu-wien.ac.at/download/README-xotcl-core), and installed thread2.6.5, configured my config.tcl to use libthread, installed xotcl 1.5.3, installed the openacs packages xotcl-core-0.44, xotcl-request-monitor-0.37, the two patches (api-documentation and bootstrap installer), and everything was fine. I can see the /request-monitor and the /xotcl pages, and everything looks good.

When I installed xowiki 0.27, the installation went OK. However, when I tried to go to the /xowiki page, I got an error that said that 20-param version of content_item__new did not exist. I searched around a little bit, found the newer version of content-item.sql (with the 20-param version of content_item__new) in a CVS, and sourced it into pgsql. It gave some errors with the replicated triggers, but was basically fine.

Now when I try to go to the /xowiki page, it gives me this error:

can't read "policy": no such variable
    while executing
"$policy defined_methods Package"
    (procedure "resolve_page" line 6)
    ::2302 ::xowiki::Package->resolve_page
    invoked from within
"my resolve_page [my set object] method"
    (procedure "invoke" line 6)
    ::2302 ::xowiki::Package->invoke
    invoked from within
"::$package_id invoke -method $m"
    invoked from within
"::$package_id reply_to_user [::$package_id invoke -method $m]"
    (file "/home/aolserver/packages/xowiki/www/index.vuh" line 21)
    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 "$root/$path""
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
            rp_serve_abstract_file "$root/$path"
            set tcl_url2file([ad_conn url]) [ad_conn file]
            set tcl_url2path_info..."

The error arises on line 123 of package-procs.tcl, where it claims that "policy" is not defined. I do not know xotcl, so am not comfortable debugging this further.

Can someone please advise how to proceed? Is there more that needs to be patched in my OpenACS 5.1.5 installation in order to get xowiki to work? Or is it just a lost cause, I should give up with this version of OpenACS? Thanks!

Collapse
Posted by Gustaf Neumann on
Is there any reason, why you are trying xowiki 0.37? Xowiki is now at 0.50. It is kind of hard to fix a version were many things have changed in the meantime. Have you tried the recent versions of xowiki/xotcl-core from cvs head? In Nov, i made a version of xowiki that could load at that time into 5.1.*. These changes are in the CVS head version. With that, you get at least the basic functionality of xowiki working. Not sure, whether e.g. notification / search / syndication works the same way in 5.1.
Collapse
Posted by Gustaf Neumann on
Just to followup my last note.

With OpenACS 5.1.* you are asking for trouble on the long range. OpenACS 5.2 did some significant changes on the datamodel (on acs_objects), OpenACS 5.3 was putting emphasis on code quality (acs-core). Alone between the release of 5.2.3 (the version running on openacs.org) and 5.3.0 there were over 350 changes (mostly fixes) for acs-core. We moved our main platform of the university from 5.1 to 5.2 and recently to 5.3, which is intensively different from the cvs version. You should really consider upgrading.

I often get questions from people not experienced in cvs, how the get xotcl-core or xowiki from cvs head. Once you have CVS installed on your system (most linuxes have this), use the following commands to get the newest version of xotcl-core and xowiki from cvs (the newest version is called the head version):


export CVSROOT=:pserver:mailto:anonymous@cvs.openacs.org:/cvsroot
cvs login
cvs co xowiki xotcl-core

best regards
-gustaf neumann

Collapse
Posted by Naveen Agnihotri on
Gustaf,

Thanks so much for your responses. I got xotcl and xowiki from the cvs, but still get the same error. I'm seriously considering upgrading my OpenACS installation, but cannot find good docs anywhere about how to do that while keeping my database entries (users, forums, blog, calendar, etc) intact.

The standard OpenACS docs ( here) basically say "copy over the new files, do a CVS merge", and then "use the upgrade script to create a new database." I find that pretty much every module comes with its own database upgrade scripts. How do I upgrade everything in one go?

Thanks!

Collapse
Posted by Gustaf Neumann on
First of all, make a database dump and backup packages and content repository files.

The comment about the "CVS merge" statement assumes that you have your installation in CVS and your have done local modifications. The upgrade scripts from openacs do not create a "new database", but do a stepwise upgrade of the existing installation. When OpenACS detects a new version to install (e.g. you have updates the files in the packages directory) it runs (or should run) all the necessary update-scripts, when you do a acs-admin/apm/packages-install.

I would recommend to try an upgrade to oacs-5.2.3. Start openacs with your working installation. While it is running, update the files for the acs-core packages and run then acs-admin/apm/packages-install. It will point you to the files to upgrade and will run the upgrade scripts automatically. In case something goes wrong, remember the failed update scripts and run these by hand (i.e. via psql -f ...). If you have a large database (large content repository), some steps can take a while. Once you have acs-core upgraded, then update the application packages.

Collapse
Posted by Naveen Agnihotri on
The good news first: the OpenACS upgrade turned out to be quite painless. I've upgraded to OpenACS 5.2.3, and to the best of my testing, everything that worked before seems to be working. I haven't lost any data.

I am now on xotcl-core 0.48, xotcl-request-monitor 0.38, and xowiki 0.50.

Now the troublesome part: there are a couple of errors in the error.log file:

[04/Apr/2007:01:11:17][17923.1][-main-] Error: Error sourcing /home/aolserver/packages/xowiki/tcl/xowiki-procs.tcl:
 during '::xotcl::__#4 contains'
    ::xotcl::__#4 ::xotcl::Object->configure
    ::xo::OrderedComposite ::xotcl::Class->create
    ::xo::OrderedComposite ::xotcl::Class->new
    invoked from within
"::xo::OrderedComposite new -contains [my cr_attributes]"
    (procedure "init" line 8)
    ::xowiki::Page ::Generic::CrClass->init
    ::Generic::CrClass ::xotcl::Class->create
    invoked from within
"::Generic::CrClass create Page -superclass ::Generic::CrItem  -pretty_name "XoWiki Page" -pretty_plural "XoWiki Pages"  -table_name "xowiki_page" -id_..."
    (in namespace eval "::xowiki" script line 6)
    invoked from within
"namespace eval ::xowiki {

  #
  # create classes for different kind of pages
  #
  ::Generic::CrClass create Page -superclass ::Generic::CrItem \
   ..."
    (file "/home/aolserver/packages/xowiki/tcl/xowiki-procs.tcl" line 9)
    invoked from within
"source $__file "

and a few lines below that, this one:

[04/Apr/2007:01:11:17][17923.1][-main-] Error: Error sourcing /home/aolserver/packages/xowiki/tcl/xowiki-www-procs.tcl:
invalid command name "File"
    while executing
"File instproc download {} {
    my instvar text mime_type package_id item_id revision_id
    $package_id set mime_type $mime_type
    set use_bg_deliv..."
    (in namespace eval "::xowiki" script line 256)
    invoked from within
"namespace eval ::xowiki {

  Page instproc htmlFooter {{-content ""}} {
    my instvar package_id description
    if {[my exists __no_footer]} {retu..."
    (file "/home/aolserver/packages/xowiki/tcl/xowiki-www-procs.tcl" line 11)
    invoked from within
"source $__file "

It may be irrelevant, but just in case: this is a virtual domain enabled aolserver process. I am loading libthread for both the servers.

I have a feeling I haven't configured something properly. Can you please suggest what could cause these errors?

Thanks!

Collapse
Posted by Stefan Sobernig on
Hi Naveen!

This is probably due to the XOTcl version that you are using. The first error message shows that the actual error (message) from the lowest callstack level is suppressed. This is documented and patched for XOTcl 1.5.3. Patching or upgrading to a fresh install of 1.5.3 from xotcl.org should heal this problem, at least, and will show us the true source of the problem.

The second error message is a follow-up upon the first, as ::xowiki::File is declared in the same *-procs.tcl file that fails to source due to the first error.

Collapse
Posted by Naveen Agnihotri on
Hi Stefan, Thanks for your response! XOTcl was already a 1.5.3, but just for good measure, I installed it again ( make distclean, ./configure..., make, make install, make install-aol), but still the same problem.

The log shows:

[04/Apr/2007:03:34:29][1708.1][-main-] Notice: XOTcl version 1.5.3 loaded

As per my previous post, this is a virtual domain enabled server, so the XOTcl loaded line occurs multiple times, once for each server. Could that be an issue?

Thanks!

Collapse
Posted by Gustaf Neumann on
No, the reason is not the XOTcl version. Although, Stefan is right, there is a patch from January on the XOTcl mailing list, which will give in this situation a better error message, but it won't solve the problem.

I am pretty sure, you have an earlier error message in your log file. Most likely, you have oacs 5.2.3 from the released tar file. From the distance, i would think that maybe acs-bootstrap-installer/bootstrap.tcl does not have the patch in http://cvs.openacs.org/cvs/openacs-4/packages/acs-bootstrap-installer/bootstrap.tcl?r1=1.25.8.2&r2=1.25.8.3

I have included changelog of the changes in the oacs-5-2 branch after the release of OpenACS 5.2.3 below (just removed the length catalog file listings and reverted changes). These changes are as well included in OpenACS 5.3.0. I would recommend to wait until the release of OpenACS 5.3.1 and DotLRN 2.3.0, since this release contains as well updates for the application packages included in DotLRN.

There is a longer discussion about the error message you are experiencing in https://openacs.org/forums/message-view?message_id=546200

Hope this helps
-gustaf

2007/01/04 rocaelh

	* ./packages/acs-subsite/www/admin/index.adp:
	* ./packages/acs-subsite/www/admin/index.tcl:
	eliminating registration assessment deadlink

2007/01/02 gustafn * ./packages/acs-reference/sql/postgresql/acs-reference-create.sql: adding missing variable declaration needed at least for pg 8.2 * ./packages/acs-bootstrap-installer/bootstrap.tcl: make sure to load xotcl-core init before other xowiki apps

2006/12/31 daveb * ./packages/acs-content-repository/tcl/revision-procs.tcl: Fix Bug#3056. sn_gifsize should be ns_gifsize.

2006/12/06 gustafn * ./packages/acs-subsite/lib/login.tcl: checking return_url for security reasons, don't allow complete urls as return_urls for register

2006/12/01 victorg Catalogs of message keys from translate.openacs.org only for local es_ES.

2006/11/29 victorg Adding to acs-5-2 branch, message key catalog files from translation server for acs-core packages, dotlrn-all packages and dotlrn-extras packages.

2006/11/22 maltes * ./packages/acs-tcl/tcl/00-database-procs.tcl: Made the comment about long db queries a little bit more readable

2006/11/18 daveb * ./packages/acs-bootstrap-installer/db-init-checks-oracle.tcl: * ./packages/acs-bootstrap-installer/tcl/40-db-query-dispatcher-procs.tcl: Backport 10g recognition patches from HEAD

2006/11/16 emmar * ./packages/acs-lang/www/admin/edit-localized-message.tcl: Fix for #3042: patch provided by morals (raul)

2006/11/13 daveb * ./packages/search/www/search.tcl: Fix bug#3040, split string before passing to llength.

2006/11/03 leed * ./packages/acs-lang/tcl/localization-procs.tcl: Fixed bug #2952:   as thousands separator * ./packages/acs-admin/www/users/merge-final.tcl: * ./packages/acs-admin/www/users/merge.tcl: Fixed bug #2999: Merge users fails.

2006/11/03 emmar * ./packages/acs-subsite/www/user/portrait/upload-2.tcl: Fix #2976: store comment when uploading portrait

2006/11/03 donb * ./packages/acs-lang/www/change-locale-include.tcl: Another file needed to fix bug #2931 * ./packages/acs-lang/tcl/lang-widget-procs.tcl: Fixed bug #2931 ... * ./packages/acs-kernel/acs-kernel.info: * ./packages/acs-tcl/tcl/defs-procs.tcl: The "HomePage" parameter to acs-kernel was not localized.

2006/11/01 maltes * ./packages/acs-tcl/tcl/text-html-procs.tcl: translate characters into HTML codes

2006/10/31 donb * ./packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.2.0d1-5.2.0d2.sql: Malte removed apm__register_param but did not replace it with the correct version.

2006/10/10 maltes * ./packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.2.0d1-5.2.0d2.sql: Made sure the correct version of apm__register_parameter is used according to https://openacs.org/forums/message-view?message_id=345947

2006/10/02 emmar * ./packages/acs-templating/resources/forms/accessible-forms.adp: Remove remaining / of formwidget element

2006/09/27 eduardop * ./packages/acs-authentication/tcl/password-procs.tcl: fix minor documentation errors

2006/08/24 emmar * ./packages/acs-templating/resources/forms/accessible-forms.adp: Added missing noquote for label element

2006/08/18 gustafn * ./packages/acs-templating/www/resources/xinha-nightly/plugins/OacsFs/oacs-fs.js: added parameter script_dir to configuration section, defaults now to /xowiki; can be reset to the old behaviour via e.g.: xinha_config.script_dir = '.';

2006/08/13 gustafn * ./packages/search/www/search.tcl: pass search_package_id to page 1 etc. as well.

2006/07/31 gustafn * ./packages/search/www/search.tcl: provide search_package_id as call parameter like in 5.3, to make it easier for people to use xowiki 0.31 with oacs-5-2

2006/07/08 donb * ./packages/acs-templating/resources/forms/accessible-forms.adp: Olga changes to this non-standard file

2006/07/06 gustafn * ./packages/acs-admin/tcl/apm-admin-procs.tcl: fix for templating bug (localization) for streaming output. Main Site was not translated in /acs-admin/apm/packages-install; not sure, whether a generic solution is needed... see: https://openacs.org/forums/message-view?message_id=387524 * ./packages/acs-templating/tcl/richtext-procs.tcl: * ./packages/acs-templating/www/resources/mktree.js: make openacs usable with opera. 2 fixes: avoid multiple "+" signs in mktree, turn off rich text editing with opera (like safari) * ./packages/acs-tcl/tcl/utilities-procs.tcl: make openacs work with aolserver 4.5. address changed behavior of ns_startcontent, works now with binary data types as well

2006/07/03 maltes * ./packages/acs-lang/www/admin/message-list.adp: * ./packages/acs-lang/www/admin/message-list.tcl: Added fast locale switch taken from categories

2006/07/03 donb * ./www/blank-master.adp: Fixed a "link" tag.

2006/07/01 gustafn * ./packages/acs-tcl/tcl/utilities-procs.tcl: Fix to make oacs work with aolserver 4.5: pass default output encoding via content_type to ns_startcontent in case it is not specified

2006/06/23 torbenb * ./packages/acs-lang/sql/oracle/ad-locales.sql: adding new locales for oracle * ./packages/acs-lang/sql/postgresql/ad-locales.sql: adding new locales for postgresql * ./packages/acs-lang/acs-lang.info: adding new locales, needs version number bumped up for upgrades * ./packages/acs-lang/sql/oracle/upgrade/upgrade-5.2.3b2-5.2.3b3.sql: * ./packages/acs-lang/sql/postgresql/upgrade/upgrade-5.2.3b2-5.2.3b3.sql: adding upgrade script for new locales * ./packages/acs-lang/sql/oracle/upgrade/upgrade-5.2.3b2-5.2.3b3.sql: * ./packages/acs-lang/sql/postgresql/upgrade/upgrade-5.2.3b2-5.2.3b3.sql: removing file meant for head instead of oacs-5-2 stable * ./packages/acs-lang/sql/postgresql/ad-locales.sql: reverting to 1.25.2.4 oacs-5-2 stable * ./packages/acs-lang/sql/oracle/ad-locales.sql: reverting to 1.29.2.1 oacs-5-2 stable * ./packages/acs-lang/acs-lang.info: reverting to 1.41.2.19 oacs-5-2 stable

2006/06/21 gustafn * ./packages/acs-lang/tcl/localization-procs.tcl: fix for bug #2905

2006/06/20 gustafn * ./packages/acs-templating/tcl/richtext-procs.tcl: disable rich text editing for safari (fix for bug #2928)

2006/06/20 daveb * ./packages/acs-subsite/tcl/test/acs-subsite-procs.tcl: Add test to make sure someone did not accidentally add the "Unregistered Visitor" to a group other than "The Public".

2006/06/16 roelc * ./packages/acs-subsite/lib/login.tcl: Set the email/username and password fields via css, some versions of IE mismatch their lengths even if set via the size attrib

2006/06/08 rocaelh * ./packages/acs-kernel/sql/postgresql/utilities-create.sql: fix on this no-used function that was preventing acs-kernel to install in PG8.1.4

2006/06/07 rocaelh * ./packages/acs-core-docs/www/aolserver4.html: changing to @aolserver.cvs.source...

2006/06/06 gustafn * ./packages/acs-templating/www/resources/xinha-nightly/plugins/OacsFs/lang/de.js: * ./packages/acs-templating/www/resources/xinha-nightly/plugins/OacsFs/lang/en.js: adding language files for OacsFs

2006/06/02 skaufman adding missing messages

2006/05/30 victorg Catalogs from translate.openacs.org for packages NOT included in the OpenACS Core

2006/05/29 victorg * ./packages/acs-templating/acs-templating.info: Taking up the version to 5.2.3

Collapse
Posted by Naveen Agnihotri on
Gustaf, You were exactly right! That patch in bootstrap.tcl fixed it!

Now there are some suspicious warning messages in the log, of the kind of:

[04/Apr/2007:05:04:30][7091.1][-main-] Warning: db_qd_get_fullname: there is no documented proc with name xo::db::has_ltree returning dbqd..NULL (declare proc xo::db::has_ltree with ad_proc to make it work with the query dispatcher
[04/Apr/2007:05:04:30][7091.1][-main-] Warning: db_qd_get_fullname: there is no documented proc with name Generic::object_type_exists returning dbqd..NULL (declare proc Generic::object_type_exists with ad_proc to make it work with the query dispatcher

Hopefully these aren't something to worry about? Thanks so much!

Collapse
Posted by Malte Sussdorff on
What I realized when upgrading Project Open from 5.1.5 to 5.3 is that some of the content repository upgrade scripts are failing, because the installed kernel version is newer then the one expected during the upgrade. So don't worry if some of them fail, it will all be dealt with just fine by the last upgrade script.

Not sure though what to do in general in a situation like this... When an upgrade script (e.g. 5.2.0d16-d17.sql) assumes a acs-kernel to be in a certain state, which it is not after it has been upgraded e.g. to 5.3.0.