Plone and the real-time web

Track:
Plone: Backend

I’ll present some experiments with adding real-time interaction to Plone using websockets and a Python asyncio event loop.

In the modern web, we’re used to websites that update information in real time and allow for interaction with other users. Plone is built as a WSGI application with a request/response model that makes this difficult to implement. I’ll show the basic pieces of how to add on websockets and real-time messaging to Plone, and discuss possible features that could be created on top of these building blocks.

I have a concept for how to add websockets to Plone using an ASGI server and websocket library along with Plone's normal WSGI server processing requests in a thread pool. This talk is motivation for me to flesh out this idea as a proof of concept to the point where I can present it as a basis for building features for Plone.