Hi everybody, one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication. I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen) There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon. It's 1:30am right now, so I will give you more details in a next mail :) Enjoy. Thanks, Fabio
Hi Fabio, Looks nice. I don't know much about this subject but I know Anca played a bit with this idea at 2010's hackaton if I remember correctly. Thanks, Caty On Sat, Mar 31, 2012 at 02:46, Fabio Mancinelli <[email protected]>wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi Fabio, it looks very cool, good job! Guillaume On Mon, Apr 2, 2012 at 15:06, Ecaterina Moraru (Valica) <[email protected]>wrote:
Hi Fabio,
Looks nice. I don't know much about this subject but I know Anca played a bit with this idea at 2010's hackaton if I remember correctly.
Thanks, Caty
On Sat, Mar 31, 2012 at 02:46, Fabio Mancinelli <[email protected]>wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Yes, I looked at Anca and Marta's code to get started, though I rewrote the whole thing using more recent technologies. The idea here is to integrate the chat server with XWiki so that it can take into account data on the server. In particular automatic authentication and data from your social network. I am cleaning up the code of the prototype and I will commit it soon so that you can see what I did, and also try it by yourself :) -Fabio On Mon, Apr 2, 2012 at 3:06 PM, Ecaterina Moraru (Valica) <[email protected]> wrote:
Hi Fabio,
Looks nice. I don't know much about this subject but I know Anca played a bit with this idea at 2010's hackaton if I remember correctly.
Thanks, Caty
On Sat, Mar 31, 2012 at 02:46, Fabio Mancinelli <[email protected]>wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hello Fabio, That is a great feature. Interesting to know: will the embedded XMPP server that you have used be capable of hosting conversations (audio, video, desktop sharing) using this tool http://jitsi.org/index.php/Main/HomePage ? Regards, Roman -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Fabio Mancinelli Sent: Saturday, March 31, 2012 02:46 AM To: XWiki Developers Cc: wiki30 Subject: [xwiki-devs] XWiki chat Hi everybody, one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication. I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen) There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon. It's 1:30am right now, so I will give you more details in a next mail :) Enjoy. Thanks, Fabio _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi Roman, I don't know yet. As I wrote in a previous email, I used the Vysper server which is a standard XMPP server. If Jitsi is able to do what it does using a standard XMPP server then it would be possible to use Jitsi with the system I showed. -Fabio On Mon, Apr 2, 2012 at 7:26 PM, Roman Muntyanu <[email protected]> wrote:
Hello Fabio,
That is a great feature. Interesting to know: will the embedded XMPP server that you have used be capable of hosting conversations (audio, video, desktop sharing) using this tool http://jitsi.org/index.php/Main/HomePage ?
Regards, Roman
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Fabio Mancinelli Sent: Saturday, March 31, 2012 02:46 AM To: XWiki Developers Cc: wiki30 Subject: [xwiki-devs] XWiki chat
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi Fabio, this looks very sleek. I would love the ability to chat with someone else while working on a wiki page. I've also seen it requested by users a number of times. Question: is the chat also displayed in edit / inline modes? That would be very useful when working with someone else on the content of a page. Guillaume On Tue, Apr 3, 2012 at 00:53, Fabio Mancinelli <[email protected]>wrote:
Hi Roman,
I don't know yet. As I wrote in a previous email, I used the Vysper server which is a standard XMPP server. If Jitsi is able to do what it does using a standard XMPP server then it would be possible to use Jitsi with the system I showed.
-Fabio
On Mon, Apr 2, 2012 at 7:26 PM, Roman Muntyanu <[email protected]> wrote:
Hello Fabio,
That is a great feature. Interesting to know: will the embedded XMPP server that you have used be capable of hosting conversations (audio, video, desktop sharing) using this tool http://jitsi.org/index.php/Main/HomePage ?
Regards, Roman
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Fabio Mancinelli Sent: Saturday, March 31, 2012 02:46 AM To: XWiki Developers Cc: wiki30 Subject: [xwiki-devs] XWiki chat
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio _______________________________________________ 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
On Tue, Apr 3, 2012 at 10:42 AM, Guillaume Lerouge <[email protected]> wrote:
Hi Fabio,
this looks very sleek. I would love the ability to chat with someone else while working on a wiki page. I've also seen it requested by users a number of times.
Question: is the chat also displayed in edit / inline modes? That would be very useful when working with someone else on the content of a page.
Yep. The idea is that the chat is *always* displayed whatever you do. Currently the <div> containing the chat toolbar is in the footer.vm, so if you see the copyright notice you also see the chat :) -Fabio
Guillaume
On Tue, Apr 3, 2012 at 00:53, Fabio Mancinelli <[email protected]>wrote:
Hi Roman,
I don't know yet. As I wrote in a previous email, I used the Vysper server which is a standard XMPP server. If Jitsi is able to do what it does using a standard XMPP server then it would be possible to use Jitsi with the system I showed.
-Fabio
On Mon, Apr 2, 2012 at 7:26 PM, Roman Muntyanu <[email protected]> wrote:
Hello Fabio,
That is a great feature. Interesting to know: will the embedded XMPP server that you have used be capable of hosting conversations (audio, video, desktop sharing) using this tool http://jitsi.org/index.php/Main/HomePage ?
Regards, Roman
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Fabio Mancinelli Sent: Saturday, March 31, 2012 02:46 AM To: XWiki Developers Cc: wiki30 Subject: [xwiki-devs] XWiki chat
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio _______________________________________________ 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
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi Everybody, as promised here it is a more detailed mail about the work I did on XWiki chat. First of all I committed the code of the current prototype here: https://github.com/xwiki-contrib/xwiki-platform-chat Now some technical details: 1) The system uses an embedded Vysper XMPP server (http://mina.apache.org/vysper/) with the Multi User Chat extension. 2) The communication is done using the BOSH protocol (http://en.wikipedia.org/wiki/BOSH). The BOSH endpoint is in the application context path, which means that the BOSH servlet will receive all the cookies as the other servlets (important for authentication, see after) 3) The whole UI of the chat system is contained in the XWiki.XWikiChatSkin. I've setup some tricky XSL transformations for bundling all the needed resources into this skin (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) The result is that all javascript files, VM overrides, and CSS files are added to the skin as properties. 4) The Javascript, VM overrides and templates are available as separate file in https://github.com/xwiki-contrib/xwiki-platform-chat/tree/master/xwiki-platf.... In order to hack it I use https://github.com/xwiki/xwiki-debug-eclipse and make symbolic links through the Eclipse interface so that those resources are available as if they were on the file system. 5) The current authentication is dummy (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) What is needed to do is to process the data coming from the cookies and use the XWiki authentication subsystem to check the credentials coming at the beginning of an XMPP session. This could be quite tricky and will need some work for modifying the BoshServlet in order to make these credentials available to the code that will need them. 6) When the page is loaded a connection is established and several chat rooms are automatically joined: wiki, space and page. This of course is temporary. The idea is that on page load the user will joing the chatroom for the current wiki, the current space and the current page, depending on what she is looking at. This means that there will potentially be a chat room for every page in the wiki, for every space and, in a multi-wiki environment, for every wiki. The number of users in these chatroom will depend on what the users are actually working on. 7) Chatrooms are left on page unload. This means that looking at the chatrooms population we might be able to understand how many users are currently connected and where. 8) Since XWiki has a feature for defining a social network (i.e., following/followers) this data can be used to show in the chat the users that I am following that are online, so that I might be able to send them private messages. 9) Currently no the XMPP server is not backed by any storage, but it is possible to write a storage system that stores all the discussions in some wiki object (e.g., a page) so that a trace is kept. 10) The XMPP server also supports a Publish/Subscribe module. This could be used to implement a live notification system. But even without using pubsub, a special chatroom can be used to send these messages that will be displayed, for example, using a special UI à la growl (http://growl.info/screenshots) or equivalent. There is currently a limitation with the Vysper BOSH servlet... It seems that it doesn't like too much Tomcat which can be a problem. The thread where the problem is explained is here: http://mail-archives.apache.org/mod_mbox/tomcat-users/201201.mbox/%3C4F1031F... I haven't yet investigated the problem, but a possible solution (or a roadmap towards a solution) should be found as soon as possible because if we start to integrate the authorization system and the storage system, it would be difficult to port it to another system [1] I think that's all for the moment. Of course comments are welcome. -Fabio [1] I've looked at other XMPP servers, but I chose Vysper because it is part of a well established Apache project, it's very simple to use, supports all that we need (embeddable server, multi user chat, etc.) and has a quite active community. Other solutions were either GPLv3, or not showing a clear situation wrt the community and the features. On Sat, Mar 31, 2012 at 1:46 AM, Fabio Mancinelli <[email protected]> wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio
Hi Fabio, This is cool. Couple remarks below On Tue, Apr 3, 2012 at 12:50 AM, Fabio Mancinelli <[email protected]> wrote:
Hi Everybody,
as promised here it is a more detailed mail about the work I did on XWiki chat.
First of all I committed the code of the current prototype here: https://github.com/xwiki-contrib/xwiki-platform-chat
Now some technical details:
1) The system uses an embedded Vysper XMPP server (http://mina.apache.org/vysper/) with the Multi User Chat extension.
2) The communication is done using the BOSH protocol (http://en.wikipedia.org/wiki/BOSH). The BOSH endpoint is in the application context path, which means that the BOSH servlet will receive all the cookies as the other servlets (important for authentication, see after)
Why not directly go for WebSocket ? BOSH looks like a "patch" for something that wasn't supported by the browsers up until recently, but support is here or close to here for WebSocket now (see http://caniuse.com/websockets). If you are interested you can look for example into Atmosphere for cross-container websocket support : https://github.com/jfarcand/atmosphere
3) The whole UI of the chat system is contained in the XWiki.XWikiChatSkin. I've setup some tricky XSL transformations for bundling all the needed resources into this skin (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) The result is that all javascript files, VM overrides, and CSS files are added to the skin as properties.
4) The Javascript, VM overrides and templates are available as separate file in https://github.com/xwiki-contrib/xwiki-platform-chat/tree/master/xwiki-platf.... In order to hack it I use https://github.com/xwiki/xwiki-debug-eclipse and make symbolic links through the Eclipse interface so that those resources are available as if they were on the file system.
5) The current authentication is dummy (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) What is needed to do is to process the data coming from the cookies and use the XWiki authentication subsystem to check the credentials coming at the beginning of an XMPP session. This could be quite tricky and will need some work for modifying the BoshServlet in order to make these credentials available to the code that will need them.
6) When the page is loaded a connection is established and several chat rooms are automatically joined: wiki, space and page. This of course is temporary. The idea is that on page load the user will joing the chatroom for the current wiki, the current space and the current page, depending on what she is looking at. This means that there will potentially be a chat room for every page in the wiki, for every space and, in a multi-wiki environment, for every wiki. The number of users in these chatroom will depend on what the users are actually working on.
7) Chatrooms are left on page unload. This means that looking at the chatrooms population we might be able to understand how many users are currently connected and where.
8) Since XWiki has a feature for defining a social network (i.e., following/followers) this data can be used to show in the chat the users that I am following that are online, so that I might be able to send them private messages.
9) Currently no the XMPP server is not backed by any storage, but it is possible to write a storage system that stores all the discussions in some wiki object (e.g., a page) so that a trace is kept.
10) The XMPP server also supports a Publish/Subscribe module. This could be used to implement a live notification system. But even without using pubsub, a special chatroom can be used to send these messages that will be displayed, for example, using a special UI à la growl (http://growl.info/screenshots) or equivalent.
Could "Server-sent events" standards be of use for this feature ? See http://en.wikipedia.org/wiki/Server-sent_events That's all Jerome
There is currently a limitation with the Vysper BOSH servlet... It seems that it doesn't like too much Tomcat which can be a problem. The thread where the problem is explained is here: http://mail-archives.apache.org/mod_mbox/tomcat-users/201201.mbox/%3C4F1031F...
I haven't yet investigated the problem, but a possible solution (or a roadmap towards a solution) should be found as soon as possible because if we start to integrate the authorization system and the storage system, it would be difficult to port it to another system [1]
I think that's all for the moment.
Of course comments are welcome.
-Fabio
[1] I've looked at other XMPP servers, but I chose Vysper because it is part of a well established Apache project, it's very simple to use, supports all that we need (embeddable server, multi user chat, etc.) and has a quite active community. Other solutions were either GPLv3, or not showing a clear situation wrt the community and the features.
On Sat, Mar 31, 2012 at 1:46 AM, Fabio Mancinelli <[email protected]> wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jérôme Velociter Winesquare http://www.winesquare.net/
On Wed, Apr 4, 2012 at 3:02 PM, Jerome Velociter <[email protected]> wrote:
Hi Fabio,
This is cool. Couple remarks below
On Tue, Apr 3, 2012 at 12:50 AM, Fabio Mancinelli <[email protected]> wrote:
Hi Everybody,
as promised here it is a more detailed mail about the work I did on XWiki chat.
First of all I committed the code of the current prototype here: https://github.com/xwiki-contrib/xwiki-platform-chat
Now some technical details:
1) The system uses an embedded Vysper XMPP server (http://mina.apache.org/vysper/) with the Multi User Chat extension.
2) The communication is done using the BOSH protocol (http://en.wikipedia.org/wiki/BOSH). The BOSH endpoint is in the application context path, which means that the BOSH servlet will receive all the cookies as the other servlets (important for authentication, see after)
Why not directly go for WebSocket ?
BOSH looks like a "patch" for something that wasn't supported by the browsers up until recently, but support is here or close to here for WebSocket now (see http://caniuse.com/websockets). If you are interested you can look for example into Atmosphere for cross-container websocket support : https://github.com/jfarcand/atmosphere
The main problem is on the client side. Vysper has a module for supporting WebSockets. Strophe.js, which is the library that I am using right now, only supports BOSH. They've been discussing for WebSockets support since some years but apparently they're not yet there. If you know of a Javascript XMPP library that supports websockets, we might switch to it. -Fabio
3) The whole UI of the chat system is contained in the XWiki.XWikiChatSkin. I've setup some tricky XSL transformations for bundling all the needed resources into this skin (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) The result is that all javascript files, VM overrides, and CSS files are added to the skin as properties.
4) The Javascript, VM overrides and templates are available as separate file in https://github.com/xwiki-contrib/xwiki-platform-chat/tree/master/xwiki-platf.... In order to hack it I use https://github.com/xwiki/xwiki-debug-eclipse and make symbolic links through the Eclipse interface so that those resources are available as if they were on the file system.
5) The current authentication is dummy (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) What is needed to do is to process the data coming from the cookies and use the XWiki authentication subsystem to check the credentials coming at the beginning of an XMPP session. This could be quite tricky and will need some work for modifying the BoshServlet in order to make these credentials available to the code that will need them.
6) When the page is loaded a connection is established and several chat rooms are automatically joined: wiki, space and page. This of course is temporary. The idea is that on page load the user will joing the chatroom for the current wiki, the current space and the current page, depending on what she is looking at. This means that there will potentially be a chat room for every page in the wiki, for every space and, in a multi-wiki environment, for every wiki. The number of users in these chatroom will depend on what the users are actually working on.
7) Chatrooms are left on page unload. This means that looking at the chatrooms population we might be able to understand how many users are currently connected and where.
8) Since XWiki has a feature for defining a social network (i.e., following/followers) this data can be used to show in the chat the users that I am following that are online, so that I might be able to send them private messages.
9) Currently no the XMPP server is not backed by any storage, but it is possible to write a storage system that stores all the discussions in some wiki object (e.g., a page) so that a trace is kept.
10) The XMPP server also supports a Publish/Subscribe module. This could be used to implement a live notification system. But even without using pubsub, a special chatroom can be used to send these messages that will be displayed, for example, using a special UI à la growl (http://growl.info/screenshots) or equivalent.
Could "Server-sent events" standards be of use for this feature ?
See http://en.wikipedia.org/wiki/Server-sent_events
That's all Jerome
There is currently a limitation with the Vysper BOSH servlet... It seems that it doesn't like too much Tomcat which can be a problem. The thread where the problem is explained is here: http://mail-archives.apache.org/mod_mbox/tomcat-users/201201.mbox/%3C4F1031F...
I haven't yet investigated the problem, but a possible solution (or a roadmap towards a solution) should be found as soon as possible because if we start to integrate the authorization system and the storage system, it would be difficult to port it to another system [1]
I think that's all for the moment.
Of course comments are welcome.
-Fabio
[1] I've looked at other XMPP servers, but I chose Vysper because it is part of a well established Apache project, it's very simple to use, supports all that we need (embeddable server, multi user chat, etc.) and has a quite active community. Other solutions were either GPLv3, or not showing a clear situation wrt the community and the features.
On Sat, Mar 31, 2012 at 1:46 AM, Fabio Mancinelli <[email protected]> wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jérôme Velociter Winesquare http://www.winesquare.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On Wed, Apr 4, 2012 at 4:05 PM, Fabio Mancinelli <[email protected]> wrote:
On Wed, Apr 4, 2012 at 3:02 PM, Jerome Velociter <[email protected]> wrote:
Hi Fabio,
This is cool. Couple remarks below
On Tue, Apr 3, 2012 at 12:50 AM, Fabio Mancinelli <[email protected]> wrote:
Hi Everybody,
as promised here it is a more detailed mail about the work I did on XWiki chat.
First of all I committed the code of the current prototype here: https://github.com/xwiki-contrib/xwiki-platform-chat
Now some technical details:
1) The system uses an embedded Vysper XMPP server (http://mina.apache.org/vysper/) with the Multi User Chat extension.
2) The communication is done using the BOSH protocol (http://en.wikipedia.org/wiki/BOSH). The BOSH endpoint is in the application context path, which means that the BOSH servlet will receive all the cookies as the other servlets (important for authentication, see after)
Why not directly go for WebSocket ?
BOSH looks like a "patch" for something that wasn't supported by the browsers up until recently, but support is here or close to here for WebSocket now (see http://caniuse.com/websockets). If you are interested you can look for example into Atmosphere for cross-container websocket support : https://github.com/jfarcand/atmosphere
The main problem is on the client side. Vysper has a module for supporting WebSockets. Strophe.js, which is the library that I am using right now, only supports BOSH. They've been discussing for WebSockets support since some years but apparently they're not yet there.
If you know of a Javascript XMPP library that supports websockets, we might switch to it.
OK I've found this: https://gist.github.com/739147 ; but indeed it's probably better to wait or get pull'd official support. Thanks for the details. Jerome.
-Fabio
3) The whole UI of the chat system is contained in the XWiki.XWikiChatSkin. I've setup some tricky XSL transformations for bundling all the needed resources into this skin (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) The result is that all javascript files, VM overrides, and CSS files are added to the skin as properties.
4) The Javascript, VM overrides and templates are available as separate file in https://github.com/xwiki-contrib/xwiki-platform-chat/tree/master/xwiki-platf.... In order to hack it I use https://github.com/xwiki/xwiki-debug-eclipse and make symbolic links through the Eclipse interface so that those resources are available as if they were on the file system.
5) The current authentication is dummy (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) What is needed to do is to process the data coming from the cookies and use the XWiki authentication subsystem to check the credentials coming at the beginning of an XMPP session. This could be quite tricky and will need some work for modifying the BoshServlet in order to make these credentials available to the code that will need them.
6) When the page is loaded a connection is established and several chat rooms are automatically joined: wiki, space and page. This of course is temporary. The idea is that on page load the user will joing the chatroom for the current wiki, the current space and the current page, depending on what she is looking at. This means that there will potentially be a chat room for every page in the wiki, for every space and, in a multi-wiki environment, for every wiki. The number of users in these chatroom will depend on what the users are actually working on.
7) Chatrooms are left on page unload. This means that looking at the chatrooms population we might be able to understand how many users are currently connected and where.
8) Since XWiki has a feature for defining a social network (i.e., following/followers) this data can be used to show in the chat the users that I am following that are online, so that I might be able to send them private messages.
9) Currently no the XMPP server is not backed by any storage, but it is possible to write a storage system that stores all the discussions in some wiki object (e.g., a page) so that a trace is kept.
10) The XMPP server also supports a Publish/Subscribe module. This could be used to implement a live notification system. But even without using pubsub, a special chatroom can be used to send these messages that will be displayed, for example, using a special UI à la growl (http://growl.info/screenshots) or equivalent.
Could "Server-sent events" standards be of use for this feature ?
See http://en.wikipedia.org/wiki/Server-sent_events
That's all Jerome
There is currently a limitation with the Vysper BOSH servlet... It seems that it doesn't like too much Tomcat which can be a problem. The thread where the problem is explained is here: http://mail-archives.apache.org/mod_mbox/tomcat-users/201201.mbox/%3C4F1031F...
I haven't yet investigated the problem, but a possible solution (or a roadmap towards a solution) should be found as soon as possible because if we start to integrate the authorization system and the storage system, it would be difficult to port it to another system [1]
I think that's all for the moment.
Of course comments are welcome.
-Fabio
[1] I've looked at other XMPP servers, but I chose Vysper because it is part of a well established Apache project, it's very simple to use, supports all that we need (embeddable server, multi user chat, etc.) and has a quite active community. Other solutions were either GPLv3, or not showing a clear situation wrt the community and the features.
On Sat, Mar 31, 2012 at 1:46 AM, Fabio Mancinelli <[email protected]> wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jérôme Velociter Winesquare http://www.winesquare.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jérôme Velociter Winesquare http://www.winesquare.net/
I forgot to ask : is having a custom skin really necessary ? Isn't there a way to achieve the same results just with just "always-use" JSX/SSX ? Jerome On Tue, Apr 3, 2012 at 12:50 AM, Fabio Mancinelli <[email protected]> wrote:
Hi Everybody,
as promised here it is a more detailed mail about the work I did on XWiki chat.
First of all I committed the code of the current prototype here: https://github.com/xwiki-contrib/xwiki-platform-chat
Now some technical details:
1) The system uses an embedded Vysper XMPP server (http://mina.apache.org/vysper/) with the Multi User Chat extension.
2) The communication is done using the BOSH protocol (http://en.wikipedia.org/wiki/BOSH). The BOSH endpoint is in the application context path, which means that the BOSH servlet will receive all the cookies as the other servlets (important for authentication, see after)
3) The whole UI of the chat system is contained in the XWiki.XWikiChatSkin. I've setup some tricky XSL transformations for bundling all the needed resources into this skin (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) The result is that all javascript files, VM overrides, and CSS files are added to the skin as properties.
4) The Javascript, VM overrides and templates are available as separate file in https://github.com/xwiki-contrib/xwiki-platform-chat/tree/master/xwiki-platf.... In order to hack it I use https://github.com/xwiki/xwiki-debug-eclipse and make symbolic links through the Eclipse interface so that those resources are available as if they were on the file system.
5) The current authentication is dummy (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) What is needed to do is to process the data coming from the cookies and use the XWiki authentication subsystem to check the credentials coming at the beginning of an XMPP session. This could be quite tricky and will need some work for modifying the BoshServlet in order to make these credentials available to the code that will need them.
6) When the page is loaded a connection is established and several chat rooms are automatically joined: wiki, space and page. This of course is temporary. The idea is that on page load the user will joing the chatroom for the current wiki, the current space and the current page, depending on what she is looking at. This means that there will potentially be a chat room for every page in the wiki, for every space and, in a multi-wiki environment, for every wiki. The number of users in these chatroom will depend on what the users are actually working on.
7) Chatrooms are left on page unload. This means that looking at the chatrooms population we might be able to understand how many users are currently connected and where.
8) Since XWiki has a feature for defining a social network (i.e., following/followers) this data can be used to show in the chat the users that I am following that are online, so that I might be able to send them private messages.
9) Currently no the XMPP server is not backed by any storage, but it is possible to write a storage system that stores all the discussions in some wiki object (e.g., a page) so that a trace is kept.
10) The XMPP server also supports a Publish/Subscribe module. This could be used to implement a live notification system. But even without using pubsub, a special chatroom can be used to send these messages that will be displayed, for example, using a special UI à la growl (http://growl.info/screenshots) or equivalent.
There is currently a limitation with the Vysper BOSH servlet... It seems that it doesn't like too much Tomcat which can be a problem. The thread where the problem is explained is here: http://mail-archives.apache.org/mod_mbox/tomcat-users/201201.mbox/%3C4F1031F...
I haven't yet investigated the problem, but a possible solution (or a roadmap towards a solution) should be found as soon as possible because if we start to integrate the authorization system and the storage system, it would be difficult to port it to another system [1]
I think that's all for the moment.
Of course comments are welcome.
-Fabio
[1] I've looked at other XMPP servers, but I chose Vysper because it is part of a well established Apache project, it's very simple to use, supports all that we need (embeddable server, multi user chat, etc.) and has a quite active community. Other solutions were either GPLv3, or not showing a clear situation wrt the community and the features.
On Sat, Mar 31, 2012 at 1:46 AM, Fabio Mancinelli <[email protected]> wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jérôme Velociter Winesquare http://www.winesquare.net/
On Wed, Apr 4, 2012 at 7:46 PM, Jerome Velociter <[email protected]> wrote:
I forgot to ask : is having a custom skin really necessary ?
Isn't there a way to achieve the same results just with just "always-use" JSX/SSX ?
Yep for the JSX/SSX part. But I need a <div id="chat_toolbar"></div> at the end of the page, where to hook chat tabs. So i need to override (at least) footer.vm I don't know if there are other possibilities for achieving that without using a custom skin (I am relatively a noob wrt all things javascript+webdev :)) -Fabio
Jerome
On Tue, Apr 3, 2012 at 12:50 AM, Fabio Mancinelli <[email protected]> wrote:
Hi Everybody,
as promised here it is a more detailed mail about the work I did on XWiki chat.
First of all I committed the code of the current prototype here: https://github.com/xwiki-contrib/xwiki-platform-chat
Now some technical details:
1) The system uses an embedded Vysper XMPP server (http://mina.apache.org/vysper/) with the Multi User Chat extension.
2) The communication is done using the BOSH protocol (http://en.wikipedia.org/wiki/BOSH). The BOSH endpoint is in the application context path, which means that the BOSH servlet will receive all the cookies as the other servlets (important for authentication, see after)
3) The whole UI of the chat system is contained in the XWiki.XWikiChatSkin. I've setup some tricky XSL transformations for bundling all the needed resources into this skin (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) The result is that all javascript files, VM overrides, and CSS files are added to the skin as properties.
4) The Javascript, VM overrides and templates are available as separate file in https://github.com/xwiki-contrib/xwiki-platform-chat/tree/master/xwiki-platf.... In order to hack it I use https://github.com/xwiki/xwiki-debug-eclipse and make symbolic links through the Eclipse interface so that those resources are available as if they were on the file system.
5) The current authentication is dummy (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) What is needed to do is to process the data coming from the cookies and use the XWiki authentication subsystem to check the credentials coming at the beginning of an XMPP session. This could be quite tricky and will need some work for modifying the BoshServlet in order to make these credentials available to the code that will need them.
6) When the page is loaded a connection is established and several chat rooms are automatically joined: wiki, space and page. This of course is temporary. The idea is that on page load the user will joing the chatroom for the current wiki, the current space and the current page, depending on what she is looking at. This means that there will potentially be a chat room for every page in the wiki, for every space and, in a multi-wiki environment, for every wiki. The number of users in these chatroom will depend on what the users are actually working on.
7) Chatrooms are left on page unload. This means that looking at the chatrooms population we might be able to understand how many users are currently connected and where.
8) Since XWiki has a feature for defining a social network (i.e., following/followers) this data can be used to show in the chat the users that I am following that are online, so that I might be able to send them private messages.
9) Currently no the XMPP server is not backed by any storage, but it is possible to write a storage system that stores all the discussions in some wiki object (e.g., a page) so that a trace is kept.
10) The XMPP server also supports a Publish/Subscribe module. This could be used to implement a live notification system. But even without using pubsub, a special chatroom can be used to send these messages that will be displayed, for example, using a special UI à la growl (http://growl.info/screenshots) or equivalent.
There is currently a limitation with the Vysper BOSH servlet... It seems that it doesn't like too much Tomcat which can be a problem. The thread where the problem is explained is here: http://mail-archives.apache.org/mod_mbox/tomcat-users/201201.mbox/%3C4F1031F...
I haven't yet investigated the problem, but a possible solution (or a roadmap towards a solution) should be found as soon as possible because if we start to integrate the authorization system and the storage system, it would be difficult to port it to another system [1]
I think that's all for the moment.
Of course comments are welcome.
-Fabio
[1] I've looked at other XMPP servers, but I chose Vysper because it is part of a well established Apache project, it's very simple to use, supports all that we need (embeddable server, multi user chat, etc.) and has a quite active community. Other solutions were either GPLv3, or not showing a clear situation wrt the community and the features.
On Sat, Mar 31, 2012 at 1:46 AM, Fabio Mancinelli <[email protected]> wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jérôme Velociter Winesquare http://www.winesquare.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
You could #insert a new element in the body from the JSX. http://prototypejs.org/api/element/insert http://prototypejs.org/api/element On Thu, Apr 5, 2012 at 10:58 AM, Fabio Mancinelli <[email protected]> wrote:
On Wed, Apr 4, 2012 at 7:46 PM, Jerome Velociter <[email protected]> wrote:
I forgot to ask : is having a custom skin really necessary ?
Isn't there a way to achieve the same results just with just "always-use" JSX/SSX ?
Yep for the JSX/SSX part. But I need a
<div id="chat_toolbar"></div>
at the end of the page, where to hook chat tabs. So i need to override (at least) footer.vm
I don't know if there are other possibilities for achieving that without using a custom skin (I am relatively a noob wrt all things javascript+webdev :))
-Fabio
Jerome
On Tue, Apr 3, 2012 at 12:50 AM, Fabio Mancinelli <[email protected]> wrote:
Hi Everybody,
as promised here it is a more detailed mail about the work I did on XWiki chat.
First of all I committed the code of the current prototype here: https://github.com/xwiki-contrib/xwiki-platform-chat
Now some technical details:
1) The system uses an embedded Vysper XMPP server (http://mina.apache.org/vysper/) with the Multi User Chat extension.
2) The communication is done using the BOSH protocol (http://en.wikipedia.org/wiki/BOSH). The BOSH endpoint is in the application context path, which means that the BOSH servlet will receive all the cookies as the other servlets (important for authentication, see after)
3) The whole UI of the chat system is contained in the XWiki.XWikiChatSkin. I've setup some tricky XSL transformations for bundling all the needed resources into this skin (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) The result is that all javascript files, VM overrides, and CSS files are added to the skin as properties.
4) The Javascript, VM overrides and templates are available as separate file in https://github.com/xwiki-contrib/xwiki-platform-chat/tree/master/xwiki-platf.... In order to hack it I use https://github.com/xwiki/xwiki-debug-eclipse and make symbolic links through the Eclipse interface so that those resources are available as if they were on the file system.
5) The current authentication is dummy (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) What is needed to do is to process the data coming from the cookies and use the XWiki authentication subsystem to check the credentials coming at the beginning of an XMPP session. This could be quite tricky and will need some work for modifying the BoshServlet in order to make these credentials available to the code that will need them.
6) When the page is loaded a connection is established and several chat rooms are automatically joined: wiki, space and page. This of course is temporary. The idea is that on page load the user will joing the chatroom for the current wiki, the current space and the current page, depending on what she is looking at. This means that there will potentially be a chat room for every page in the wiki, for every space and, in a multi-wiki environment, for every wiki. The number of users in these chatroom will depend on what the users are actually working on.
7) Chatrooms are left on page unload. This means that looking at the chatrooms population we might be able to understand how many users are currently connected and where.
8) Since XWiki has a feature for defining a social network (i.e., following/followers) this data can be used to show in the chat the users that I am following that are online, so that I might be able to send them private messages.
9) Currently no the XMPP server is not backed by any storage, but it is possible to write a storage system that stores all the discussions in some wiki object (e.g., a page) so that a trace is kept.
10) The XMPP server also supports a Publish/Subscribe module. This could be used to implement a live notification system. But even without using pubsub, a special chatroom can be used to send these messages that will be displayed, for example, using a special UI à la growl (http://growl.info/screenshots) or equivalent.
There is currently a limitation with the Vysper BOSH servlet... It seems that it doesn't like too much Tomcat which can be a problem. The thread where the problem is explained is here: http://mail-archives.apache.org/mod_mbox/tomcat-users/201201.mbox/%3C4F1031F...
I haven't yet investigated the problem, but a possible solution (or a roadmap towards a solution) should be found as soon as possible because if we start to integrate the authorization system and the storage system, it would be difficult to port it to another system [1]
I think that's all for the moment.
Of course comments are welcome.
-Fabio
[1] I've looked at other XMPP servers, but I chose Vysper because it is part of a well established Apache project, it's very simple to use, supports all that we need (embeddable server, multi user chat, etc.) and has a quite active community. Other solutions were either GPLv3, or not showing a clear situation wrt the community and the features.
On Sat, Mar 31, 2012 at 1:46 AM, Fabio Mancinelli <[email protected]> wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jérôme Velociter Winesquare http://www.winesquare.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jean-Vincent Drean, XWiki.
On Thu, Apr 5, 2012 at 12:19 PM, Jean-Vincent Drean <[email protected]> wrote:
You could #insert a new element in the body from the JSX.
http://prototypejs.org/api/element/insert http://prototypejs.org/api/element
Right. Will do. Thanks, Fabio
On Thu, Apr 5, 2012 at 10:58 AM, Fabio Mancinelli <[email protected]> wrote:
On Wed, Apr 4, 2012 at 7:46 PM, Jerome Velociter <[email protected]> wrote:
I forgot to ask : is having a custom skin really necessary ?
Isn't there a way to achieve the same results just with just "always-use" JSX/SSX ?
Yep for the JSX/SSX part. But I need a
<div id="chat_toolbar"></div>
at the end of the page, where to hook chat tabs. So i need to override (at least) footer.vm
I don't know if there are other possibilities for achieving that without using a custom skin (I am relatively a noob wrt all things javascript+webdev :))
-Fabio
Jerome
On Tue, Apr 3, 2012 at 12:50 AM, Fabio Mancinelli <[email protected]> wrote:
Hi Everybody,
as promised here it is a more detailed mail about the work I did on XWiki chat.
First of all I committed the code of the current prototype here: https://github.com/xwiki-contrib/xwiki-platform-chat
Now some technical details:
1) The system uses an embedded Vysper XMPP server (http://mina.apache.org/vysper/) with the Multi User Chat extension.
2) The communication is done using the BOSH protocol (http://en.wikipedia.org/wiki/BOSH). The BOSH endpoint is in the application context path, which means that the BOSH servlet will receive all the cookies as the other servlets (important for authentication, see after)
3) The whole UI of the chat system is contained in the XWiki.XWikiChatSkin. I've setup some tricky XSL transformations for bundling all the needed resources into this skin (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) The result is that all javascript files, VM overrides, and CSS files are added to the skin as properties.
4) The Javascript, VM overrides and templates are available as separate file in https://github.com/xwiki-contrib/xwiki-platform-chat/tree/master/xwiki-platf.... In order to hack it I use https://github.com/xwiki/xwiki-debug-eclipse and make symbolic links through the Eclipse interface so that those resources are available as if they were on the file system.
5) The current authentication is dummy (see https://github.com/xwiki-contrib/xwiki-platform-chat/blob/master/xwiki-platf...) What is needed to do is to process the data coming from the cookies and use the XWiki authentication subsystem to check the credentials coming at the beginning of an XMPP session. This could be quite tricky and will need some work for modifying the BoshServlet in order to make these credentials available to the code that will need them.
6) When the page is loaded a connection is established and several chat rooms are automatically joined: wiki, space and page. This of course is temporary. The idea is that on page load the user will joing the chatroom for the current wiki, the current space and the current page, depending on what she is looking at. This means that there will potentially be a chat room for every page in the wiki, for every space and, in a multi-wiki environment, for every wiki. The number of users in these chatroom will depend on what the users are actually working on.
7) Chatrooms are left on page unload. This means that looking at the chatrooms population we might be able to understand how many users are currently connected and where.
8) Since XWiki has a feature for defining a social network (i.e., following/followers) this data can be used to show in the chat the users that I am following that are online, so that I might be able to send them private messages.
9) Currently no the XMPP server is not backed by any storage, but it is possible to write a storage system that stores all the discussions in some wiki object (e.g., a page) so that a trace is kept.
10) The XMPP server also supports a Publish/Subscribe module. This could be used to implement a live notification system. But even without using pubsub, a special chatroom can be used to send these messages that will be displayed, for example, using a special UI à la growl (http://growl.info/screenshots) or equivalent.
There is currently a limitation with the Vysper BOSH servlet... It seems that it doesn't like too much Tomcat which can be a problem. The thread where the problem is explained is here: http://mail-archives.apache.org/mod_mbox/tomcat-users/201201.mbox/%3C4F1031F...
I haven't yet investigated the problem, but a possible solution (or a roadmap towards a solution) should be found as soon as possible because if we start to integrate the authorization system and the storage system, it would be difficult to port it to another system [1]
I think that's all for the moment.
Of course comments are welcome.
-Fabio
[1] I've looked at other XMPP servers, but I chose Vysper because it is part of a well established Apache project, it's very simple to use, supports all that we need (embeddable server, multi user chat, etc.) and has a quite active community. Other solutions were either GPLv3, or not showing a clear situation wrt the community and the features.
On Sat, Mar 31, 2012 at 1:46 AM, Fabio Mancinelli <[email protected]> wrote:
Hi everybody,
one of the research projects we are involved in is about realtime collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jérôme Velociter Winesquare http://www.winesquare.net/ _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Jean-Vincent Drean, XWiki. _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi Fabio, I've just looked at the video and it's just great! :) This would be very useful for xwiki.org. I really look forward to seeing this chat app packaged as an extension on extensions.xwiki.org :) Thanks -Vincent On Mar 31, 2012, at 1:46 AM, Fabio Mancinelli wrote:
Hi everybody,
one of the research projects we are involved in is about realtimeg collaboration. One of the aspects we wanted to investigate was the integration of a chat system within XWiki. I've been working on this lately and I've built a prototype that uses an embedded XMPP server for handling all the communication.
I still have to cleanup a bit the code before committing it, but I took a video of how things work. You can find it here: http://youtu.be/0Gwtpu3iVwo (it's FullHD, so make sure to change the video quality and to switch to fullscreen)
There are several things we need to address (authentication is one of them), but I think we could have a functional extension pretty soon.
It's 1:30am right now, so I will give you more details in a next mail :)
Enjoy.
Thanks, Fabio
participants (7)
-
Ecaterina Moraru (Valica) -
Fabio Mancinelli -
Guillaume Lerouge -
Jean-Vincent Drean -
Jerome Velociter -
Roman Muntyanu -
Vincent Massol