Poniverse / Pony.fm

The pony music community.
https://pony.fm/
GNU Affero General Public License v3.0
41 stars 15 forks source link

Notifications system #25

Open EventideGlow opened 9 years ago

EventideGlow commented 9 years ago

You can follow artists but at the moment, it's purely cosmetic.

Major components

Only on-site notifications, delivered via the Pony.fm website, are within scope of this task; however, the back-end has been designed to accommodate alternative delivery "drivers" in the future.

Types of notifications

Pony.fm should implement a user notification system for the following actions:

New content

Social notifications

Notifications should be available in an on-site interface - other issues should be opened to deliver notifications via other means. Some of the logic involved with this might also be useful to build activity feeds into users' profiles.

This should be implemented in such a way that it won't be too difficult to send notifications to the Poniverse API or elsewhere in the future.

Notification Drivers

Notifications can be accessed through a web API at the moment. 'Drivers' can be implemented to send notifications to other services. These need to be implemented as detailed in documentation/notifications.md

The Pony.fm driver is the interface on the site. Should work regardless of browser or preference. The email driver is an opt-in setting. Notifications are sent using Poniverse's email notification system. The native driver uses the service worker on supported browsers and push services like GCM and Mozilla Push, to deliver push notifications on a device level. This should also be opt-in, similar to email.

ghost commented 8 years ago

Little suggestion. In addition to using email notifications, take a look at Google Cloud Messaging. It needs service worker on the client side and only works with Chrome or Firefox but it provides notifications through the browser

EventideGlow commented 8 years ago

@logic-dev The way I'm building this, it should be very easy to write a notification driver for whatever delivery methods we want.

EventideGlow commented 8 years ago

Most of the back-end is now implemented in #87. Following a code review, I'd like to merge that to see the generation of notifications in action, even if the front-end will come later.

EventideGlow commented 7 years ago

Ops note: the notification URL's that are currently generated for emails are too long for our mail server to handle. Bug relevant. This will somehow need to be addressed for email notifications to work in staging and production.

EventideGlow commented 7 years ago

Following up on my last comment here, we'll be sending our emails through Sparkpost rather than Cuttlefish for the foreseeable future.

The last few commits tagged with this issue added a one-time script that ensures Pony.fm has a valid email address and refresh token on file for each Poniverse account it knows about.