Needs review
Project:
DXMPP
Version:
6.x-1.x-dev
Component:
User interface
Priority:
Normal
Category:
Feature request
Assigned:
Issue tags:
Reporter:
Created:
7 May 2010 at 19:17 UTC
Updated:
27 Nov 2010 at 16:48 UTC
Jump to comment: Most recent file
Comments
Comment #1
ManyNancy commentedAjaxim does the same thing:
http://ajaxim.com
Comment #2
aaron commentedyes! persistent sessions (probably using pre-authentication) is on the hit list for development.
@manynancy: that looks really interesting; seems they're using node.js to create its own webserver... thanks for linking to that resource!
Comment #3
srjoshWhat's the timeframe, and can we help? If so, how?
Comment #4
ManyNancy commentedI've talked to the guy from ajaxim, and he offered to integrate it with drupal/UR for $750 in 2 weeks.
I highly prefer node.js/json over xmpp/strobe/erlang. But if xmpp is a requirement, there are 2 options:
http://github.com/astro/node-xmpp
http://github.com/mwild1/xmppjs
Anyway it's not a requirement for me.
If there are other people who are extremely impatient and want to put some money together. IMO this is an option.
Comment #5
aaron commentedi had been looking at http://metajack.im/2009/12/14/fastest-xmpp-sessions-with-http-prebinding/ and http://github.com/thepug/Mod-Http-Pre-Bind as possibilities, although that is ejabberd specific, and requires recompiling one of the ejabberd libraries.
doesn't matter much to me which way we go; ideally we could implement more than one and give the option.
i had not been aware of node.js when i started this project, and am very excited about its possibilities. not sure how it would fit in the scope of this, as this module is definitely (currently) very xmpp specific...
Comment #6
aaron commentednice; i see that the latest release of ejabberd at http://www.ejabberd.im/ejabberd-2.1.4 has made pre-authentication easier, so that one no longer has to hack ejabberd to make it work (used to need to export some function arguments in erl for that)
Comment #7
ManyNancy commentedI guess you can make node an optional backend, when you have some time to look at it, through integration with one of the aforementioned xmpp libraries. Since I'm using node elsewhere, I would eventually like see dxmpp use it, and perhaps see the use of websockets (http://socket.io) rather than comet, as well as other things, :P but since ejabberd works currently, I guess focus on front end issues for now?
As for as the window persistence issue goes, for me the most elegant solution would be to use localstorage, but other people might have different requirements... ie, IE7/6.
Comment #8
aaron commentedassigning to darklrd to investigate the possibility of integration of node.js, after some discussion on IRC (as long as too much time isn't spent burning on it, since it's slightly out of scope of the original gsoc proposal). thanks, @ManyNancy!
Comment #9
ManyNancy commentedWhoot, thanks.
Comment #10
Flying Drupalist commentedSo this is in drupalchat.
Also +1 node.js and websocket.
Comment #11
franskuipers commentedPartly solved..... more or less.
I was thinking it should be possible to open a connection for the user (http-pre-bind is mostly used for anonymous connections) on the server, and attach that connection in the client javascript.
After a lot of searching I found a script that opens a connection and binds the session. The patch will show that the connection is rightly attached, the client gets the roster, and we can communicate with other users as long as we stay on the first page.
After browsing to the next page, strophe will not report back roster/presence events anymore. I can see we are sending the roster-iq en presence, we get an anwer from ejabberd, but our handlers are not called. We still can communicate from another user to us (if we don't wait to long, the session where we browsed to an new page will time out), and we can reply on that message.
I have tried everything in my power to get it working after browsing to the next page, but I can't find a solution for it. I hope someone else can.
Comment #12
franskuipers commentedForget the patch in #11, misses an important file.
Comment #13
Fidelix commentedSubscribing...
Comment #14
rjbrown99 commentedThere's a patch here, so I'm going to update the status.
Comment #15
IckZ commentedSubscribing! This is a must have feature for this great module!
Comment #16
rjbrown99 commentedI had another thought - how about just popping the chat out into its own window? Then it's independent of whatever other on-page actions take place since it has a dedicated window. It's cheating a bit, but it's also easier to implement.