Tuesday, September 22, 2009

How SyncML Clients handle line breaks

During the development of SyncML .NET, I tested with SyncML.NET for Open Contacts, Funambol Client for MS Outlook, and Funambol Client for Mozilla Thunderbird, occasionally with some Web base address book programs.

In an address book program, generally there's a notes field which could store multiple lines. The street field may or may not support multiple lines, while Open Contacts and Outlook support.

Test 1:
1. In OC, a street field has multiple lines. When sending the field to Funambol server, I could see the Base64 encoded SIF-C data preserved the line breaks.
2. Sync the data to MS Outlook with the Funambol client, the line breaks in Outlook became spaces.
3. Replacing OC data with the Server data showed that the line breaks were converted to spaces, thus the street filed in OC had only one line.

Test 2:
1. In Outlook, the street field has multiple lines. Sync the data to the server. The data encapsulated in vCard did has proper line breaks coded as "=0D=0A"
2. Sync the data from the server to OC, the street field in OC had multiple lines of text, but with an extra heading space on each line.
3. Sync the data from the server to Thunderbird, the street field become single line, and the line breaks were replaced with commas and spaces.

Test 3:
1. In Outlook, the street field has multiple lines. Sync the data to the server.
2. Replace the data of Outlook with data from the server, the street field in Outlook had multiple lines of text, but with an extra heading space on each line.

Test 4:
1. In OC, the street field has multiple lines. Sync the data to the server.
2. Replace the data of OC with data from the server, the street field in OC had single line.

Apparently, the vCard store and the Sifc store of Funambol server v8.0 have some bugs or features when handling multiple lines of the street field.

No comments: