[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.