Synthesis iPhone SyncML Client

View: New views
3 Messages — Rating Filter:   Alert me  

Synthesis iPhone SyncML Client

by Stefan Knöß :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi there,

as the iPhone 3G was released I started to experiment with Horde 3.2.1,
Turba 2.2.1, a LDAP address server and the brand new Synthesis iPhone
SyncML client (1.0.1). Everything ran astonishingly smooth, more or less
out of the box (some tuning of the fields to have a good match for LDAP,
Turba and SyncML was necessary though). Synchronizing and editing of the
address book stored in a ldap backend was working perfectly fine.

But the amazing setup suddenly broke down after the latest update of the
Synthesis iPhone Client (1.0.4). After some discussion with Lukas Zeller
from Synthesis the picture got clear. The client 1.0.4 switched to
preferred vCard v3.0 that the horde SyncML server announces to support.
But the datastore section of the server_*.wbxml looks like this:

<DataStore>
<SourceRef>contacts</SourceRef>
<Rx-Pref>
* <CTType>text/**x-**vcard</CTType>*
<VerCT>3.0</VerCT>
</Rx-Pref>
<Rx>
<CTType>text/x-vcard</CTType>
<VerCT>2.1</VerCT>
</Rx>
<Tx-Pref>
* <CTType>text/**x-**vcard</CTType>*
<VerCT>3.0</VerCT>
</Tx-Pref>
<Tx>
<CTType>text/x-vcard</CTType>
<VerCT>2.1</VerCT>
</Tx>
<SyncCap>
<SyncType>1</SyncType>
<SyncType>2</SyncType>
<SyncType>3</SyncType>
<SyncType>4</SyncType>
<SyncType>5</SyncType>
<SyncType>6</SyncType>
</DataStore>

The <CTType>text/x-vcard</CTType> section for vCard version 3.0 seems to
be wrong. Could it be the type should read "text/vcard" and not
"text/x-vcard"? Please correct me if I am wrong.
The synthesis client simply rejects all entries from now. I located the
responsible line in horde3/lib/SyncML/XMLoutput.php and changed it from

$this->_writeDataStore('contacts', 'text/x-vcard', '3.0', $devinfoutput,
array('text/x-vcard' => '2.1'));

into

$this->_writeDataStore('contacts', 'text/vcard', '3.0', $devinfoutput,
array('text/x-vcard' => '2.1'));

Suddenly, everything seemed to be fine again. Thanks to vCard 3.0 as the
new communication protocol some more fields even were synchronised.
But then I detected a new problem. Most of the address fields are now
truncated and look like this in the data.txt protocol:

output converted for client (text/vcard):
BEGIN:VCARD
VERSION:3.0
NICKNAME:
EMAIL;TYPE=HOME:
EMAIL;TYPE=WORK:email@...
URL;TYPE=HOME:
TEL;TYPE=HOME:+491234512345
TEL;TYPE=WORK:+491234512345
TEL;TYPE=WORK:+491234512345
TEL;TYPE=CELL:
TITLE:Teamleader
URL;TYPE=WORK:http://www.web.com/
BDAY:
TEL;TYPE=HOME:
X-SYNCJE-ANNIVERSARY:
NOTE:
TEL;TYPE=PAGER:
X-WV-ID:
N:Lastname;Surname;;;
FN:Surname Lastname
ORG:TRW Automotive GmbH;
ADR;TYPE=HOME:;;StrasseStrasseStrasse_StrasseStrasseStrasse;Schorndorf;Bade
n-Württemberg;73614;Deutschland
ADR;TYPE=WORK:;;IndustriestraÃ<9F>e
20;Alfdorf;Baden-Württemberg;73553;Deutschland
BODY:
END:VCARD

If the ADR;TYPE=HOME or ADR;TYPE=WORK field exceeds a certain length,
not entered linefeeds and spaces are inserted into the address
structure. As I mentioned before, everything was fine with vCard 2.1.
What am I doing wrong? Is there a way to force Horde to communicate in
2.1 as a workaround? I am not familar with PHP so I have no idea how to
debug that issue.
The problem of the iPhone and the software distribution by the AppStore
simply is the missing possibility of a downgrade. So I am stuck with a
"better SyncML client", not working with Horde anymore ... :-(

I appreciate every comment.

Best regards
Stefan


--
sync mailing list - Join the hunt: http://horde.org/bounties/#sync
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: sync-unsubscribe@...

Re: Synthesis iPhone SyncML Client

by Jan Schneider :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Zitat von Stefan Knöß <stefan@...>:

> Hi there,
>
> as the iPhone 3G was released I started to experiment with Horde  
> 3.2.1, Turba 2.2.1, a LDAP address server and the brand new  
> Synthesis iPhone SyncML client (1.0.1). Everything ran astonishingly  
> smooth, more or less out of the box (some tuning of the fields to  
> have a good match for LDAP, Turba and SyncML was necessary though).  
> Synchronizing and editing of the address book stored in a ldap  
> backend was working perfectly fine.
>
> But the amazing setup suddenly broke down after the latest update of  
> the Synthesis iPhone Client (1.0.4). After some discussion with  
> Lukas Zeller from Synthesis the picture got clear. The client 1.0.4  
> switched to preferred vCard v3.0 that the horde SyncML server  
> announces to support. But the datastore section of the  
> server_*.wbxml looks like this:
>
> <DataStore>
> <SourceRef>contacts</SourceRef>
> <Rx-Pref>
> * <CTType>text/**x-**vcard</CTType>*
> <VerCT>3.0</VerCT>
> </Rx-Pref>
> <Rx>
> <CTType>text/x-vcard</CTType>
> <VerCT>2.1</VerCT>
> </Rx>
> <Tx-Pref>
> * <CTType>text/**x-**vcard</CTType>*
> <VerCT>3.0</VerCT>
> </Tx-Pref>
> <Tx>
> <CTType>text/x-vcard</CTType>
> <VerCT>2.1</VerCT>
> </Tx>
> <SyncCap>
> <SyncType>1</SyncType>
> <SyncType>2</SyncType>
> <SyncType>3</SyncType>
> <SyncType>4</SyncType>
> <SyncType>5</SyncType>
> <SyncType>6</SyncType>
> </DataStore>
>
> The <CTType>text/x-vcard</CTType> section for vCard version 3.0  
> seems to be wrong. Could it be the type should read "text/vcard" and  
> not "text/x-vcard"? Please correct me if I am wrong.

This has been fixed already.

> Suddenly, everything seemed to be fine again. Thanks to vCard 3.0 as  
> the new communication protocol some more fields even were  
> synchronised.
> But then I detected a new problem. Most of the address fields are  
> now truncated and look like this in the data.txt protocol:
>
> output converted for client (text/vcard):
> BEGIN:VCARD
> VERSION:3.0
> NICKNAME:
> EMAIL;TYPE=HOME:
> EMAIL;TYPE=WORK:email@...
> URL;TYPE=HOME:
> TEL;TYPE=HOME:+491234512345
> TEL;TYPE=WORK:+491234512345
> TEL;TYPE=WORK:+491234512345
> TEL;TYPE=CELL:
> TITLE:Teamleader
> URL;TYPE=WORK:http://www.web.com/
> BDAY:
> TEL;TYPE=HOME:
> X-SYNCJE-ANNIVERSARY:
> NOTE:
> TEL;TYPE=PAGER:
> X-WV-ID:
> N:Lastname;Surname;;;
> FN:Surname Lastname
> ORG:TRW Automotive GmbH;
> ADR;TYPE=HOME:;;StrasseStrasseStrasse_StrasseStrasseStrasse;Schorndorf;Bade
> n-Württemberg;73614;Deutschland
> ADR;TYPE=WORK:;;IndustriestraÃ<9F>e
> 20;Alfdorf;Baden-Württemberg;73553;Deutschland
> BODY:
> END:VCARD
>
> If the ADR;TYPE=HOME or ADR;TYPE=WORK field exceeds a certain  
> length, not entered linefeeds and spaces are inserted into the  
> address structure. As I mentioned before, everything was fine with  
> vCard 2.1. What am I doing wrong? Is there a way to force Horde to  
> communicate in 2.1 as a workaround? I am not familar with PHP so I  
> have no idea how to debug that issue.

This is called line folding and is perfectly valid.

> The problem of the iPhone and the software distribution by the  
> AppStore simply is the missing possibility of a downgrade. So I am  
> stuck with a "better SyncML client", not working with Horde anymore  
> ... :-(
>
> I appreciate every comment.

Try recent snapshots.

Jan.

--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/

--
sync mailing list - Join the hunt: http://horde.org/bounties/#sync
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: sync-unsubscribe@...

Re: Synthesis iPhone SyncML Client

by Stefan Knöß :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Jan,

thank you for your fast answer and that information. I will try with a
recent snapshot within the next days.
Parallel, Lukas Zeller from Synthesis has offered to check their vCard
3.0 implementation in their iPhone SyncML client. He received my log
output from the stable horde (3.2.1).

Best regards
  Stefan

Jan Schneider schrieb:

> Zitat von Stefan Knöß <stefan@...>:
>
>> Hi there,
>>
>> as the iPhone 3G was released I started to experiment with Horde
>> 3.2.1, Turba 2.2.1, a LDAP address server and the brand new Synthesis
>> iPhone SyncML client (1.0.1). Everything ran astonishingly smooth,
>> more or less out of the box (some tuning of the fields to have a good
>> match for LDAP, Turba and SyncML was necessary though). Synchronizing
>> and editing of the address book stored in a ldap backend was working
>> perfectly fine.
>>
>> But the amazing setup suddenly broke down after the latest update of
>> the Synthesis iPhone Client (1.0.4). After some discussion with Lukas
>> Zeller from Synthesis the picture got clear. The client 1.0.4
>> switched to preferred vCard v3.0 that the horde SyncML server
>> announces to support. But the datastore section of the server_*.wbxml
>> looks like this:
>>
>> <DataStore>
>> <SourceRef>contacts</SourceRef>
>> <Rx-Pref>
>> * <CTType>text/**x-**vcard</CTType>*
>> <VerCT>3.0</VerCT>
>> </Rx-Pref>
>> <Rx>
>> <CTType>text/x-vcard</CTType>
>> <VerCT>2.1</VerCT>
>> </Rx>
>> <Tx-Pref>
>> * <CTType>text/**x-**vcard</CTType>*
>> <VerCT>3.0</VerCT>
>> </Tx-Pref>
>> <Tx>
>> <CTType>text/x-vcard</CTType>
>> <VerCT>2.1</VerCT>
>> </Tx>
>> <SyncCap>
>> <SyncType>1</SyncType>
>> <SyncType>2</SyncType>
>> <SyncType>3</SyncType>
>> <SyncType>4</SyncType>
>> <SyncType>5</SyncType>
>> <SyncType>6</SyncType>
>> </DataStore>
>>
>> The <CTType>text/x-vcard</CTType> section for vCard version 3.0 seems
>> to be wrong. Could it be the type should read "text/vcard" and not
>> "text/x-vcard"? Please correct me if I am wrong.
>
> This has been fixed already.
>
>> Suddenly, everything seemed to be fine again. Thanks to vCard 3.0 as
>> the new communication protocol some more fields even were synchronised.
>> But then I detected a new problem. Most of the address fields are now
>> truncated and look like this in the data.txt protocol:
>>
>> output converted for client (text/vcard):
>> BEGIN:VCARD
>> VERSION:3.0
>> NICKNAME:
>> EMAIL;TYPE=HOME:
>> EMAIL;TYPE=WORK:email@...
>> URL;TYPE=HOME:
>> TEL;TYPE=HOME:+491234512345
>> TEL;TYPE=WORK:+491234512345
>> TEL;TYPE=WORK:+491234512345
>> TEL;TYPE=CELL:
>> TITLE:Teamleader
>> URL;TYPE=WORK:http://www.web.com/
>> BDAY:
>> TEL;TYPE=HOME:
>> X-SYNCJE-ANNIVERSARY:
>> NOTE:
>> TEL;TYPE=PAGER:
>> X-WV-ID:
>> N:Lastname;Surname;;;
>> FN:Surname Lastname
>> ORG:TRW Automotive GmbH;
>> ADR;TYPE=HOME:;;StrasseStrasseStrasse_StrasseStrasseStrasse;Schorndorf;Bade
>>
>> n-Württemberg;73614;Deutschland
>> ADR;TYPE=WORK:;;IndustriestraÃ<9F>e
>> 20;Alfdorf;Baden-Württemberg;73553;Deutschland
>> BODY:
>> END:VCARD
>>
>> If the ADR;TYPE=HOME or ADR;TYPE=WORK field exceeds a certain length,
>> not entered linefeeds and spaces are inserted into the address
>> structure. As I mentioned before, everything was fine with vCard 2.1.
>> What am I doing wrong? Is there a way to force Horde to communicate
>> in 2.1 as a workaround? I am not familar with PHP so I have no idea
>> how to debug that issue.
>
> This is called line folding and is perfectly valid.
>
>> The problem of the iPhone and the software distribution by the
>> AppStore simply is the missing possibility of a downgrade. So I am
>> stuck with a "better SyncML client", not working with Horde anymore
>> ... :-(
>>
>> I appreciate every comment.
>
> Try recent snapshots.
>
> Jan.
>
--
sync mailing list - Join the hunt: http://horde.org/bounties/#sync
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: sync-unsubscribe@...
LightInTheBox - Buy quality products at wholesale price!