Hi Carsten

On 09/02/2013 08:05 AM, Carsten Senger wrote:
> We have a bigger Plone site with an active community that has ~3000
> frequently active users and plan to develop an add-on to send private
> messages between members. Every member will have an "Inbox" where he
> sees the list of members he has a conversation with. All messages he
> exchanged with a member will be shown in 1 plain chronological list. The
> functionality of the inboxes will be very simple. Beside the list of
> messages per conversation we need to get the list of conversations with
> unread messages and their unread message count.
> 
> Currently we plan how to store the messages and look into the following
> options:
> 
> - ZODB / BTrees
>   - seperate ZODB mounted somewhere
>   - store messages in either
>     - a huge btree with all the messages, similar to
>       plonesocial.microblog
>     - a tree of objects per user/conversation, messages in btrees
>   - store the unread message count per conversation

<snip>

> For simplicity reasons we would like to keep the messages in the ZODB.
> Has someone experience with a similar system and the performance of
> BTrees? Is there a product with similar storage requirements that we can
> look at?

Sorry for the late reply...

Before I started working with XMPP messaging I wrote babble.server and
babble.client.

http://plone.org/products/babble.client
http://plone.org/products/babble.server

The docs are here: http://babblechat.org/en/latest

With babble.server, messages are SimpleItems stored in a BTree.
Messages are explicitly marked "Read" when fetched, so you know how
messages weren't read yet.
You can run babble.server as a ZEO client and mount its storage into
your existing Plone site.

Regards
JC
_______________________________________________
Product-Developers mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-product-developers

Reply via email to