Re: draft-ietf-imapext-thread

Cyrus Daboo <daboo@cyrusoft.com> Wed, 13 June 2001 14:46 UTC

Received: from localhost (localhost [[UNIX: localhost]]) by above.proper.com (8.11.3/8.11.3) id f5DEkfn21132 for ietf-imapext-bks; Wed, 13 Jun 2001 07:46:41 -0700 (PDT)
Received: from darius.cyrusoft.com (darius.cyrusoft.com [206.31.218.194]) by above.proper.com (8.11.3/8.11.3) with ESMTP id f5DEkdJ21128 for <ietf-imapext@imc.org>; Wed, 13 Jun 2001 07:46:40 -0700 (PDT)
Received: from euphrates.cyrusoft.com (localhost [127.0.0.1]) by darius.cyrusoft.com (8.9.3/8.9.3) with ESMTP id KAA26574; Wed, 13 Jun 2001 10:44:03 -0400 (EDT)
Date: Wed, 13 Jun 2001 10:48:47 -0400
From: Cyrus Daboo <daboo@cyrusoft.com>
To: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>, Ken Murchison <ken@oceana.com>
cc: Mark Crispin <MRC@cac.washington.edu>, ietf-imapext@imc.org
Subject: Re: draft-ietf-imapext-thread
Message-ID: <40530000.992443727@euphrates.cyrusoft.com>
In-Reply-To: <20010613155007.B2860@melkebalanse.troll.no>
References: <20010529223543.E26574@melkebalanse.troll.no> <MailManager.991169858.2809.mrc@Tomobiki-Cho.CAC.Washington.EDU> <20010530111859.A26726@melkebalanse.troll.no> <3B26CE21.415319DE@oceana.com> <20010613104824.C2664@melkebalanse.troll.no> <3B276AF6.DCFCBE01@oceana.com> <20010613155007.B2860@melkebalanse.troll.no>
X-Mailer: Mulberry/2.1.0a6 (Linux/x86)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Sender: owner-ietf-imapext@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-imapext/mail-archive/>
List-ID: <ietf-imapext.imc.org>
List-Unsubscribe: <mailto:ietf-imapext-request@imc.org?body=unsubscribe>

--On Wednesday, June 13, 2001 03:50:07 PM +0200 Arnt Gulbrandsen 
<arnt@gulbrandsen.priv.no> wrote:

>> It can't because the unseen search takes place BEFORE the threading.
>
> The answer sounds like putting the cart before the horse... _why_ does
> the search take place before threading?

You need to think about this as two different actions (I've actually 
written some of this up in the ficticious WINDOW draft which I hope to get 
out soon):

There are two types of 'windowing' mode: input windowing and output 
windowing.

Input windowing restricts the set of messages that a command acts upon. In 
the case of the SORT and THREAD commands, this is controlled via the search 
parameters that they take. In the case of the SEARCH command, input 
windoing can be accomplished by using sequence/uid ranges in the search 
criteria. Other commands that accept sequence/uid ranges effectively do 
input windowing too (e.g. FETCH). Also, the LIST command provides a way to 
do input windowing by using * or % wildcards to match ranges of mailbox 
names.

Output windowing means taking the results of a command and 
sub-setting/filtering those in some way. Neither SORT nor THREAD do this - 
you get the full range of inputs in the output. This is different than 
input windowing because it is applied after the command has run and acts on 
the results (and the order of the results in the case of SORT and THREAD). 
The LIST command too could benefit from output windowing that would lket 
clients get ranges of matching mailboxes rather than the whole lot.

SEARCH is somewhat of a special case as input and output windowing are 
effectively the same.

THREAD is also complicated to do output windowing on because of the nature 
of the hierarchical data it outputs.

-- 
Cyrus Daboo