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

Re: Annotate




On Sat Nov 6 12:55:43 2004, Alexey Melnikov wrote:
Timo Sirainen wrote:
On 1.11.2004, at 20:09, Cyrus Daboo wrote:
I thought clients weren't allowed to make up their own annotation entry
names? Or what does this mean?


If a client wants to create a 'boolean' (on/off) type property associated with a message it has two options: use an IMAP keyword (either private or registered), or create a vendor (or new standard) annotation entry. The former gives no control over private/shared state, whereas the latter does. So if there is a specific need for such a property that does need explicit private/shared behavior then the client can use annotations in lieu of IMAP keywords.


I thought vendor namespaces meant that servers could create them, not clients. Maybe put at the beginning of 2.2.1 something like:

Vendor namespaces can be created by either clients or servers.

Yes.


Servers MUST(?) support new namespaces created by clients.

I think this should be "SHOULD". We want to encourage ANNOTATE servers. Implementing a read-only ANNOTATE is much easier.



Yes, but the need for clients to store vendor-private stuff in a nice, neat, semi-interoperable manner really shouldn't be underestimated. Dropping this to a SHOULD is perhaps too far.

I'd personally suggest that if the server supports read-write annotations, it MUST support creation of arbitrary, non-operational attributes.

The alternative is to encourage clients to avoid them entirely, either via keywords, which, having no namespace, have the potential to clash, or via messages containing client-specific data within. Both are effectively a poor emulation of ANNOTATE.

I said "semi-interoperable" earlier, and this is such an awful term it probably needs some explanation. What I mean is that:

a) The various client-specific annotations don't actually interfere with each other. You're not faced with keywords that your client might intend using for something else, you're not faced with mailboxes containing "special" messages.
b) It's a lot easier to switch a client from using a client-specific usage of ANNOTATE into a standard usage of ANNOTATE, than to switch a client from using Something Weird to ANNOTATE.
c) Chances are that several clients will spontaneously interoperate by deliberately using each other's client-specific extensions. (They do this with their local configurations already, remember - this would be a lot easier.)


Dave.