On Do, 2011-07-21 at 00:55 +0200, Lukas Zeller wrote:
On 20.07.2011, at 18:10, Patrick Ohly wrote:
> I don't think that exists, so my current approach is to have an incoming
> script which ensures that the PHOTO_VALUE is never empty (sets "binary"
> if unset) and an outgoing script which strips it again (to emulate
> current behavior).
I'd agree this is the way to go.
> It's not working 100% correctly because for field
> lists populated with PARSETEXTWITHPROFILE() the incoming script is not
> executed.
Maybe we should add an option to PARSETEXTWITHPROFILE() and
MAKETEXTWITHPROFILE() to have the scripts called?
Turned out SyncEvolution already has the possibility to run scripts
before writing into local storage and after reading from it - exactly
what I need. So now this works in all case for Evolution.
Other backends still need to be adapted to call the same vCard
manipulation scripts.
> Am I on the right track or should I simply ignore the problem?
In fact, ignore is what I did so far :-( I've seen the possibility for
wrong merges as you do, but never encountered them in the field as a
problem so far.
I guess I am just too paranoid ;-}
Now there is only one other problem with PHOTO uris. They get encoded as
binary data:
PHOTO;VALUE=uri:http://example.com/photo.jpg
=>
PHOTO;ENCODING=B;VALUE=uri:aHR0cDovL2V4YW1wbGUuY29tL3Bob3RvLmpwZw==
Is that because PHOTO is defined as "blob"?
Would it make sense to be selective in the encoder for "blob" and only
use binary encoding if the content contains non-printable characters?
--
Best Regards, Patrick Ohly
The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.