Hi everybody
After two days of intensive coding (now my girlfriend is offended) I finally rebuilt the caching mechanism which caused many problems and performance issues. Therefore a new database table (messages) was created. There also have been minor changes to the database so please check the SQL scripts.
Together with the new caching process, server side sorting was also implemented. When showing the message list, only one page is retrieved from the server and cached.The message cache is complete, after every page has been loaded once. After that, RC attempts just to synchronize the changes. Even if the cache is not complete the loading time should decrease since there's only the message index transmitted and already cached headers will not be reloaded. For further development I will try to start a child process to fetch all message headers in the background but not making the interface wait for it.
The new caching implementation is not tested well and that's why I would like the experienced RoundCube administrators and developers to try out the latest CVS. Because the public CVS repository updates several hours or days later, I added a snapshot here: http://prdownloads.sourceforge.net/roundcubemail/roundcubemail-cvs-20051203....
I also reworked the database class and tested RoundCube with MySQL, SQLite and Postgres. All initial SQL scripts have been updated and RC should now work correctly with Postgres. Probably there could be some optimization with Postgres but I'm not very familiar with it.
For all Postgres users out there, please test RoundCube and don't hesitate to post bugs or suggestions here.
Last but not least, I have included the patch for signatures (thanks Craig) and added a drop-down with a charset selection when composing a message. I know that there are still some issues with character encoding especially when getting things over XMLHTTP.
Well, that's it for the moment. Next I'll take care of the message searching functionality and after that I think we're ready for an official Beta release.
Thanks for your patience! Thomas
P.S. The MDB2 implementation is currently broken and the library is not included in the package.