[RCD] [PATCH] Threaded messagelist view patch rev5 (against r3022)

A.L.E.C alec at alec.pl
Wed Oct 7 08:56:24 CEST 2009


Vladislav Bogdanov wrote:

> here is a most recent revision of a threaded view patch.
 >
> Most notable changes since rev4
> (http://lists.roundcube.net/mail-archive/dev/2009-09/0000143.html):
> 1. Port to RC r3022
> 2. Add children of a last shift-selected message to selection too.

I don't see this message on the list, so I'm attaching the patch in my reply

> Alec, would you please check this patch to not interfere with your last
> additions (message index) in a improper way?

Currently I have no time to test it well, but I've seen the patch and 
I've got a few thoughts:

1. threads support detection and thread algorithm auto-selection. I 
think 'imap_thread_algorithm' should be set automatically to the best 
from those supported by server (REFS, REFERENCES, ORDEREDSUBJECT). It 
means if e.g. server supports REFS and ORDEREDSUBJECT we should use 
REFS. Does anybody need ORDEREDSUBJECT if he's server supports 
REFERENCES? Also see manage_folders.inc for: 
$IMAP->get_capability('thread=references');

2. Don't use massage_sort_col='default'. Since we have 'index_sort' 
option. Messages are sorted by message index if message_sort_col='date'.
We don't need this 'default' stuff also because THREAD command returns 
messages sorted by date.

3. We also wouldn't need enable_thread_caching option. Use 
enable_caching instead. I know it will be hard now, but for me would be 
better (a much better) to remove the whole thread caching stuff from the 
patch and implement this in next step after threading will be working 
well without caching. For first step: enable_caching=true -> 
messages_treading=false. I'm of course a volunteer to implement the 
whole threads caching stuff.

4. Maybe list.js changes could be more universal. E.g. expand_unread()
could be implemented as expand_by_state('unread') or sth. The list.js is 
used not only for messages.

5. In mail steps use short $IMAP instead of 
rcmail::get_instance()->imap->threading. Just for better readability.

-- 
Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252
LAN Management System Developer http://lms.org.pl
Roundcube Webmail Project Developer http://roundcube.net



 --- 8< --- detachments --- 8< ---
 The following attachments have been detached and are available for viewing.
  http://detached.gigo.com/rc/Kt/CLaLbzUd/roundcubemail-thread.patch
 Only click these links if you trust the sender, as well as this message.
 --- 8< --- detachments --- 8< ---

-------------- next part --------------
_______________________________________________
List info: http://lists.roundcube.net/dev/


More information about the Dev mailing list