Re: [Tiki-devel] Proposal of web push packages to be integrated into Tiki

Victor Emanouilov via TikiWiki-devel <[email protected]>
Newsgroups gmane.comp.cms.tiki.devel
Message-ID <[email protected]>
Hi Alvin (and others interested),

I did some research here and think Web Push is still not mature enough 
to use. It is a WIP and only supported by part of the browsers - 
https://caniuse.com/push-api

Also, the idea of running a service worker on the client side makes me 
doubt it will be stable any time soon provided the plethora of browsers 
and client-side systems, mobile, embedded clients, etc. Historically, it 
has always been better to abstract complexity on the server side rather 
than client side. This is just a personal view. Running a service worker 
on the client side allows you to receive a push notification even if you 
are outside the Tiki site which opens some use-cases but I think adds 
unnecessary security complications and also system implementation 
complications.

Thus, can I recommend using the more traditional (but still modern) 
bi-directional communication channel of websockets? It is now 
well-established and I think has more browser support. This way, we get 
rid of requirement to have subscription endpoints and can integrate as a 
self-contained solution into Tiki.

Please check the wonderful Ratchet lib (http://socketo.me/) built on top 
of ReactPHP (https://reactphp.org/) event-driven lib. Projects are well 
supported and widely used. Think of Ratchet as socket.io (nodejs app) in 
PHP. We have all the libs in PHP, we can integrate in Tiki. We need a 
running standalone server Ratchet app which can be proxied via 
apache/nginx or exposed on another public port on the server. There are 
OS and Pecl extensions to make it quite fast and also deployment 
specifics (http://socketo.me/docs/deploy) but we can't get rid of the 
complexity of the bi-directional communication. If we implement 
something like this, we can open many use-cases besides XYZ is typing... 
scenario. E.g. we currently have an issue waiting for long-running tasks 
on the web (e.g. Tiki manager initializing or upgrading existing 
Tikies), so we can use websockets to keep the connection open, push 
progress immediately to the browser and still keep the HTTP connection 
open, so user can continue using Tiki site while waiting. Lock/unlock 
mechanisms to prevent content overwrites are another example that 
benefits from this solution.

Btw, we can even build an additional app on top of ReactPHP to handle 
our background jobs scheduler (currently partially hacked as a set of 
cron jobs). So, I can see multiple benefits of going this way rather 
than Web Push.

Regards,
Victor

On 5/5/22 11:13 AM, Alvin Bauma wrote:
> Hi Jonny, Thanks for your feedback.
>
> After going through several documentations on integrating web push in 
> PHP, I found that my first proposal on the list was the best and above 
> all easy to integrate.
>
> As the functionality may start in Tiki24.x and 25.x, we won't really 
> have a problem with the PHP version required for this package.
>
> We are just waiting for community approval to decide if we can proceed 
> with the integration of this package.
>
> Thank you.
>
> Le lun. 2 mai 2022 à 16:06, Jonny Bradley via TikiWiki-devel 
> <[email protected]> a écrit :
>
>     Hi Alvin
>
>     Thanks for this initiative - i started looking into it recently to
>     see if we could add a "someone is typing a reply" thing in the
>     comments/forum posts (so we look all cool and trendy! 😎) but saw
>     we are missing this as a library/feature. Several posts i read
>     said it's simple enough to implement your own, but i wasn't
>     convinced ;)
>
>     Presumably it should use, and be integrated in to, the new API
>     Victor added for 24.x https://doc.tiki.org/tiki24#API so i guess
>     his input would be rather useful.
>
>     Apart from that, the first one on your list
>     https://dev.tiki.org/Proposal-of-web-push-packages#minishlink_web-push
>     looks like the best fit for us if there are no other significant
>     differences (and we only need it for php 7.4+ in tiki 25/24+ right?)
>
>     Thanks again
>
>     jonny
>
>
>
>     > On 2 May 2022, at 12:19, Alvin Bauma <[email protected]> wrote:
>     >
>     > Hi,
>     >
>     > I'm currently working on Push Notification in Tiki, so I wanted
>     to add a PHP library to handle sending notifications.
>     > I did some research and I came across some interesting libraries
>     that I present in the page:
>     https://avan.tech/proposal-of-web-push-packages.
>     >
>     > Please therefore analyze with me the choice of the library that
>     we must integrate.
>     >
>     > Regard,
>     >
>     > --
>     > Alvin BAUMA KALAMO
>     > Software engineer
>     > Phone/WhatsApp :     +243 995 502 981
>     > Mobile :                     +243 840 409 642
>     > Email : [email protected]
>     > _______________________________________________
>     > TikiWiki-devel mailing list
>     > [email protected]
>     > https://lists.sourceforge.net/lists/listinfo/tikiwiki-devel
>
>
>
>     _______________________________________________
>     TikiWiki-devel mailing list
>     [email protected]
>     https://lists.sourceforge.net/lists/listinfo/tikiwiki-devel
>
>
>
> -- 
> *Alvin BAUMA KALAMO*
> *Software engineer *
> Phone/WhatsApp : +243 995 502 981
> Mobile : +243 840 409 642
> Email : [email protected]
> Portfolio : _https://torre.co/alvinbm_
>
>
> _______________________________________________
> TikiWiki-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/tikiwiki-devel

_______________________________________________
TikiWiki-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.