james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From adup...@apache.org
Subject [5/6] james-project git commit: JAMES-1671 Annotate Messages
Date Thu, 04 Feb 2016 09:07:25 GMT
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 <antduprat@gmail.com>
Authored: Wed Jan 27 14:45:29 2016 +0100
Committer: Antoine Duprat <antduprat@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message