[RCD] Threaded message listing implementation

Nathan Kinkade nath at nkinka.de
Sun Mar 15 23:43:20 CET 2009


On Thu, 5 Mar 2009 12:17:24 +0000, Chris January <chris at atomice.net> wrote:
>> Where are you at on your TODO list for threading support?  I ask
because
>> if
>> you have already started, then I was thinking I might take a stab at a
>> couple of them, particularly sorting the message list based on the most
>> recently receive message in a thread.  But if you have already started
>> in
> 
> I haven't implemented this yet. The TODO list should be up to date.
> 
> Cheers,
> Chris

So as I began to investigate the sorting of threads by the date of the most
recent message in a thread rather than the thread's root message, I
discovered that there is beginning to be support for this at the IMAP
server level:

http://tools.ietf.org/html/draft-ietf-morg-inthread-00

I happen to use Dovecot, and this functionality was introduced in the first
alpha release of version 1.2 back in Sept. 2008
(http://dovecot.org/list/dovecot-news/2008-September/000084.html).  I also
use Debian, and v1.2 of Dovecot isn't even available in unstable or
experimental, but I was able to build/install if from a source package
referenced on the Dovecot site.  If anyone wants the amd64 Debian packages
for Dovecot 1.2beta1, just let me know.  The functionality is introduced as
a new and non-standard THREAD algorithm referenced by X-REFERENCES2, which
I have verified to work on my own install.

Please note that all of these patches are dependant on Chris January's
patch set to implement a threaded view:
http://www.atomice.com/blog/?page_id=34, as indicated by the first message
in this thread.  Also, for this to work, your IMAP server must support a
thread sorting algorithm that sorts based on the newest in-thread message
rather than just by the date of a thread's root message.  In Dovecot (since
v1.2) this is supported as references above, but I have no idea how or even
if any other IMAP servers implement this.  I'd be interested to know if
anyone else has more information on this.  Here are the patches:

http://code.nkinka.de/gitweb?p=roundcube.git;a=commitdiff;h=61d007a3c6867766391afb7c5d02b85ff44df1e8
http://code.nkinka.de/gitweb?p=roundcube.git;a=commitdiff;h=945604dcb6805965ed498e690b003770fa619210
http://code.nkinka.de/gitweb?p=roundcube.git;a=commitdiff;h=8018757b75262d009bc6611be76bf4696d549caa

Nathan

_______________________________________________
List info: http://lists.roundcube.net/dev/


More information about the Dev mailing list