Forum OpenACS Q&A: xowiki book page error

Collapse
Posted by Alessandro Landim on
Hi,

I've upgraded xowiki from 0.60.1 to 0.136 and I found an error when I request /en/book page.

Error in includelet 'book':

invalid command name "::xowiki::Portlet"
while executing
"::xowiki::Portlet detail_link -package_id $package_id -name $name -instance_attributes $instance_attributes"
(procedure "render" line 13)
::5555324 ::4008271::payload::EntryRenderer->render
invoked from within
"$c render"
(procedure "render" line 4)
::xotcl::__#4B->render
invoked from within
"$items render"
(procedure "render" line 12)
invoked from within
"next"
(procedure "render" line 18)
::xotcl::__#4A ::4008271::payload::WeblogRenderer->render
invoked from within
"$w render"
(procedure "content" line 31)
::4008271::payload->content
invoked from within
"[self]::payload content"
(procedure "render_content" line 4)
::4008271 ::xowiki::Object->render_content
invoked from within
"my render_content"
(procedure "render" line 27)
::4008271 ::xowiki::Page->render
invoked from within
"$p render -with_footer false"
("default" arm line 2)
invoked from within
"switch [$p info class] {
::xowiki::Form {
set content [$p render]
}
default {
set content [$p render -wit..."
(procedure "render" line 85)
invoked from within
"next"
(procedure "render" line 5)
::xotcl::__#0O ::xowiki::includelet::decoration=plain->render
invoked from within
"$includelet render"

Any help is appreciated.

Collapse
2: Re: xowiki book page error (response to 1)
Posted by Gustaf Neumann on
::xowiki::Portlet was renamed to ::xowiki::Includelet in Nov 2007
http://fisheye.openacs.org/changelog/OpenACS/openacs-4/packages/xowiki?cs=MAIN%3Agustafn%3A20071113113611

You seem to have an instantiated prototype page which contains the old class name. It looks to me, as if the update script did not run on your installation:
http://fisheye.openacs.org/browse/OpenACS/openacs-4/packages/xowiki/tcl/upgrade/upgrade.tcl?r=HEAD#l268

Can you check in your error.log if you see the messages "-- upgrading to "?

Anyhow, you might be able to fix it locally by doing
reloading the prototype page from the developer shell (replace /xowiki by the path leading to the instance where you have observed the problem)

::xowiki::Package initialize -url /xowiki
$package_id import-prototype-page weblog-portlet

Hope, this helps

Collapse
3: Re: xowiki book page error (response to 2)
Posted by Alessandro Landim on
Thanks for help Gustaf, this solution works.

I found other problem, now in the form redirect url, for example: form1?m=create-new to 2334?m=edit

When I request the form page or the new entry for a form I got this error:

::1191: unable to dispatch method 'instforward'
while executing
"$domain $forwarder $name -default [$manager defaultmethods] $manager %1 %self %proc"
(procedure "init" line 7)
invoked from within
"next "
(procedure "init" line 4)
invoked from within
"next"
(procedure "init" line 4)
invoked from within
"::xotcl::next"
(procedure "init" line 2)
::1191::slot::__#0R ::xotcl::Slot::Optimizer->init
::xo::Attribute ::xotcl::Class->create
invoked from within
"::xo::Attribute create ::1191::slot::__#0R \
-set pretty_name file_id_text \
-set domain ::1191 \
-set multivalued false \
-set datatype text \
-..."
("eval" body line 33)
invoked from within
"eval $serialized_object"
(procedure "fetch_object" line 28)
::xowiki::FormPage ::xo::db::CrCache->fetch_object
invoked from within
"my fetch_object -object $object -item_id $item_id -revision_id $revision_id"
(procedure "get_instance_from_db" line 6)
::xowiki::FormPage ::xo::db::CrClass->get_instance_from_db
invoked from within
"$class get_instance_from_db -item_id $item_id -revision_id $revision_id"
(procedure "get_instance_from_db" line 6)
::xo::db::CrClass->get_instance_from_db
invoked from within
"::xo::db::CrClass get_instance_from_db -item_id $parent_id"
(procedure "folder_path" line 17)
::906 ::xowiki::Package->folder_path
invoked from within
"my folder_path -parent_id $parent_id"
(procedure "pretty_link" line 32)
::906 ::xowiki::Package->pretty_link
invoked from within
"::$package_id pretty_link -parent_id $parent_id $name"
invoked from within
"set page_link [::$package_id pretty_link -parent_id $parent_id $name]"
("uplevel" body line 2)
invoked from within
"uplevel 1 $code_block "
("1" arm line 1)
invoked from within
"switch $errno {
0 {
# TCL_OK
}
1 {
# TCL_ERROR
..."
("while" body line 20)
invoked from within
"while { [db_getrow $db $selection] } {
incr counter
if { [info exists array_val] } {
unset array_val
..."
("uplevel" body line 5)
invoked from within
"uplevel 1 $code_block "
invoked from within
"db_with_handle -dbn $dbn db {
set selection [db_exec select $db $full_statement_name $sql]

set counter 0
while { [db_getrow $..."
(procedure "db_foreach" line 36)
invoked from within
"db_foreach instance_select [$object_type instance_select_query -folder_id $folder_id -with_subtypes $with_subtypes -from_clause ", xowiki_page p" ..."
("uplevel" body line 93)
invoked from within
"uplevel {
::xowiki::Package initialize -ad_doc {
This is the admin page for the package. It displays all entries
provides links to create,..."
(procedure "code::tcl::/usr/local/openacs/openacs-5.6.0/packages/xowiki/..." line 2)
invoked from within
"code::tcl::$__adp_stub"
invoked from within
"if { [file exists $__adp_stub.tcl] } {

# ensure that data source preparation procedure exists and is up-to-date
adp_init tcl $__adp_stub
..."
("uplevel" body line 3)
invoked from within
"uplevel {

if { [file exists $__adp_stub.tcl] } {

# ensure that data source preparation procedure exists and is up-to-date
adp_init t..."
(procedure "adp_prepare" line 2)
invoked from within
"adp_prepare"
invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
(procedure "adp_parse_ad_conn_file" line 6)
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/$extra_url""
("uplevel" body line 2)
invoked from within
"uplevel $code"
invoked from within
"ad_try {
rp_serve_abstract_file "$root/$extra_url"
set tcl_url2file([ad_conn url]) [ad_conn file]
set tcl_url2path..."

Collapse
4: Re: xowiki book page error (response to 3)
Posted by Gustaf Neumann on
"instforward" is a built-in method of XOTcl. If this does not work, it looks like something substantial is broken, or it might be the consequence of some other error or half-broken initialization. I would assume that the error above is not the first in you error log. Please check the error-log and check, if the error persists after a system restart.

What version of xotcl and xotcl-core are you using?
Try http://YOURSITE/xotcl/version-numbers

Collapse
5: Re: xowiki book page error (response to 4)
Posted by Alessandro Landim on
Thanks for your reply.

I use XOTcl 1.6.0 and xotcl-core 0.118

But, I restarted the server and the pages works fine now. 😃

Thanks a lot for your help.

Collapse
6: Re: xowiki book page error (response to 4)
Posted by Alessandro Landim on
Hi Gustaff,

The error "unable to dispatch method 'instforward'" comes back.

When I restart the server all pages works fine, but When I submit a new entry of Xowiki Form the error appear.

This new entry is unaccessible while I don't restart the server.

Is this a problem with OpenACS cache? Or Xotcl cache?

Thanks for help.

Collapse
7: Re: xowiki book page error (response to 6)
Posted by Gustaf Neumann on
Is this the first error in your error log file? Although i doubt that there is a connection, i would recommend to upgrade to xotcl 1.6.6. Greetings from zurich -gustaf