Forum OpenACS Development: Response to chat module and jabber server

Collapse
Posted by Malte Sussdorff on
For a client we try to get Jabber integration on the table (and be paid for it). Yes, it will be in ACES, but yes, we would write a package and keep OpenACS 4.x in mind.

Requirement:

  • Integration of the community with AIM/ICQ and improved chat functionality.
  • You should be able to click on the users ICQ or AIM information and start a chat with this person.
  • If you are in your community, you should be able join a groupchat for this community.
  • You should see, which persons are online and who are chat-able.
  • If a user wants to chat, the website needs to know whether a client is already running, and if not, start a client on the users computer.

How do we tackle the situation:

  • Install a jabber server with transportation protocols enabled to aim and ICQ.
  • Have an unchattable user on the server side monitor the user names of the system.
  • Transfer the users of the webservice on a regular basis to the rooster of the server.
  • Store the buddys of a user from the webservice in the rooster of the user.
  • If you look at the user information page have the webservice check the jabber server whether that user is online with a chat client.
  • If you want to chat with that person, have the system first check whether you are online with a chat client. If you are, display a page telling you to contact this person via this or that method, or close your client. If you are not, start the Jabber applet with connection to the jabber server and a chat window open to the other person.
  • Bonus feature: Hack the request processor so that a user, who is not chatable will be alerted on the next page view, that someone wants to talk to him and offer to open the chat window.
  • As an opt out option have the system start the Chat Applet everytime a user logs in to the system.

This was just some of the ideas, which came into our mind when we talked to the client and we will keep you updated how (if) the process goes.