use jabber to implement a chat room feature - chat

I have a existing web app and a iphone app for a closed user community. I want to add chat room feature for users to chat with each other.
I don't want to reinvent the wheel. Is it a good choice to use jabber on the backend to handle chats/chatroom? If yes, can you point me to some tutorials?
My users won't need to know anything about jabber. My chat system won't allow users from gtalk or other jabber-compatible to connect.
Thanks.

Jabber is a good choice indeed. You could have a look at ejabberd, a popular jabber server.
For implementing your "private" jabber chat room, you can easily write "modules" for ejabberd that would enforce the "private chat rooms" e.g. enforcing access rights etc.

Related

Is it possible for a Messenger Platform bot to initiate group chat with two or more humans?

Is it possible to create a bot that can connect two people (assume they're already registered with the bot) together by starting a group chat with the two of them?
If not, I'm open to alternate solutions to allow a bot to connect a human user with another human user, if anyone knows one.
Group chat is not supported. As an alternative you can build a chat extension which allows you to make some of your functionality available in group chat, including allowing multiple people to utilize shared resources. For examples, look at chat extensions that are already in the discover tab.

Facebook Chat limitations

My company develop a product for customer support on Facebook and we want to give the representatives a way to contact the customer via Facebook Chat.
I have read the Chat API documentations and it is not clear whether users MUST be friends on Facebook in order to chat or is it just enough they both installed a Facebook app? more limitations?
any insight will be appreciated.
Thanks in advance for you answers,
Yaniv Hakim
Facebook provides an XMPP port to the outside world while internally it implements MQTT. As per XMPP specs, messaging works between two entities without they being in each other roster list (friend/contact list). However, Facebook seems to have this limitation as part of their own business requirement. I think even GoogleTalk disallows this if two federated entities try to send message to each other without being on the roster list.
In short, yes you can just send the message. You don't need a presence authorization from someone in order to send messages to them (in XMPP world). HOWEVER, some services has a policy of requiring this, despite the fact that this is not mandated by the XMPP specifications.

Best way to integrate an XMPP Server into Webapplication

I'm working on a middle size community project, using php and the php framework symfony2 atm.
We are planning to integrate XMPP as a support chat and premium feature for our users. The users will be able to connect via a webclient and also via normal xmpp clients.
So here are my questions:
About the Rosters: I want to have the users from the friends list listed in the users contact list. I know that this can be done with rosters. But how can I implement this on a simple and stable way? Is there a good Server implementation that can get the users roster out of a sql database like pgsql?
What happens on the client when the roster datas are beeing changed while the user is logged in on the xmpp server?
Can I group the users that are listed in the roster of a user?
Which XMPP server project would you recommend for that kind of project?
Thanks for your help in advance!
most existing XMPP servers support all popular DBRMs. So this should be no problem.
probably nothing when you make the changes directly do the database. So have to find a server where you can initiate a roster push to all connected clients. See also the XMPP RFCs for roster updates.
yes, roster groups are a core feature of XMPP.
You can find a list of XMPP servers here: http://xmpp.org/xmpp-software/servers/ You have to check which servers support pgsql and allow you to update the roster and initiate the roster pushes to connected resources.

xmpp/jabber for chat for dating site?

we're in the process of adding text chat to our dating site and I'm considering using xmpp - specifically ejabberd on the server side, and we will be implementing an ajax client.
i'd like to hear from someone with good xmpp experience - is it architecturally suitable for chat on a dating site ? in chat on a dating site anybody can chat one-on-one with anybody - they don't have to be on your 'friends' list. Also we do not want a chat room - only one-on-one chat.
Or is xmpp more suitable for the model where someone has to add you to their friends list before you can with them ?
thanks in advance.
XMPP should work fine for you. Ejabberd, depending on the number of concurrent users you have, should be a fine starting point. Consider using a BOSH library like Strophe.js in your HTML client. If you use that library, you'll want a copy of Professional XMPP Programming with JavaScript and jQuery, which has examples of all of the code you'll need.
You do NOT need to have presence subscriptions in place to send chat messages between users, except in specific server implementations like GoogleTalk. Reducing the number of presence subscriptions will also drastically increase the number of users you can handle concurrently.

One to many chat with XMPP

I am developing a XMPP chat with XIFF library using Flex.
My problem is I want to develop a customer service chat system. When user enter my program they will only see one service man and service man will see all users.
When I tried with XIFF, I developed small chat program like google talk. First, users need to to add buddy. Second, users need to go Multiuser chat room (but Multiuser chat room will see all participants).
Can any one give me an idea or approach to success?
Thanks in advance
using single chat and multiple connection.
If User==Service Man => send chat to all users one-by-one
If User!=Service Man => Send chat to Service Man