JAMES-1671 Annotate Messages

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ae2af749
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ae2af749
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ae2af749

Branch: refs/heads/master
Commit: ae2af749e0f49b374ff2f4e75b9a332901da586b
Parents: 902c683
Author: Antoine Duprat <antdup...@gmail.com>
Authored: Wed Jan 27 14:45:29 2016 +0100
Committer: Antoine Duprat <antdup...@gmail.com>
Committed: Thu Feb 4 10:05:22 2016 +0100

----------------------------------------------------------------------
 .../protocols/jmap/doc/specs/spec/message.mdwn  | 45 ++++++++++++++++++++
 1 file changed, 45 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/ae2af749/server/protocols/jmap/doc/specs/spec/message.mdwn
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/doc/specs/spec/message.mdwn 
b/server/protocols/jmap/doc/specs/spec/message.mdwn
index 58f0edc..a0b384a 100644
--- a/server/protocols/jmap/doc/specs/spec/message.mdwn
+++ b/server/protocols/jmap/doc/specs/spec/message.mdwn
@@ -7,11 +7,20 @@ JMAP completely hides the complexities of MIME. All special 
encodings of either
 A **Message** object has the following properties:
 
 - **id**: `String`
+  <aside class="notice">
+  Work in progress. Unique message id is generated by concatenate the 
username, the mailboxId and the uid.
+  </aside>
   The id of the message.
 - **blobId**: `String`
+  <aside class="warning">
+  Not implemented
+  </aside>
   The id representing the raw RFC2822 message. This may be used to download
   the original message or to attach it directly to another message etc.
 - **threadId**: `String`
+  <aside class="warning">
+  Not implemented
+  </aside>
   The id of the thread to which this message belongs.
 - **mailboxIds**: `String[]` (Mutable)
   The ids of the mailboxes the message is in. A message MUST belong to one or 
more mailboxes at all times (until it is deleted).
@@ -26,6 +35,9 @@ A **Message** object has the following properties:
 - **isDraft**: `Boolean` (Mutable by the server only)
   Is the message a draft? This corresponds to the `\Draft` system flag in IMAP.
 - **hasAttachment**: `Boolean`
+  <aside class="warning">
+  Not implemented
+  </aside>
   Does the message have any attachments?
 - **headers**: `String[String]`
   A map of header name to (decoded) header value for all headers in the 
message. For headers that occur multiple times (e.g. `Received`), the values 
are concatenated with a single new line (`\n`) character in between each one.
@@ -50,10 +62,19 @@ A **Message** object has the following properties:
 - **textBody**: `String|null`
   The plain text body part for the message. If there is only an HTML version 
of the body, a plain text version will be generated from this.
 - **htmlBody**: `String|null`
+  <aside class="warning">
+  Not implemented
+  </aside>
   The HTML body part for the message if present. If there is only a plain text 
version of the body, an HTML version will be generated from this. Any scripting 
content, or references to external plugins, MUST be stripped from the HTML by 
the server.
 - **attachments**: `Attachment[]|null`
+  <aside class="warning">
+  Not implemented
+  </aside>
   An array of attachment objects (see below) detailing all the attachments to 
the message.
 - **attachedMessages**: `String[Message]|null`
+  <aside class="warning">
+  Not implemented
+  </aside>
   An object mapping attachment id (as found in the `attachments` property) to 
a **Message** object with the following properties, for each RFC2822 message 
attached to this one:
   - headers
   - from
@@ -107,6 +128,9 @@ An **Attachment** object has the following properties:
 Messages can only be fetched explicitly by id. To fetch messages, make a call 
to `getMessages`. It takes the following arguments:
 
 - **accountId**: `String|null`
+  <aside class="warning">
+  Not implemented
+  </aside>
   The id of the account to use for this call. If not given, defaults to the 
primary account.
 - **ids**: `String[]`
   An array of ids for the messages to fetch.
@@ -121,8 +145,14 @@ The `id` property is always returned, regardless of 
whether it is in the list of
 The response to *getMessages* is called *messages*. It has the following 
arguments:
 
 - **accountId**: `String`
+  <aside class="warning">
+  Not implemented
+  </aside>
   The id of the account used for the call.
 - **state**: `String`
+  <aside class="warning">
+  Not implemented
+  </aside>
   A string encoding the current state on the server. This string will change
   if any messages change (that is, a new message arrives, a change is made to 
one of the mutable properties, or a message is deleted). It can be passed to 
*getMessageUpdates* to efficiently get the list of changes from the previous 
state.
 - **list**: `Message[]`
@@ -165,6 +195,9 @@ and response:
 
 
 ### getMessageUpdates
+<aside class="warning">
+Not implemented
+</aside>
 
 If a call to *getMessages* returns with a different *state* string in the 
response to a previous call, the state of the messages has changed on the 
server. For example, a new message may have been delivered, or an existing 
message may have changed mailboxes.
 
@@ -211,6 +244,9 @@ The following errors may be returned instead of the 
*messageUpdates* response:
 `cannotCalculateChanges`: Returned if the server cannot calculate the changes 
from the state string given by the client. Usually due to the client's state 
being too old, or the server being unable to produce an update to an 
intermediate state when there are too many updates. The client MUST invalidate 
its Message cache. The error object MUST also include a `newState: String` 
property with the current state for the type.
 
 ### setMessages
+<aside class="warning">
+Not implemented
+</aside>
 
 The *setMessages* method encompasses:
 
@@ -351,6 +387,9 @@ The following errors may be returned instead of the 
*messagesSet* response:
 `stateMismatch`: Returned if an *ifInState* argument was supplied and it does 
not match the current state.
 
 ### importMessages
+<aside class="warning">
+Not implemented
+</aside>
 
 The *importMessages* method adds RFC2822 messages to a user's set of messages. 
The messages must first be uploaded as a file using the standard upload 
mechanism. It takes the following arguments:
 
@@ -398,6 +437,9 @@ The following errors may be returned instead of the 
*messageImported* response:
 `maxQuotaReached`: Returned if the user has reached their mail quota so the 
message cannot be imported.
 
 ### copyMessages
+<aside class="warning">
+Not implemented
+</aside>
 
 The only way to move messages **between** two different accounts is to copy 
them using the *copyMessages* method, then once the copy has succeeded, delete 
the original. It takes the following arguments:
 
@@ -459,6 +501,9 @@ The following errors may be returned instead of the 
*messagesCopied* response:
 `invalidArguments`: Returned if one of the arguments is of the wrong type, or 
otherwise invalid. A `description` property MAY be present on the response 
object to help debug with an explanation of what the problem was.
 
 ### reportMessages
+<aside class="warning">
+Not implemented
+</aside>
 
 Messages can be reported as spam or non-spam to help train the user's spam 
filter. This MUST NOT affect the state of the Message objects (it DOES NOT move 
a message into or out of the Spam mailbox).
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to