beps: add more todos and future considerations to bep

these are also as task list in the #22213 but adding them here as well
for bookkeeping + some new ideas that should be considered

Signed-off-by: Heikki Hellgren <heikki.hellgren@op.fi>
This commit is contained in:
Heikki Hellgren
2024-02-07 08:18:12 +02:00
parent 216fce4b2c
commit 9b57a487c2
+11 -7
View File
@@ -261,11 +261,13 @@ Example signal payload for a new notification:
}
```
#### Future considerations
#### Future considerations and BEP TODO
- Add icon for the notification request (for UX purposes)
- Broadcast messages are to be saved to a separate table for performance reasons
- OpenAPI tooling is taken into use for the notification router and client
- Allow using dynamic values in notification payload, for example entity references `{{ user:default/john.doe }}` should be rendered by the frontend with `EntityRefLink` component. Defining the dynamic data values should be done before implementation.
- Add configurable automatic clean-up of old notifications to save storage space
- Support for saving user notification settings
### Frontend API
@@ -352,13 +354,15 @@ interface SignalApi {
}
```
#### Future considerations
#### Future considerations and BEP TODO
- Notification frontend utilizes [Web Notification API](https://developer.mozilla.org/en-US/docs/Web/API/Notification) to notify user for new notifications
- Unread notifications count is displayed in the title of the page
- Configuration can be used to enable or disable features in the notification system (Web Notification API, title change, etc.)
- Replace absent signal service with long polling. This requires changes to the `signals` plugin as well.
- Notifications can have severity that is used to determine how notifications are shown to the user
- Render dynamic values with various different React elements such as the `EntityRefLink` for entity references (for example `{{ user:default/john.doe }}`) in the notification payload
- Handle `link` values that use route references. For example instead hard-coding link to `/catalog/default/component/artist-web` it should be possible to use `catalogPlugin.catalogEntity` route reference as a link of the notification. This should also allow using parameters to be passed to the route reference
- Add support for `analyticsApi` to notification actions like marking notifications done, saved or opening links in the notifications
- Add support for user settings to control how notifications are shown to the user and which notifications user wants to receive. This should also include support for different `NotificationProcessor`s that can send notification to external systems
- Add a sound to be played when notification is received
- Add i18n internationalization support for the notification payload
## Release Plan