Forum OpenACS Q&A: Error with .LRN forum portlet, Query returned more than one row

I'm wondering if someone might offer some advice on fixing the problem that generates the following error message in my .lrn forums portlet:

Database operation "0or1row" failed (exception NSINT, "Query returned more than one row.")

SQL:

    select site_node__url(node_id)
          from site_nodes
        where object_id = '450'

Thanks!

Bruce

Looks like this here.

Did you mount the same package twice?

Hi Dirk:  Good question.  I did a standard .lrn v1 install, and this problem happened from the start and before I started messing with any packages, replaced my sendmail with exim, etc.  On my Package Manager list I see I have both:

dotlrn-forums dotLRN Forums Applet
forums-portlet Forums Portlet

I disable the latter and no forum, I disable the former and I get the same message.

I'm not sure where to go from here.

B

Duh, it's the awful recursive site_node__url function.

What does psql have to say to this query? How many rows are returned and which site_nodes?

OK, I'm back. Here's what postgres tells me:

service0=# select site_node__url(node_id) from site_nodes where object_id='450';
/dotlrn/notifications/
/notifications/

Which should I delete?

Success (I think).  I kept the dotlrn/notifications and unmounted the second one, now I have my forums!  Thanks!

Bruce

Weird. How could that have happened?
Beats me.  I don't recall adding the additional Notifications module. I'm just thankful that it now works and also learned something about how this system works!  Thanks!

Bruce

One more thing on the forums: the notification address is not pretty. This wonderful reminder of my intellectual community comes in spam-looking packaging: the "from" address is "mailto:notification-30580-525@mail.address.de"; -- very much like some of the garbage that collected daily in my old email account.  The email link identifying the group, which I find embedded in this message, is far more informative.  Might there be a way to put a pretty name in the "from" part of the mail header?
Dear Harish:

Thanks for the link!  I've followed the advice I found there, by Raad AlRawi, to change the reply_address proc in packages/notifications/tcl/notification-email-procs.tcl and get a sendmail errors as follows with five variations on the missing "@"

[12/Nov/2003:16:11:57][28898.1094981856][-sched:11-] Error: ns_sendmail failed: Expected a 250 status line; got:
501 <notification-test1 mailto:SubGroupTestOnly@mail.zedat.fu-berlin.de>>: "@" or "." expected after "notification-test1"^M

I'm ashamed to confess that I simply have not studied enough tcl to figure this out on my own.  I might note that I got this far, as noted above, by unmounting the Notifications and leaving the dotlrn-notifications portlet in place.  Also, in the package manager, I find the package parameters for EmailDomain but no label and box for EmailReplyAddressPrefix.

So, any advice anyone might offer I will put to use not only for fixing this, but toward understanding tcl/openacs.

Thanks!

Bruce

It is telling you that your destination e-mail address is improperly formatted, with a space character in the middle of it...perhaps from cutting and pasting a Tcl code fragment with a string in it that had a return (end of line) translated to a space, something like that?
There is a '-' missing after notification-test1.
It should have been
mailto:notification-test1-SubGroupTestOnly@mail.zedat.fu-berlin.de