Dear all,
On bitbucket [1] is a new Tcl-only module for NaviServer (requires current tip version from bitbucket and a OpenSSL 1.1.1) implementing Web Push using the W3C Push API, which enables sending of push messages to a client via a push service (e.g. Mozilla, Google). When the client (e.g. a mobile phone) is currently not reachable the message is stored for a specified time to live (TTL) until it can be delivered as a notification.
On [3] is a small demo application, which is as well included in the module package. The technical details are summarized on [4]. Note, that the basic functionality of the demo could as well be implemented browser notification API. Web Push supports delivery of notifications triggered by an application server via
third-party push servers [5], even when the user is not online or browsing the pushing site.
The web push package is not (yet) integrated with the OpenACS notification package, but might be already useful in particular use cases. Some requirements of webpush are different to standard OpenACS notifications (subscriptions per device and not per user, potentially multiple subscriptions of a single user for one kind of information, etc.).
all the best
-gustaf neumann
[1] https://bitbucket.org/naviserver/nswebpush/src/default/
[2] https://www.w3.org/TR/push-api/
[3] https://openacs.org/webpush-demo/webpush-demo.tcl
[4] https://openacs.org/webpush-demo/report.html
[5] https://developers.google.com/web/fundamentals/push-notifications/how-push-works