Notifications: Milestones

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