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