Instant messaging for logged-in users

Hi,

Sorry for crossposting (see http://drupal.org/node/328100) but I didn't get any replies on the d.org forum.

I'm searching for the best solution to provide 1-to-1 instant messaging functionality to logged-in users. My wishlist:
- a block with logged-in users (that's the easy part)
- when you click on a user, a chat window opens (no additional actions like login, create nickname, create chatroom etc.)
- when you send a message, it shows up on the screen of the other user
- not dependant on other accounts like msn, icq
- chats are 1-to-1; closed and invisible for others
- if possible, I would like not to be dependant of externally hosted 3rd party services
- preferrably Drupal 5

I've been looking at a number of modules, such as:
http://drupal.org/project/phpfreechat
http://drupal.org/project/messaging
http://drupal.org/project/ajaxim
http://drupal.org/project/xmpp
http://drupal.org/project/chatroom
Unfortunately they all seem to have their shortcomings. What would be the best solution? If there is not an out-of-the-box solution, should I take one of the modules and adapt it?

Thanks.

Groups:
Login to post comments

Friend feeds

christefano's picture
christefano - Tue, 2008-11-04 09:06

The modules you list are all very different in their approach. This may be one of those times that the best way to do it is with something other than Drupal. To that end, have you looked at Talkinator? I mentioned it in another post similar to this one.

It's still a bit off in the future but my plan is to roll out something entirely different using FriendList (and this patch) and the Block Refresh module.


not the solution

marcvangend - Tue, 2008-11-04 09:41

Christefano, thanks for helping. In fact, I don't care if it's not a Drupal module, as long as it does what I need. I've looked at talkinator, but it's not the solution I'm looking for. I need 1-to-1 messaging (MSN-style), not a 1-to-many chatroom (IRC-style).

I think a Drupal module is more likely to solve my problem (or at least come close) because the messaging system obviously has to work together with the Drupal login system.


Talkinator can be 1-to-1

christefano's picture
christefano - Tue, 2008-11-04 19:21

Talkinator can be 1-to-1 if only two people are in the same room. Custom code on the Drupal side can enforce this.


I'm not aware of a module

moshe weitzman's picture
moshe weitzman - Tue, 2008-11-04 13:14

I'm not aware of a module that does this. Should be relatively easy. Just stuff each message in the DB and use ajax to pull messages into the chat window. If your chat feature got really busy, the table could get congested.


You're probably right - when

marcvangend - Tue, 2008-11-04 15:42

You're probably right - when you put it like this, it doesn't sound too difficult. I'm not an expert on db optimization though... Do you have any suggestions for the database design? Should I use two tables, one for chat sessions and one for chat messages? Should I add some kind of security key, to keep script kiddies from pulling in other people's messages? Would it be wise to add timestamps, so I can make cron automatically clean up?


New-ish IM module does just that ...

pahariwalla's picture
pahariwalla - Sat, 2009-07-25 09:02

http://drupal.org/project/im does exactly this ...

I also plan to provide proper chatrooms (current implementation is a hack, but it works ... ) , integrate with OG, Taxonomy, specific nodes (like a CCK field that stores a chat session with the node - i.e. like a super comment)

Next steps will be get an official release out soon, and then accumulate lots of ideas, and go forward with refactoring, a proper API, and extensibility such that it can be "plugged in" to various uses.

Haven't really put it though the ropes in terms of high volumes, but i also haven't heard about any performance issues yet on the issue queue. Still m I want to allow a memcahe option.

The basic idea with the module is to allow sites to have internal chats without having to integrate with any external servers & protocols - keeping it really simple to install and configure.

p.s. i was fortunate to have Gerhard "killes" grant me maintainership on his abandoned 4.7 IM module, and thereby avoid adding "clutter" with yet another Drupal module :-)


Buddy Chat

Darren Oh's picture
Darren Oh - Tue, 2008-11-04 21:29

Buddy Chat is intended to do what you want, but it needs a volunteer to help maintain it.


I've seen the buddy chat module

marcvangend - Tue, 2008-11-04 22:13

I've seen the buddy chat module, but the fact that it says 'Drupal 4.7' and has no releases, made me think that it is just as good a startingpoint as a blank page. The large number of open issues on the buddylist project does not look very promising either. Please tell me if I'm wrong.


The point is that it's

Darren Oh's picture
Darren Oh - Tue, 2008-11-04 22:44

The point is that it's available. I don't care if someone starts from scratch. I'm offering it to prevent Drupal from being cluttered with yet another project. We can take buddy out of the name and just call it chat. What's missing is a volunteer.


OK, point taken

marcvangend - Tue, 2008-11-04 22:58

OK, point taken, I will consider that if I end up writing my own module. Thanks.


Privatemsg + Private Message Growl = ?

christefano's picture
christefano - Thu, 2009-05-28 21:26

It's been a long time since I've used Privatemsg module but the new Private Message Growl module might entice me to try it again.