[Kolab-devel] Closing Call: KEP #9
Georg C. F. Greve
greve at kolabsys.com
Fri Sep 2 17:04:48 CEST 2011
On Friday 02 September 2011 09.52:11 Aleksander Machniak wrote:
> While JSON format allows unicode characters in the object, PHP's
> json_encode() encodes non-ascii characters to entities (\uXXXX). So, the
> question is, do we need to "encapsulate" it with base64 here?
FWIW, that is a good question.
The last time we discussed this we gathered that we weren't certain to which
extent we could rely on the JSON encoding to be sufficiently robust. So IIRC we
just slapped on a Base 64 encoding for good measure.
Not sure whether the Horde annotation has gone the same way, but I suspect it
might, because it is not so easy to find out what exactly RFC 5464 is supposed
to support in terms of values.
That said, my ignorance on this particular point was annoying me, so I finally
took the time to dig through the RFCs to find out what we actually CAN store.
The answer is now documented here:
In short: RFC 5257 allows UTF-8, RFC 5464 allows strings or binaries.
So the Base 64 encoding done by both the Z-Push backend and the Horde client
should in fact be unnecessary for a RFC 5464 compliant server (Note: we have
been working against draft 5 in the past, maybe it was necessary there).
In that case I strongly opt for dropping the superfluous Base 64 encoding,
which will also make the annotations more human readable for power admins.
JSON is a good choice overall, and in conversation with Gunnar it seems he is
not adverse to using it for Horde preference storage, as well, all the more so
as KEP 12 will require him to touch that code anyhow.
I'll officially announce the new draft in a moment.
Hopefully we can see that the way it is specified now is good, so we can
hopefully re-issue the closing call next week.
Georg C. F. Greve
Chief Executive Officer
Kolab Systems AG
e: greve at kolabsys.com
t: +41 78 904 43 33
pgp: 86574ACA Georg C. F. Greve
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 308 bytes
Desc: This is a digitally signed message part.
More information about the format