Author: JC Brand



babble.server is a messaging service for Zope2 based systems.

It's the chat server for babble.client, an instant messaging
client for Plone, but it doesn't have any dependencies on Plone or babble.client
and is designed to be usable as a backend, independent of any frontend.


- User accounts: users must be registered for the chat service
- Security: most messaging actions requires the user to authenticate 
- Web service: all public API methods return JSON strings.
- 100% test coverage. (Non-beta releases only).

Additional info:

For additional info, please read the documentation at

Important notice:

If you are upgrading from babble.server 0.x to 1.x, you *must* run the upgrade

This requires that you add the external method in Extensions/
in the same Zope instance where you have added the ChatService, and then run it
by clicking on the "test" tab.

Make sure to backup your Data.fs before running the upgrade!

You can use the following values when adding the External Method:

Id:             upgrade_to_1.0
Title:          Babble Server Upgrade 1.0
Module Name:    babble.server.upgrade_to_1_0
Function Name:  run

 - JC Brand
 - Alex Pilz
 - Roche Compaan 


1.1 (2012-04-11)

- Update to make sure all files are included. [jcbrand]

1.0 (2012-04-10)

- Fail gracefully when deleted chatroom is not found. [jcbrand] 

1.0b5 (2012-03-23)

- Various changes to minize write conflicts. [jcbrand]

1.0b4 (2011-11-20)

- New feature: ChatRoom objects, for multi-person conversations. [jcbrand]
- More cleanup and refactoring of the API. [jcbrand]

1.0b3 (2011-10-18)

- Allow non-ascii usernames. [jcbrand]
- Added stress tests and some speed improvements based on these tests. 
  Most notable is that messages are now stored in shared messageboxes inside
  conversation objects. [jcbrand]
- User status support has been removed, since it's not being used by
  babble.client. If someone is still relying on it, please let me know. [jcbrand]

1.0b2 (2011-10-06)

- Require a 'since' parameter in getUnclearedMessages. [jcbrand]

1.0b1 (2011-10-05)

- Major change, backwards incompatible to 0.x. Retrieve messages relative to 
  timestamps, instead of marking them as read. [jcbrand]

0.3.1 (2011-01-18)

- Test for usernames of None in confirmAsOnline [jcbrand]

0.3 (2010-12-16)

- Added simple caching for the User Access Dict to lessen writes [jcbrand]
- Added the z3c.autoinclude plugin [jcbrand]

0.2 (2010-10-18)

- Converted message dates to UTC [pilz]

0.1 (2010-05-05)

- Added default title and id values for the Chat Service [jcbrand]

0.1a1 (2010-04-08)

- Initial release (jcbrand)