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-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/%[email protected]%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 >>> <[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

