| < draft-cridland-imap-context-04.txt | draft-cridland-imap-context-05.txt > | |||
|---|---|---|---|---|
| Network Working Group D. Cridland | Network Working Group D. Cridland | |||
| Internet-Draft C. King | Internet-Draft C. King | |||
| Intended status: Standards Track Isode Limited | Intended status: Standards Track Isode Limited | |||
| Expires: October 13, 2008 April 11, 2008 | Expires: October 19, 2008 April 17, 2008 | |||
| Contexts for IMAP4 | Contexts for IMAP4 | |||
| draft-cridland-imap-context-04 | draft-cridland-imap-context-05 | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
| applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
| have been or will be disclosed, and any of which he or she becomes | have been or will be disclosed, and any of which he or she becomes | |||
| aware will be disclosed, in accordance with Section 6 of BCP 79. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| skipping to change at page 1, line 34 ¶ | skipping to change at page 1, line 34 ¶ | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| This Internet-Draft will expire on October 13, 2008. | This Internet-Draft will expire on October 19, 2008. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2008). | Copyright (C) The IETF Trust (2008). | |||
| Abstract | Abstract | |||
| The IMAP4rev1 protocol has powerful search facilities as part of the | The IMAP4rev1 protocol has powerful search facilities as part of the | |||
| core protocol, but lacks the ability to create live, updated results | core protocol, but lacks the ability to create live, updated results | |||
| which can be easily handled. This memo provides such an extension, | which can be easily handled. This memo provides such an extension, | |||
| skipping to change at page 3, line 25 ¶ | skipping to change at page 3, line 25 ¶ | |||
| not a strict requirement of this specification. | not a strict requirement of this specification. | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [KEYWORDS]. | document are to be interpreted as described in [KEYWORDS]. | |||
| Other capitalised words are typically names of IMAP extensions or | Other capitalised words are typically names of IMAP extensions or | |||
| commands - these are uppercased for clarity only, and are case- | commands - these are uppercased for clarity only, and are case- | |||
| insensitive. | insensitive. | |||
| [[ Editorial comments are like this. XML2RFC working source is held | ||||
| at http://svn.dave.cridland.net/svn/ietf-drafts/ | ||||
| draft-cridland-imap-context.xml ]] | ||||
| 2. Introduction | 2. Introduction | |||
| Although the basic SEARCH command defined in [IMAP], and as enhanced | Although the basic SEARCH command defined in [IMAP], and as enhanced | |||
| by [ESEARCH], is relatively compact in its representation, this | by [ESEARCH], is relatively compact in its representation, this | |||
| reduction saves only a certain amount of data, and huge mailboxes | reduction saves only a certain amount of data, and huge mailboxes | |||
| might overwhelm the storage available for results on even relatively | might overwhelm the storage available for results on even relatively | |||
| high-end desktop machines. | high-end desktop machines. | |||
| The SORT command, defined in [SORT] provides useful features, but is | The SORT command, defined in [SORT] provides useful features, but is | |||
| hard to use effectively on changing mailboxes over low-bandwidth | hard to use effectively on changing mailboxes over low-bandwidth | |||
| skipping to change at page 9, line 26 ¶ | skipping to change at page 9, line 26 ¶ | |||
| S: * 23762 FETCH (FLAGS (\Deleted \Seen)) | S: * 23762 FETCH (FLAGS (\Deleted \Seen)) | |||
| S: * 23763 FETCH (FLAGS ($Junk \Seen)) | S: * 23763 FETCH (FLAGS ($Junk \Seen)) | |||
| S: * ESEARCH (TAG "B01") UID ADDTO (0 32768:32769) | S: * ESEARCH (TAG "B01") UID ADDTO (0 32768:32769) | |||
| Note that this example assumes messages 23762 and 23763 with UIDs | Note that this example assumes messages 23762 and 23763 with UIDs | |||
| 32768 and 32769 respectively previously had neither \Deleted nor | 32768 and 32769 respectively previously had neither \Deleted nor | |||
| $Junk set. Also note that only the ADDTO is included, and not the | $Junk set. Also note that only the ADDTO is included, and not the | |||
| (now changed) COUNT. | (now changed) COUNT. | |||
| If the searching command "C01" initially generated a result list of | If the searching command "C01" initially generated a result list of | |||
| 4:5, then the following three responses are equivalent, and yield a | 2734:2735, then the following three responses are equivalent, and | |||
| result list of 1:5: | yield a result list of 2731:2735: | |||
| [...] | [...] | |||
| S: * ESEARCH (TAG "C01") UID ADDTO (1 3 1 2 1 1) | S: * ESEARCH (TAG "C01") UID ADDTO (1 2733 1 2732 1 2731) | |||
| S: * ESEARCH (TAG "C01") UID ADDTO (1 3) ADDTO (1 1:2) | S: * ESEARCH (TAG "C01") UID ADDTO (1 2733) ADDTO (1 2731:2732) | |||
| S: * ESEARCH (TAG "C01") UID ADDTO (1 1:3) | S: * ESEARCH (TAG "C01") UID ADDTO (1 2731:2733) | |||
| The last is the preferred representation. | The last is the preferred representation. | |||
| 4.3.4. REMOVEFROM Return Data Item | 4.3.4. REMOVEFROM Return Data Item | |||
| The REMOVEFROM return data item contains, as payload, a list | The REMOVEFROM return data item contains, as payload, a list | |||
| containing pairs of a context position and a set of result updates in | containing pairs of a context position and a set of result updates in | |||
| the requested order to be removed starting from the context position. | the requested order to be removed starting from the context position. | |||
| Where the searching command is a SEARCH or UID SEARCH command, the | Where the searching command is a SEARCH or UID SEARCH command, the | |||
| context position MAY be zero. Each pair is processed in the order | context position MAY be zero. Each pair is processed in the order | |||
| skipping to change at page 12, line 16 ¶ | skipping to change at page 12, line 16 ¶ | |||
| The collected formal syntax. This uses ABNF as defined in [ABNF]. | The collected formal syntax. This uses ABNF as defined in [ABNF]. | |||
| It includes definitions from [IMAP], [IMAP-ABNF], and [SORT]. | It includes definitions from [IMAP], [IMAP-ABNF], and [SORT]. | |||
| capability =/ "CONTEXT=SEARCH" / "CONTEXT=SORT" / "ESORT" | capability =/ "CONTEXT=SEARCH" / "CONTEXT=SORT" / "ESORT" | |||
| ;; <capability> from [IMAP] | ;; <capability> from [IMAP] | |||
| command-select =/ "CANCELUPDATE" 1*(SP quoted) | command-select =/ "CANCELUPDATE" 1*(SP quoted) | |||
| ;; <command-select> from [IMAP] | ;; <command-select> from [IMAP] | |||
| context-position = context-position | context-position = number | |||
| ;; Context position may be 0 for SEARCH result additions. | ;; Context position may be 0 for SEARCH result additions. | |||
| ;; <number> from [IMAP] | ;; <number> from [IMAP] | |||
| modifier-context = "CONTEXT" | modifier-context = "CONTEXT" | |||
| modifier-partial = "PARTIAL" SP seq-range | modifier-partial = "PARTIAL" SP seq-range | |||
| ;; <seq-range> from [IMAP] | ;; <seq-range> from [IMAP] | |||
| modifier-update = "UPDATE" | modifier-update = "UPDATE" | |||
| End of changes. 7 change blocks. | ||||
| 13 lines changed or deleted | 9 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||