babble.server is the messaging service for the Babble instant messaging service for Plone. It’s however a pure Zope2 product and not dependent on Plone. It doesn’t depend on any of the babble.client frontend code and can be completely decoupled from it, by running it on a separate server.
The chatserver is designed to be a standalone and lightweight Zope2 app. It doesn’t depend on Plone at all.
Since instant messages result in many writes to the database, it’s best to run the chat server on it’s own ZODB instance. You can do this by either dedicating a standalone Zope2 instance with its own ZODB, or by mounting a separate ZODB into your site.
In the case of using a standalone Zope2 instance, you could do the following in your buildout.cfg:
[buildout]
parts += chatserver
[chatserver]
recipe = plone.recipe.zope2instance
http-address = 8081
zeo-client = off
shared-blob = off
user = admin:admin
file-storage = filestorage/DataChat.fs
blob-storage = var/blobstorage-chat
eggs = babble.server
zcml = babble.server
Note
It’s important to include the zcml slug for babble.server.
Simply add the Chat Service in the ZMI (Zope Management Interface) by clicking on the dropdown box and choosing it from the list.
For a detailed look at the API methods with a description of each ones purpose and the JSON values it returns, please see the interfaces.py module.