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
