Forum OpenACS Q&A: Messaging / chat functionality
I am looking to add a new messaging / chat functionality to an OpenACS based system.
Requirements as follows:
So that users can send messages or ask questions etc. between themselves and other users of system. What we want to try and do is avoid all this communication going out to external email systems and not being able to keep track of all this communication as a result.
A user would be able to see if they got new "messages" from someone else on the system.
I presume it would be similar to the type of notifications you get on any online forums where you see a new email icon and count of new messages pending.
I think maybe an external email would also be generated to notify people they have a new message in system (it wouldn't give them actual message in email though - so forcing them back into system first)
So is there anything like this in OpenACS at all?
OpenACS doesn't have exactly what you are looking for out of the box, but all the building blocks should be there.
- chat package: this allows to create chat rooms where allowed users can communicate in real time. It is based on a Comet implementation. 
- forums: this package implement the forums we are writing on right now 
- notifications: it's a component that can be used by other package (like forums does) to subscribe to events happening on a particular object on the system and generate a reaction (typically some email being sent, but can be extended to whatever reaction through callbacks). This package is the one implementing the "Request Notifications" feature in this forum. 
Something else you might be interested into is websocket support in Naviserver, which can be used to implement a chat as well. Currently this is not used in any OpenACS package, but a demo implementation of a chat is there to use as a reference 
Hope this helps
There are some web-based embeddable chats around that are FOSS and similar to the application you pointed me to. In general they require a jabber server to take care of the communication (e.g. https://prosody.im/). Integrating with an existing OpenACS website might be some effort, so I don't know exactly if rolling your own code or going for one of these is better or not.
One example of such products to give an idea:
Thanks for your answers. I am working on something else at the moment so will get back to this.