Forum OpenACS Q&A: Forum notifications grouped by subject

Forum's email notifications arrive with "[forum-name] Forum-subject", and replies with "[forum-name] Re: Forum-subject".

I think it'd be better if replies title were like... "Re: [forum-name] Forum-subject".

There is and old thread about Email alerts grouped by topic

Collapse
Posted by Emmanuelle Raffenne on
That would be tricky since "Re:" is part of the message subject, and forum name is added when building the notification.

The only way would be to use "Re:" for notification only.

Collapse
Posted by Michael Cordova on
Another option is to write the forum name at the end, since the current email clients have pretty rule systems and filters to tag, colorize and move emails... there is no need of reading the forum topic by the human. So, instead of something like...
[forum-name-which-is-too-large] Forum-subject X
[forum-name-which-is-too-large] Forum-subject Y
[forum-name-which-is-too-large] Forum-subject Z
[forum-name-which-is-too-large] Forum-subject A

we could see:

Forum-subject X [forum-name-which-is-too-large]
Forum-subject Y [forum-name-which-is-too-large]
Forum-subject Z [forum-name-which-is-too-large]
Forum-subject A [forum-name-which-is-too-large]

so...

Re: Forum-subject X [forum-name-which-is-too-large]
Re: Forum-subject Y [forum-name-which-is-too-large]
Re: Forum-subject Z [forum-name-which-is-too-large]
Re: Forum-subject A [forum-name-which-is-too-large]
Collapse
Posted by Michael Cordova on
I have tried to use the "Re: whatever here" form, but it doesn't work as expected.

I have realised that there is another important thing to use in the notification emails, in order to email clients can recognize "groups of notifications" or "notifications related", for instance, a forum thread... For that, we should use the "References" header, which should add the value from the Message-Id header of the "parent" or previous thread message.

I've been looking and thinking about how to change the acs-mail-lite package and acs-notifications in order to do that, but need some help, to do things right.

What I think it should be done is...

  1. Forum package should call to acs_mail_lite::generate_message_id to get a valid ID, and store it in the forum messages table (a new column).
  2. Then call to forum::message::do_notifications passing the Message-Id (notice that it's the ID for the Message_id header), and any parent Message-Id inside the "References" header.

So, notification::new AND acs_mail_lite::send should have two new optional parameters for the Message-Id, and References headers.

Collapse
Posted by Emmanuelle Raffenne on
Hi Miguel,

Besides "References" the "In-Reply-To" headers is important too. But even using them clients will treat (or ignore) them differently. For example gmail will "create" a new thread if the subject has been edited, even if those headers are present.

Anyhow, about your proposal, forums shouldn't ask acs-mail-lite for a message ID because forums doesn't know the method used to notify the user. The method could be an email message, but could be also a SMS, an alert onscreen, a Voice message, etc. So the way to reference related information would differ.