[Kolab-devel] mailto URIs in KEP#17 and libkolabxml
Christian Mollekopf
mollekopf at kolabsys.com
Thu Mar 8 07:04:41 CET 2012
Hey,
In the new format specifications we have mailto: uris in a couple of
places, and I'm not quite sure how to handle them.
One example is the 1.4.3.1.21 Member property, which lacks an element
or parameter for the name, but requires a mailto: uri. It is possible to
embed the name inside the mailto uri in the style of "mailto:John
Doe<email_1 at email.com>",
but according to the mailto: RFC(http://tools.ietf.org/html/rfc6068)
one also needs to do encoding afterwards, which results in
"mailto:John%20Doe%3Cemail%5F1%40email%2Ecom%3E".
Now I can of course do that (it's already implemented), but the
exercise seems a bit futile. First, I don't think we need the encoding
since the mailto: uri is inside the kolab xml, where those characters
aren't reserved.
Second, it might make sense to add a (potentially non-interoperable)
x-name parameter, because embedding it into the mailto: uri seems a bit
like a hack.
Another question is how to expose this in libkolabxml. I opted for
handling the mailto encoding transparently, so you set and get email and
name, not even knowing that there is a mailto uri under the hood.
Letting the client do the mailto: encoding seems to fragile if we rely
on mailto: embedded names.
So what do you think? Should we remove the encoding, but still use the
name embedding? Or add an x-name parameter?
If noone objects I'll probably drop the encoding but leave the name
embedding, which simplifies the code, but leaves us with a non-RFC
compliant mailto: uri (AFAIU).
In other places where mailto: uris are required, libkolabxml doesn't do
anything at all atm. (the string is just passed on) and expects the
client to pass in a valid mailto: uri. The situation is less complex,
because we don't rely on uri embedded names (because xcal has a cn
parameter). I suppose I can also add automatic mailto: handling there,
so the clients only have to specify the email address.
In case you wonder why we're using mailto: in the first place, that's
because the xcard/xcal specifications would also allow for other uris,
such as urn: pointing to a xcard contact. We're not using this
possibility right now, though.
Any comments welcome =)
Cheers,
Christian
--
Christian Mollekopf
Software Engineer
Kolab Systems AG
Zürich, Switzerland
e: mollekopf at kolabsys.com
w: http://kolabsys.com
pgp: EA657400 Christian Mollekopf
More information about the devel
mailing list