Forum OpenACS Development: Re: Mail Tracking

Collapse
11: Re: Mail Tracking (response to 1)
Posted by Nima Mazloumi on
<h3>Notifications</h3>

The notification package is well documented. Any package can be notification enabled. Thus we can have systems with incredible traffic. Since the notification message is identical for all suscribers logging a single message seems the best.

The problem is that a generic tracking package won't be able to resolve the actual subscribers later on. Also since notification requests can be deleted we don't have the means to reconstruct who was a subscriber at the time the email was sent out. To fix this is simple. Instead of deleting entries from notification_requests we could add two more columns like creation_time and deactivation_time or something. Adding a new request for the same object would deactivate an existing project as does removing a subscription to an object. What do you think?

I prefer to log every single email in favour to a more generic mail-tracking package. We can find ways to archive old logs to prevent the logging table from increasing to much.

Like bulk-mail, notifications doesn't provide a package_id to acs_mail_lite_queue. We need to fix that. I would suggest that we take the package_id of the package that caused the notification.

<h3>ACS Mail Lite (revisited 3)</h3>

The columns to_addr, from_addr and body in acs_mail_lite_queue create strong restrictions on reuse in favor of simplicity:

  • to_addr - stores the sender's email instead of a valid user_id. This allows any email address as the sender. Why should we allow that?
  • from_addr - stores a TCL list that contains the recipients name, email and user id. Shouldn't the user_id suffice?
  • body can literally contain anything that is text. While bulk-mail and mailing-lists simply contain the message text notifications stores the raw email body. Wouldn't a mapping table form content to email be better?