...
- myregence.com simply provides
- in box
- out box ("sent messages")
- display a message
- compose / send a message
- reply
- delete
- discovercard.com is similar to myregence: in box, display, sent messages, compose, NO delete (messages deleted after 30 days)
Strawman design
include:
- add message object to synapse. Body is text, no attachments; services for create, read, delete, and various queries (get all messages I've created, get all messages sent to me, optionally filtered)
- add message status/annotation for <message,recipient>, esp. "READ", i.e. a user can mark that a message (possibly sent to them as well as others) has been read. Could also implement "DELETE" in this way.
- delete old messages (e.g. older than a month)
- authorization: any single user can send a message to any other single user, but to send to a Team requires MESSAGE permission on the Team, typically granted only to Team members.
defer:
...
- messages and in-box quotas
...
...
- "following" entities and users
- notification of system events (e.g. deleting an entity)