Forum OpenACS Development: problems with bboard in 4.5
cvs -z3 -d:pserver:anonymous@openacs.org:/cvsroot update bboard. I assume this is going to be the oACS-4-5 branch. (Could someone confirm)
When posting /message-new-3 gives me an error:
Database operation "0or1row" failed (exception NSDB, "Query was not a statement returning rows.") while executing "ns_pg_bind 0or1row nsdb0 { select bboard_message__new ( :message_id, :reply_to, :sent_date..." ("uplevel" body line 1) invoked from within "uplevel $ulevel [list ns_pg_bind $type $db $sql" invoked from within "db_exec 0or1row $db $full_statement_name $sql" invoked from within "if {[regexp -nocase -- {^s*select} $test_sql match]} { db_qd_log Debug "PLPGSQL: bypassed anon function" set selection [db_ex..." ("uplevel" body line 6) invoked from within "uplevel 1 $code_block " invoked from within "db_with_handle db { # plsql calls that are simple selects bypass the plpgsql # mechanism for creating anonymous functions (OpenACS - ..." (procedure "db_exec_plsql" line 13) invoked from within "db_exec_plsql message_new { begin :1 := bboard_message.new ( message_id => :message_id, reply_to =..." (procedure "bboard_message_new" line 3) invoked from within "bboard_message_new -message_id $message_id -reply_to $reply_to -sender $user_id -title $title -mime_type $mime_type -content $content -context_id $f..." ("uplevel" body line 3) invoked from within "uplevel 1 $transaction_code " (procedure "db_transaction" line 39) invoked from within "db_transaction { bboard_message_new -message_id $message_id -reply_to $reply_to -sender $user_id -title $title -mime_type $mime_type -content $..." ("uplevel" body line 30) invoked from within "uplevel { ad_page_contract { Confirmation page for a new posting. @author Anukul Kapoor (akk@arsdigita.com) @creation-datee 2..." (procedure "code::tcl::/web/weg1/packages/bboard/www/message-new-3" 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 3) invoked from within "adp_prepare " (procedure "template::adp_parse" line 30) invoked from within "template::adp_parse [file root [ad_conn file]] {}" (procedure "adp_parse_ad_conn_file" line 7) 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([ad_conn url]) [ad_conn path_inf..."
Does anyone have this problem?
You're problem, though, is due to a bug fix to bboard made by Vinod. The easiest way to fix this was to do something bboard should've been doing from day one - deriving its own bboard_message type from acs_message rather than use acs_message objects, so it can track its own objects reliably.
I haven't looked at what updating an existing installation would take. If you don't have any other general messages in your system (no general comments, for instance) then in principle you can:
1. Add the new type (poach the code from bboard-create)
2. update the acs objects table changing the type of all acs_message objects to bboard_message
3. Add a row to bboard messages for each row in acs_messages tying them together with the message id.
This would probably work ...
This will be the last major change of this sort until after the 4.5 release, I think. After beta we'll provide upgrade scripts if there are such changes.
I need to start a new site. Do you suggest not to install bboard until your release 4.5? or if I install the new version (fresh from CVS) I will not need to do any changes?
I know you are with a flu, please get bettr soon, so we can have 4.5
cheers
Rafa
When I try to create the bboard I get:
invalid command name "bboard_forum_new" while executing "bboard_forum_new -forum_id $forum_id -short_name $short_name -charter $charter -moderated_p $moderated_p -bboard_id $package_id -creation_user [ad_v..." ("uplevel" body line 2) invoked from within "uplevel 1 $transaction_code " (procedure "db_transaction" line 1) invoked from within "db_transaction { bboard_forum_new -forum_id $forum_id -short_name $short_name -charter $charter -moderated_p $moderated_p -bboard_id $package_id..." ("uplevel" body line 31) invoked from within "uplevel { ad_page_contract { Create a new forum. @author John PrevostSorry, but I can not help fixing it.@creation-date 2000-08-30 @cvs..." (procedure "code::tcl::/web/weg1/packages/bboard/www/forum-new-2" 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 3) invoked from within "adp_prepare " (procedure "template::adp_parse" line 30) invoked from within "template::adp_parse [file root [ad_conn file]] {}" (procedure "adp_parse_ad_conn_file" line 7) 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([ad_conn url]) [ad_conn path_inf..."