Notifications: Milestones
Milestones
Messaging
- Milestone A: Listener / Sender Interfaces
- Milestone B: Support in-process via django signals
- Milestone C: Direct exchange type with named queues
- Milestone D: Prioritized queues
- Milestone E: Testing scenarios
Notifications
- Milestone 1: End-to-end prototype of architecture
- User Story: Given that I created a Forums Post, as the author of the post, when someone responds to my post, I get an email.
- Stub Messaging - within single process
- Notifications Message interface
- Composer implementation in Forums
- Delivery: Easiest - Browser or Email?
- (User Targeting & Presentation & Policy steps are No-Ops)
- Milestone 2: Scaling User Targeting (depends on multi-process)
- User Story: As a developer/devOps, when notifications messages are sent through the pipeline, I can track each message with the amount of time each message spends in each pipeline step.
- Update History table in the message object at each step
- Logging
- User Story: As a follower of the post, when someone responds to the post, I get an email.
- User Targeting step
- Messaging - across multiple processes
- Scaling: Demonstrate horizontal scaling - linearly with parallelism
- User Story: As a developer/devOps, when notifications messages are sent through the pipeline, I can track each message with the amount of time each message spends in each pipeline step.
- Milestone 3: Template Rendering
- User Story: As a follower of the post, when someone responds to the post, I get an email with the author's name and a deep link to the post.
- Template repository with the Composer
- Presentation Step - Template resolution
- Milestone 4: Message Localization and Personalization
- User Story: As a post follower with French language settings, when someone responds to the post, I get an email in French with my name in the greeting.
- Scaling: per-user localization and personlization of the message
- Milestone 5: User and Platform Policy
- User Story: As a follower of the post, when someone responds to the post, I do not get an email if I have disabled notifications, but others may.
- Milestone 10: Notifications Tray - in-app desktop
Later
- Read/Unread
- Aggregation
- TTL, Priority, Durability