Arnt,
I think everybody (including John) agrees that _FUNCTIONALLY_ the current IMAP provides what is required for a client to get the 'counters' information - whether it is by using FETCH or SEARCH.
The main point in John proposal is not about functionality - it is about performance (and possibly scalability).
It allow the counters information (which is required very early in the session) to be available to the client with minimal round-trips and it allows the server to optimize for this task - if it selects to do so.
Let's assume a mailbox which has (only) 3 types of messages (message-contexts).
According to your example, I believe the client can get the counters information this way (12 round trips):
tag SEARCH UNSEEN HEADER Importance high HEADER Message-Context voice-message
tag SEARCH SEEN HEADER Importance high HEADER Message-Context voice-message
tag SEARCH UNSEEN HEADER Importance low HEADER Message-Context voice-message
tag SEARCH SEEN HEADER Importance low HEADER Message-Context voice-message
tag SEARCH UNSEEN HEADER Importance high HEADER Message-Context text-message
tag SEARCH SEEN HEADER Importance high HEADER Message-Context text-message
tag SEARCH UNSEEN HEADER Importance low HEADER Message-Context text-message
tag SEARCH SEEN HEADER Importance low HEADER Message-Context text-message
tag SEARCH UNSEEN HEADER Importance high HEADER Message-Context fax-message
tag SEARCH SEEN HEADER Importance high HEADER Message-Context fax-message
tag SEARCH UNSEEN HEADER Importance low HEADER Message-Context fax-message
tag SEARCH SEEN HEADER Importance low HEADER Message-Context fax-message
Can you suggest a better/quicker way to get this information?
Maybe there is an option to skip the last group of 4 by computing it somehow but anyway - it is obvious that with more "Message-Contexts" this scenario gets longer and longer - which does not seem to be a good way to achieve scalability AND short response time - which is the original requirement!
And so, John proposal suggests to get the required information in ONE command (STATUS).
This provides for short response time, and also allows for servers that want to optimize for this case to do so in whichever way they choose to do so.
Note that STATUS has always been designed to provide this "type" of information (message counters) - just not in the detailed manner it is now required when clients need to get the counters "per message-context". So, an enhancement to STATUS seems to me a logical way to achieve this.
Ari Erev
-----Original Message-----
From: Arnt Gulbrandsen [mailto:arnt <at> gulbrandsen.priv.no]
Sent: Wednesday, May 01, 2002 10:43 PM
To: Neystadt, John
Cc: 'eburger <at> snowshore.com'; ietf-imapext <at> imc.org; vpim <at> lists.neystadt.org
Subject: Re: [VPIM] Re: I-D ACTION:draft-neystadt-imap-status-counters-00. txt
"Neystadt, John" <John <at> comverse.com>
> My extension does not mandate VPIM clients not to work with servers that
> does not implement it. Section 8.2 of the draft says:
...
Why do you specify using FETCH? SEARCH seems better:
a SELECT mailbox
b SEARCH UNSEEN
c SEARCH HEADER Importance: high
d SEARCH HEADER Message-Context: blah
--Arnt