While cleaning up GitHub - xwiki-contrib/xwiki-contrib-websocket: XWiki Websocket Integration in order to integrate it in platform, because it is needed by the real-time editing feature, I realized that this extension doesn’t use the standard Java API for WebSocket (JSR356). Instead it proposed a custom API implemented using Netty. Using standard APIs is always better and in this case it also means we can rely on the servlet container implementation without needing any additional library. Based on this I published a proposal at https://design.xwiki.org/xwiki/bin/view/Proposal/WebSocketIntegration and I pushed the code on two branches:
- GitHub - xwiki/xwiki-commons at feature-websocket
- GitHub - xwiki/xwiki-platform at feature-websocket
The main thing is that developers will be able to implement WebSocket end-points using the standard API (
javax.websocket.*) with just one small addition: they will have to mark their end-points using the
org.xwiki.websocket.EndpointComponent interface (component role with no methods).
I’d like to include this in XWiki 13.6RC1 so please share your thoughts ASAP.