Forum OpenACS Q&A: read_access='group', write_access='group' problem

Don't want to post a bug to SDM without checking first to see if this is a local problem.

Without an automated way to restrict a forum to group read and write access, I have tried manually changing entries in the bboard_topics table to reflect read_access='group', write_access='group', and group_id set to the appropriate existing group_id from table user_groups.

The documentation would indicate that this should restrict any access to the user group designated by group_id. What I get, though, is an error reflected in the log as follows:

[08/Dec/2000:12:02:52][21148.681989][-conn191-] Error: nsd.tcl: can't read "bboard": no such variable
can't read "bboard": no such variable
while executing
"ad_permission_p $db $bboard $topic_id "" $user_id"
invoked from within
"if {[string compare $read_access "any"] == 0} {
# Any user can view this topic
return 1
} elseif {[string compare $read_access "public"..."
("uplevel" body line 22)
invoked from within
"uplevel {
if {[exists_and_not_null topic_id]} {
validate_integer "topic_id" $topic_id
}
if {!([info exists topic_id] && ![catch {set select..."
(procedure "bboard_get_topic_info" line 2)
invoked from within
"bboard_get_topic_info"
(file "/web/titan/www/bboard/q-and-a.tcl" line 1)
(procedure "ns_sourceproc" line 1)
invoked from within
"ns_sourceproc cns1944 {}"

As indicated in the log, q-and-a.tcl calls procedure bboard_get_topic_info in tcl/bboard-defs.tcl. That procedure is entirely inside an uplevel, and the error occurs where:

} elseif {[string compare $read_access "group"] == 0} {
# "group" means the user must belong to one of the topic's groups.
# ACS 3.1.1 patch
if {[ad_permission_p $db $bboard $topic_id "" $user_id]} {
ns_db flush $db
return 1

This logic is only executed if $read_access is "group," and the ad_permission_p cannot execute because $bboard is undefined. This is the only place that the $bboard variable exists in the bboard- defs.tcl file.

Now... I'm happy to post this to the SDM if it's not a well-known problem and even attempt to fix it. I find it hard to believe, though, that I'm the only one who's experienced this, but I find no mention of it in the boards or the SDM.

Tks, RF