I planning to use Jabber1, Jabber2 or Ejabber on a large website, using web client interface (JWChat). I know that at this time the best combination is ejabberd + JWChat, because JWChat is working from now with http-polling via ejabberd (see
I tested ejabber+JWChat and is working ok.
My worries is about 3 issues.
A) How long time JWChat will keep this option about ejabberd? Stefan Strigler (zeank) talk about using on the future http-binding (see for referrence
B) How I can migrate a lot of users later (inclusing their roster's and rooms) from ejabberd back to Jabber1 (or Jabber2) if above will happening? And related, how I can migrate between jabber1 - ejabberd (on both directions). It's there some tools?
C) I see that ejabber have no available MySQL storage and Mnesia database looks strange for me (I just learn now about, but I think will I not use on the future on my site since I have already developed using MySql). It's there a chance for ejabberd to work with MySQL & PHP in the future, on issues like retrieving data from mysql and post on ejabber (create accounts, rooms ie)? For example: extract u/p user data from mysql, create ejabber user like using class.jabber.php (
Thanks,
Iulian Nastasache
--- A) How long time JWChat
--- A) How long time JWChat will keep this option about ejabberd?
JWChat is moving from WCS to httppoll/httpbind. If I understood it correctly, those two methods will be supported, the only one that is deprecated is the old WCS. Of course, if the server supports it, httpbind is preferable over httppoll. Since ejabberd httppoll implementation is only 331 lines of code (including comments), I guess that it'll not be that hard to implement httpbind on the future.
--- migrate jabberd1-jabberd2-ejabberd
Right now there are tools to migrate:
--- It's there a chance for ejabberd to work with MySQL & PHP in the future, on issues like
Do you really want to mess with a server database, instead of using the server as interface? Don't forget that even servers that use the same database backend can be incompatible at database level: look at jabberd1 sql backend and jabberd2 (are they compatible?). You should better use a standarized method if possible, so your application is the most server-independant possible, and more people will be interested in it. With XMPP you already can
For more specific tasks, like showing statistics or getting a user password, that are server-dependant, you can extend XMPP and write a basic ejabberd module that exports the required information, for example. Maybe a lot of the ejabberd-dependant code is already written, or more people is interested in it and can collaborate if you release the code.
"For more specific tasks, lik
"For more specific tasks, like showing statistics or getting a user password, that are server-dependant, you can extend XMPP and write a basic ejabberd module that exports the required information, for example."
Statistics are standardised by JEP-0039 (Statistics Gathering), though this feature isn't implemented in all servers.
Seehttp://www.jabber.org/jeps/jep-0039.html
--
sander
FWIW
I wrote a little tool to produce a jabberd1 spool from a jabberd2 database. I haven't seen it show up at scriptrepo though. =/ I'll make it available on my own website at some point. Anyway, that would allow you to migrate any direction you want. Of course, as far as I know, it only works for mysql databases. It may work with postgres too. (i am referring to jabberd2's db structure)
As for mnesia, I originally thought I wouldn't like something that didn't use mysql or something similar, but I've found that there's absolutely nothing I dislike about Mnesia, and in fact it has at least one tool I'm aware of to interact with it directly.