On Thu, Apr 5, 2012 at 12:19 PM, Jean-Vincent Drean <j...@xwiki.com> 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 > <fabio.mancine...@xwiki.com> wrote: >> On Wed, Apr 4, 2012 at 7:46 PM, Jerome Velociter <jer...@winesquare.net> >> 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 >>> <fabio.mancine...@xwiki.com> 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-platform-chat-ui/src/main/build/transformations/xwiki-chat-skin.xsl) >>>> 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-platform-chat-ui/src/main. >>>> 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-platform-chat-server/src/main/java/org/xwiki/chat/server/NullUserAuthorization.java) >>>> 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/%3c4f1031f3.8060...@pidster.com%3E >>>> >>>> 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 >>>> <fabio.mancine...@xwiki.com> 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 >>>> devs@xwiki.org >>>> http://lists.xwiki.org/mailman/listinfo/devs >>> >>> >>> -- >>> Jérôme Velociter >>> Winesquare >>> http://www.winesquare.net/ >>> _______________________________________________ >>> devs mailing list >>> devs@xwiki.org >>> http://lists.xwiki.org/mailman/listinfo/devs >> _______________________________________________ >> devs mailing list >> devs@xwiki.org >> http://lists.xwiki.org/mailman/listinfo/devs > > > > -- > Jean-Vincent Drean, > XWiki. > _______________________________________________ > devs mailing list > devs@xwiki.org > http://lists.xwiki.org/mailman/listinfo/devs _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs