Hi Vincent, Thanks for the early support! :) The list of users is something I'm interested in. Highlighting the text is a bit harder because it forces us out of the textarea based editor and we have to do stuff with a canvas which introduces a whole new set of complexity, for wiki editor I would advise against going with this because one advantage of the wiki editor is it uses the proven and simplistic textarea and even if the realtime infrastructure blows up completely, it's still just a textarea which can still be edited as normal. This is however definitely on my todo list for the WYSIWYG version.
As far as the code is concerned, the amount of actual java is small and there are no tests at the moment but writing a test will mainly require adding a test harness for websocket backends. As far as code style, it's not much code and getting it to pass checkstyle should not take much time at all. On the js side, the UI is injected through js and indeed one of the CSS selectors for injection is fairly nasty because the UI DOM element lacks any ID so adding some ID attributes in the templates would be nice but I disagree with labeling of all js UI injection as "hacks" and would advise against using the UIExtension infrastructure for this because it creates a complex and fragile mixture of server-side and client-side code and would create a broken UI if (for example) the browser doesn't support websocket, javascript is disabled or some error is thrown during setup. Thanks, Caleb On 02/08/2014 04:39 AM, [email protected] wrote: > Hi Caleb, > > I’ve just tried and it works well! Well done this is very cool :) > > Now if we want to make this production-ready we would need (IMO) at least one > additional feature which is the ability to view the list of other users > editing the page and color markers per user to show who’s adding what. > > Note that I haven’t checked the code yet. Is it some prototype-quality code > or is it following the xwiki core rules and ready for being maintained? > > I guess you’ve also used some hacks for lack of UI extension points (as in > the lock screen and on the edit screen where you added some extra text which > I assumed you implemented in Javascript?) which would need to be added. > > Thanks > -Vincent > > On 6 Feb 2014 at 06:42:03, Caleb James DeLisle > ([email protected](mailto:[email protected])) wrote: > >> Hi all, >> >> I'm very pleased to announce two new extensions to come out of XWikiSAS >> Research >> and the RESILIENCE Research project. >> >> Number One: WebSockets in XWiki! >> If you're an extension developer like me, you want events, you want stuff in >> the >> browser to be talking to stuff in the wiki and you don't want to be messing >> around >> with Jetty and Tomcat and all different kinds of libraries and configuration >> every >> time you need to write an application. You just want stuff that works. >> Here it is: >> http://extensions.xwiki.org/xwiki/bin/view/Extension/WebSocket >> Include this as a dependency for your extension and the Extension Manager >> will >> automatically include it when users install your extension. In just a few >> lines of >> code, your users can be chatting and collaborating through the websocket and >> it's >> based on Netty (Special thanks to the Atmosphere project for developing >> Nettosphere) >> so it works in all versions of Tomcat and Jetty and does not need any >> changes to the >> front-end server, just open a port on the JVM machine and you're done. >> >> Number Two: A new Realtime Collaborative WikiText Editor. >> Indeed this is not the first attempt at Realtime Collaborative editing but >> perhaps >> it is the most academically amusing. Really this is a prototype to get a >> handle on >> the technology before we make the leap into Realtime WYSIWYG. Whereas the >> previous >> Realtime Collaborative WikiText editor had performance issues and was unable >> to >> handle large pasted, the new editor uses a completely novel design which is >> intended >> to not only port well to WYSIWYG editing but is implemented entirely on the >> client >> with the server only relaying messages, making it portable to different web >> frameworks. >> >> Check out the Realtime Collaborative WikiText Editor here: >> http://extensions.xwiki.org/xwiki/bin/view/Extension/RealTime+Wiki+Editor >> >> or install it with the Extension Manager to give it a try for yourself. >> >> Disclamer: This is still new and might not work properly on all browsers, it >> certainly >> will not work without websocket support. >> >> >> >> Thanks, >> Caleb >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

