[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Annotate




On Mon Nov 8 15:17:11 2004, Cyrus Daboo wrote:
--On Monday, November 8, 2004 14:54:19 EST +0000 Alexey Melnikov <Alexey.Melnikov@xxxxxxxxx> wrote:
I'd personally suggest that if the server supports read-write
annotations, it MUST support creation of arbitrary, non-operational
attributes.
Is a server that only supports preconfigured namespaces an active danger
to interoperability? If not, then I think "MUST" is inappropriate.
Unfortunately, there is no way to distinguish a read-write ANNOTATE
server that supports reconfigured namespaces from a full read-write
server. So yes, this might be a problem. At least it makes writing client
more difficult.
I think servers SHOULD allow clients to create and use arbitrary annotation entries be they in the vendor namespace or elsewhere (the later being e.g. new standard annotations that have been defined since the server was deployed). However, as with everything in IMAP, the client MUST be prepared to handle the server saying NO.

So I think what we say is: 'servers SHOULD allow creation and use of arbitrary annotation entries in the vendor namespace or elsewhere, but client MUST handle the case where a server prevents that and responds with a NO response', or something to that effect.

I'll certainly agree, of course, that any STORE to annotation may result in a NO, and of course, a client has to handle this.


To my mind, not allowing arbitrary attributes ranks at near the same level as not having persistent UIDs for a mailbox. It's something a client has to cope with, but shouldn't ever have to experience in the field. I'll concede that even this makes a MUST too strong, but perhaps a SHOULD with a note?

Philip used the phrase "active danger to interoperability" - a server which does not support storage of arbitrary attributes against a message in a mailbox for which the client has the rights required isn't actively endangering interoperability because, of course, it's acting so close to a server which doesn't support ANNOTATE at all.

What it is doing is missing out on a golden opportunity to provide a method for new features - such as, maybe, a resent-to attribute - to be created by one client, used by another, and standardized quickly and rapidly based on real operational experience. That's hurting interoperability badly, in my opinion.

As well as that, it's losing the ability to transfer mailboxes from one IMAP server to another without losing potentially highly valuable metadata, especially in the case where multiple clients are used.

If persistent UIDs aren't available, then the message store is badly designed for use with IMAP. If arbitrary annotations aren't supported, then the message store is badly designed for use with ANNOTATE.

Dave.