Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create notifications package #13331

Open
9 of 43 tasks
dannykopping opened this issue May 21, 2024 · 1 comment
Open
9 of 43 tasks

Create notifications package #13331

dannykopping opened this issue May 21, 2024 · 1 comment
Assignees
Labels
feature Something we don't have yet

Comments

@dannykopping
Copy link
Contributor

dannykopping commented May 21, 2024

  • Implement operations for entities (see also Create notifications database model and their CRUD operations #13329)
    • Templates
      • Create
      • Update
      • Prevent manual deletion
    • Messages
      • Enqueue
      • Dequeue
      • Update
      • Purge old
      • Deduplication
    • Preferences
      • Create
      • Update
  • Template Renderer (see also Create notification templates for key events #13328)
    • Implement HTML renderer which takes notifications_messages labels as input
    • Implement text renderer which takes notifications_messages labels as input
  • Basic REST API
    • Pause/resume all notifications
      • Add CLI command
    • CRUD notification_preferences
  • Implement receivers
    • Create retry mechanism
    • SMTP
      • Handle successful delivery
      • Handle unsuccessful delivery (retries)
      • Handle exceeded retries
    • Webhook
      • Handle successful delivery
      • Handle unsuccessful delivery (retries)
      • Handle exceeded retries
  • Amend dbpurge to delete old notification_messages after a configurable number of days
  • Observability of key operations
    • Notifications sent (by receiver, notification_template)
    • Notifications failed (by receiver, notification_template)
    • Notifications retried (by receiver, notification_template)
    • Notifications paused
    • Notifications purged
    • Queue operations
      • Enqueue time (delta between start of operation and accepted into db)
      • Dequeue time (delta between enqueued and dequeued)
    • Receiver operations
      • Send time (response time from server, by response status)
@dannykopping
Copy link
Contributor Author

Ejecting from sprint XVI; more narrowly scoping deliverables

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Something we don't have yet
Projects
None yet
Development

No branches or pull requests

1 participant