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 Prevost
@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..."
Sorry, but I can not help fixing it.