<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?