...
When we send emails to users, should we download the body of the email and send it in the email body? Or should we tell them to visit the portal?
- It may be difficult to enforce zipping of messages
- At the moment, files are assumed to be stored as plain text
- Who should be the sender of system notifications or messages? i.e. If we were to send a password reset email via the messaging system, who should be in the "from" field?
How should we configure Amazon SES? <<< What can be done using readily available SES tools, dashboards and/or alarms?
- Proposal:
- Reroute bounce and complaints to SNS
- Have a worker disable emails to hard-bounced recipients
- Also flip flags in settings for complaints
- Store the bounce/complaint in a blob
- Proposal:
- Should users be notified of bounces? <<< Yes, and (1) this is a special case of 'notification', i.e. a Message triggered by a Synapse event, (2) perhaps user can configure email receipt to avoid excessive email from notifications (or other sources)
- Should some messages be stored as templates? <<< The template should be stored as a properties file. Each individual Message should be stored in its final form. This design choice would change for very very large notification message volumes.
- If we start sending out notifications about Entity changes and the like, most of the contents will be similar except for the ID and some small part of the message body. We could conceivably add a flag to the MessageToUser object that tells the client to fill in a messages according to some simple template. Then we could store the key-values of the template in a blob (perhaps following the same schema as StringAnnotations) along with the message.
- How should we tie Entities to users in terms of notifications?
- Ownership? << It might be this.
- Favorites? << It might be this.
- Permissions? << I don't think it's this.
- Something else? << It could be a completely new set of services, allowing users to enable/disable notification. (Could be initialized from Favorites and Owners.)
...