Hello,
I have written an implementation of message threading for RoundCube. You can find it here: http://www.atomice.com/blog/?page_id=34 I have split it into a number of separate patches to make it easier to apply. The patches are against yesterday's SVN trunk. I hope it can be committed, but I appreciate a few things may need tweaking first. Please review it.
Regards, Chris January _______________________________________________ List info: http://lists.roundcube.net/dev/
hi,
Chris January wrote:
I have written an implementation of message threading for RoundCube. You can find it here: http://www.atomice.com/blog/?page_id=34 I have split it into a number of separate patches to make it easier to apply. The patches are against yesterday's SVN trunk. I hope it can be committed, but I appreciate a few things may need tweaking first. Please review it.
at first glance, it looks very nice. lets see how the code behaves when deleting/moving messages around this is the really tricky part ;)
cheers, raoul
Hi,
I have not thoroughly tested it (just downloaded and installed the snapshot from your blog), but it looks great, and seems to work well. I had been waiting for it for so long :)
Congratulations! _______________________________________________ List info: http://lists.roundcube.net/dev/
Chris January wrote:
Hello,
I have written an implementation of message threading for RoundCube. You can find it here: http://www.atomice.com/blog/?page_id=34 I have split it into a number of separate patches to make it easier to apply. The patches are against yesterday's SVN trunk. I hope it can be committed, but I appreciate a few things may need tweaking first.
I've not tested yet, but I've a few thoughts for a start:
button (a column header?) to expand ALL threads on the list and this could be stored in database, but we don't need to save a expansion of every thread.
On Tue, Feb 24, 2009 at 1:58 PM, A.L.E.C wrote:
Chris January wrote:
Hello,
I have written an implementation of message threading for RoundCube. You can find it here: http://www.atomice.com/blog/?page_id=34 I have split it into a number of separate patches to make it easier to apply. The patches are against yesterday's SVN trunk. I hope it can be committed, but I appreciate a few things may need tweaking first.
I've not tested yet, but I've a few thoughts for a start:
- thread listing mode should be set per-mailbox (Settings -> Folders)
Done.
- not all servers support REFERENCES (need to check capabilities)
Done.
- not all server support THREAD (need to check capabilities)
Done.
- in my opinion we shouldn't display threads count instead of messages count
Thread count is only used for the pagination. The 'unread' count is still messages and not threads, ditto the messages column in the Folder settings.
- about todo "Make thread expansion persist on the server". We need some
button (a column header?) to expand ALL threads on the list and this could be stored in database, but we don't need to save a expansion of every thread.
I added Expand All and Collapse All buttons.
Someone mentioned in a comment on my blog page about making unread threads (i.e. threads with 1+ unread messages) distinguishable from unread root messages. I need to think about how to do this. Does anyone have any suggestions?
Chris _______________________________________________ List info: http://lists.roundcube.net/dev/
On 2/25/09 12:23 PM, Chris January wrote:
I added Expand All and Collapse All buttons.
Someone mentioned in a comment on my blog page about making unread threads (i.e. threads with 1+ unread messages) distinguishable from unread root messages. I need to think about how to do this. Does anyone have any suggestions?
Different colored unread icon maybe? When toggled/expanded, the icon on the root message disappears and the standard icon is shown beside the actual unread message(s) in the thread?
Kevin L. _______________________________________________ List info: http://lists.roundcube.net/dev/
On Wed, Feb 25, 2009 at 5:30 PM, Bezaleel Support wrote:
On 2/25/09 12:23 PM, Chris January wrote:
I added Expand All and Collapse All buttons.
Someone mentioned in a comment on my blog page about making unread threads (i.e. threads with 1+ unread messages) distinguishable from unread root messages. I need to think about how to do this. Does anyone have any suggestions?
Different colored unread icon maybe? When toggled/expanded, the icon on the root message disappears and the standard icon is shown beside the actual unread message(s) in the thread?
Yeah, that would work.
Chris _______________________________________________ List info: http://lists.roundcube.net/dev/
Chris January wrote:
- thread listing mode should be set per-mailbox (Settings -> Folders)
Done.
so, you can get rid of message_threading option
- not all servers support REFERENCES (need to check capabilities)
Done.
think about support for other algorithms
- not all server support THREAD (need to check capabilities)
Done.
It would be better to not use session in rcube_imap class e.g.$_SESSION['threading'] set this via some class variable.
- in my opinion we shouldn't display threads count instead of messages count
Thread count is only used for the pagination. The 'unread' count is still messages and not threads, ditto the messages column in the Folder settings.
Still I'm not sure, imagine pagelimit=100 and a hundred threads with 10 children each. Also I like to know the messages count.
I added Expand All and Collapse All buttons.
It would be nice to have a one "switch" button.
It would be better to not use session in rcube_imap class e.g.$_SESSION['threading'] set this via some class variable.
Ok. rcube_template will need extending to read this then (you can't currently use class variables in templates AFAICT).
- in my opinion we shouldn't display threads count instead of messages count
Thread count is only used for the pagination. The 'unread' count is still messages and not threads, ditto the messages column in the Folder settings.
Still I'm not sure, imagine pagelimit=100 and a hundred threads with 10 children each. Also I like to know the messages count.
Surely you would end up with some pages with, say, 10 threads on and another with, say, 50? I can't think of any other mail client that does this. I originally tried it with paging by messages and not threads and the behaviour is counter-intuitive and confusing.
> I added Expand All and Collapse All buttons.
It would be nice to have a one "switch" button.
The user can expand some threads and leave others collapsed so it's not a togglable state.
Chris _______________________________________________ List info: http://lists.roundcube.net/dev/
Chris January wrote:
I added Expand All and Collapse All buttons.
It would be nice to have a one "switch" button.
The user can expand some threads and leave others collapsed so it's not a togglable state.
but you've call these buttons Expand/Collapse ALL
On Wed, Feb 25, 2009 at 6:43 PM, A.L.E.C alec@alec.pl wrote:
Chris January wrote:
> I added Expand All and Collapse All buttons.
It would be nice to have a one "switch" button.
The user can expand some threads and leave others collapsed so it's not a togglable state.
but you've call these buttons Expand/Collapse ALL
What I mean is: say a user clicks Expand All to expand all threads. The user then collapses some again after that. If there was just one togglable button showing 'Expanded' that would be incorrect - it wouldn't actually reflect the current state.
Chris _______________________________________________ List info: http://lists.roundcube.net/dev/
On Wed, Feb 25, 2009 at 5:50 PM, A.L.E.C wrote:
Chris January wrote:
- thread listing mode should be set per-mailbox (Settings -> Folders)
so, you can get rid of message_threading option
Done.
It would be better to not use session in rcube_imap class e.g.$_SESSION['threading'] set this via some class variable.
Changed to rcmail::threading.
Chris _______________________________________________ List info: http://lists.roundcube.net/dev/
Chris January wrote:
Hello,
I have written an implementation of message threading for RoundCube. You can find it here: http://www.atomice.com/blog/?page_id=34 I have split it into a number of separate patches to make it easier to apply. The patches are against yesterday's SVN trunk. I hope it can be committed, but I appreciate a few things may need tweaking first. Please review it.
Again, good work. It's a "killer feature" for 0.4. A few more ideas:
if we implement one click expand)? Also maybe it would be better to move message status icon from subject to separate column? Just for better look. Threaded messages listing (on your screenshot) is not looking perfect. We should work on this.
On Wed, Jul 22, 2009 at 02:01:13PM +0200, A.L.E.C wrote:
Chris January wrote:
Hello,
I have written an implementation of message threading for RoundCube. You can find it here: http://www.atomice.com/blog/?page_id=34 I have split it into a number of separate patches to make it easier to apply. The patches are against yesterday's SVN trunk. I hope it can be committed, but I appreciate a few things may need tweaking first. Please review it.
Again, good work. It's a "killer feature" for 0.4. A few more ideas:
- I like one click to expand the whole thread (like in Thunderbird2)
- Maybe it would be better to create 'thread switch' column (specially
if we implement one click expand)? Also maybe it would be better to move message status icon from subject to separate column? Just for better look. Threaded messages listing (on your screenshot) is not looking perfect. We should work on this.
- Thunderbird's like tree indicators (those dotted images: - | L) are very helpful
Since this thread got bumped after having been dormant for a long time, I'll take the opportunity to mention that since Dovecot 1.2 the threading algorithm for sorting threads via the most recent message in a thread (not just the thread starter) is no longer referenced by X-REFERENCES2, but now by REFS:
http://www.dovecot.org/list/dovecot-cvs/2009-April/013001.html
Nathan _______________________________________________ List info: http://lists.roundcube.net/dev/
On Wed, 22 Jul 2009 14:01:13 +0200, "A.L.E.C" alec@alec.pl wrote:
Again, good work. It's a "killer feature" for 0.4. A few more ideas:
- I like one click to expand the whole thread (like in Thunderbird2)
I've not used Thunderbird. The behaviour is modelled after KMail. I'll give Thunderbird a try.
- Maybe it would be better to create 'thread switch' column (specially
if we implement one click expand)? Also maybe it would be better to move message status icon from subject to separate column? Just for better
look.
Threaded messages listing (on your screenshot) is not looking perfect. We should work on this.
How would that look? I can't visualise it in my head. Re: the message status icon - I originally had it in a separate column but put it next to the subject because that's what other mail clients (that I've used) do and it makes the tree structure more obvious in the absence of dotted lines.
- Thunderbird's like tree indicators (those dotted images: - | L) are
very
helpful
Yes, I agree. It's not trivial to do on the client side at present - I think the Roundcube server side needs to send more information first. Namely: how many vertical lines the client needs to draw for the parents for each item. Hard to explain really, without pictures.
Regards, Chris
List info: http://lists.roundcube.net/dev/