Subject: THREAD support in UW IMAP

From: "Thomas Smith" <[email-masked]>
Date: Wed, 9 Jun 2004 15:42:43 -0700 (MST)

I'm working on optimizing Squirrelmail performance. Their web site
suggested enabling "server-side sorting" and "server-side threading". See
below for pre- and post-login messages from UW IMAP:

* OK [CAPABILITY IMAP4REV1 LOGIN-REFERRALS STARTTLS AUTH=LOGIN] hpcaz.com
IMAP4rev1 2001.315rh at Wed, 9 Jun 2004 15:31:45 -0700 (MST)
a01 OK [CAPABILITY IMAP4REV1 IDLE NAMESPACE MAILBOX-REFERRALS SCAN SORT
THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND] User tsmith <at>
hpcaz.com authenticated

My questions are this:

1) I see that SORT is listed as a CAPABILITY--is this all that I need to
be concerned with or are there "tweaks" to make it more efficient?

2) There are multiple THREAD CAPABILITY entries above. Are there more
potential THREAD features that can be added?

3) Is there a way to tell if the IMAP clients are actually using the
CAPABILITYs? That is, how can I test to ensure the "CAPABILITY" is working
properly?

-- 
------------------------------------------------------------------
 For information about this mailing list, and its archives, see: 
 http://www.washington.edu/imap/c-client-list.html
------------------------------------------------------------------

---

From: Brad Arlt <[email-masked]>
Date: Wed, 9 Jun 2004 17:18:18 -0600

> CAPABILITYs? That is, how can I test to ensure the "CAPABILITY" is working

Squirrelmail allows you to ignore the CAPABILITY string.  I believe it
will ignore your request to use server threads if the server doesn't
support this.  It does this to allow you to choose which is faster.

I use SquirrelMail and UW-Imap.  I turn both server side sorting and
threading on in SquirrelMail.  Whether this is faster for you, I can't
say.
-----------------------------------------------------------------------
   __o		Bradley Arlt			Security Team Lead
 _ \<_		[email-masked]		University Of Calgary
(_)/(_) 	Las hojas de coca no es droga. 	Computer Science

---

From: Mark Crispin <[email-masked]>
Date: Wed, 9 Jun 2004 18:59:39 -0700 (PDT)

On Wed, 9 Jun 2004, Thomas Smith wrote:
> suggested enabling "server-side sorting" and "server-side threading".

UW imapd supports full server-side sorting and threading.  As there is is 
no way to disable it, it does not require enabling.

> be concerned with

Yes

> or are there "tweaks" to make it more efficient?

No

> potential THREAD features that can be added?

Yes; but at the current time there are only two defined threading 
algorithms: ORDEREDSUBJECT and REFERENCES.  REFERENCES is the algorithm 
that most people consider to be "threading".

> CAPABILITYs?

If the client issues SORT and THREAD commands, then it is using the 
capability.  You can determine this by watching the protocol transactions.

Use of server-side sorting and threading depends upon two things:
  1) Server support: this is announced by the CAPABILITY
  2) Client support: typically this noted in the client documentation.

> That is, how can I test to ensure the "CAPABILITY" is working
> properly?

Sorting and threading works correctly in UW imapd and in Cyrus imapd.

I do not recommend attempting to use sorting and threading in Courier, as 
that server is not an IMAP server and the sorting/threading features that 
it advertises are known to be broken.

-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.