Tuesday, February 9, 2010

The following services were tested, and the servers failed for different reasons

The following services were tested, and the servers failed for different reasons.


https://m.google.com/syncml not entirely working.

contact: contacts

具体方法是:

  1. 打开手机上的 ActiveSync
  2. 选择“Setup your device to sync with it”,或者选择菜单中的添加服务器。
  3. 输 入服务器地址:m.google.com
  4. 选中“The Server requires an encrypted (SSL) connection”
  5. 点击下一步
  6. 输入用户名和密码:
    用户名为Google的帐户名称(完整邮件地址)
    密码为登录Google Account的密码
    保留域为空
  7. 如果希 望使用自动同步功能,请选择保存密码
  8. 点击下一步
  9. 在编辑服务器选项中,只选择联系人和日程表
  10. 点 击完成
  11. 点击同步,完成首次同步过程

这样,你手机上的联系人和日程表就分别和 Gmail contact和Google Calendar同步了。优点是,再也不必费力的备份联系人了,因为他永远和你的gmail同步。缺点当然也有,如果你真的使用Exchange Server,那么很遗憾,Windows Mobile只能配置一个ActiveSync帐户,所以你要从中选择一个了。

当 然,Google也支持SyncML协议的同步。如果你使用Symbian系统的手机(S60和UIQ),请从远程同步中配置以下选项:

服 务器地址:https://m.google.com/syncml
(注意,是https)
用户名:Google Account的用户名
密码:Google Account的密码
传输协议:保 留默认值
互联网帐户:<你手机上用于连接互联网的帐户,通常为GPRS数据帐户>
使用传输登录:不选择

这样,手机就可以和Google同步了。

http://www.google.com/support/forum/p/Google+Mobile/thread?tid=47b8656a9ea48125&hl=en

The server did not return status codes for all commands sent by the client. This is regarded as critical error against the SyncML specifications.

Contails


http://sync.contails.com/syncml


The server did not recognize base64 encoded credential, and challenged for md5, however, the meta data did not conform to SyncML standard, without proper namespace of meta. Thus SyncML.NET could not pick up the data of NextNounce.

While the Funambol plug-in for Outlook could tolerate such invalid SyncML meta data and sent back md5 credential, the server dropped the connection right away.

http://syncml.mobiledit.com/sync not recommended

Compelson
usr: wangdaixing/at
contact: pb
When requesting 2-way sync after slown sync, the server always ask for slow sync, and then the server has duplicated records.

And when the server send back the same record, the birthday become 2006-03-24 in vCard, though in the server, the birthday is still 25. Obviously Compelson server has bug in converting birthday in database to vCard.

https://www.synthesis.ch/sync not recommanded


contact: contacts
Manufacturer: Synthesis AG
Model: SySync Server Linux Apache ODBC PRO
Software Version: 3.1.6.8
I had conversations with this company. Need to send a bug report to them later.
Sync Alert only allowed in init package

bug: the server send the same alert of requesting sync twice.

O-Sync


http://sync.o-sync.com

After accepting basic authentication, the server challenges with MD5. However, it seems that O-Sync could only work on slow sync, ignoring other sync types. Probably because of bugs or the service is dedicated to mobile phones.


Soocial

1. Server: sync.soocial.com
2. Username:
3. Password: your Soocial password
4. Port: 80
5. Set to include contacts synchronization
6. Set The Remote Database ./contacts

Not support Refresh from Client or Server. Keep asking from slow sync, probably because of trial user. Also, after the server reply to the client for the credential with status 212, the server still challenge for basic credential after the client send the sync content.

Against Funambol plugin for Outlook, Soocial did not challenge, but return 403 for the sync command. still fail.

Picobeat

Server address: http://sync.picobeat.com
Server id: alpha.picobeat.com (not all phones require this information)
Username and password: your regular picoBeat account username and password (exactly as entered, including upper/lowercase)




Database names

Address book database: contacts
Notes database: notes
To-do/tasks database: tasks
Calendar (events only, see below) database: cal


Basic SyncML exchanges looked OK. However, the vCard data sent from the server did not conform to vCard 2.1 standard: The Adr has the first and the second fields missing. In addition, storing data in CDATA is problematic. If you have something like ]]> in data, there are more troubles.

Saturday, November 14, 2009

How to Refresh Sync from Client

Recently I found that when doing “Refresh from Client” with large volume of data, the Funambol sever will close the connection after the first batch of contacts is sent from the client and the server sends back a status messages. So, only the first batch of contacts is added to the server.

When doing similar operation with Funambol Client plug-in for Outlook, things seem to be all right. Checking the detailed log of the plug-in, I found the sync package is with Replace commands rather than Add commands. This looks strange and inconsistent:
1. When doing “Refresh from Server”, the server send Add commands, and the client will delete local data first before adding records from server.
2. When doing slow sync, the server is working fine with multiple messages of a sync package containing Add commands from client.

I would suspect that the Funambol server might have a bug in dealing with multiple messages of a sync package during the operation of “Refresh from Client”. And the Funambol add-in for Outlook was just made a workaround of using replace commands instead.

The workaround in SyncML.NET is as following:
1. Refresh from Client with an empty dataset, in order to delete all on the server.
2. Slow sync so all local records will be added to the server.

Friday, September 25, 2009

Funambol Mozilla Plugin 0.5 can not sync home address

During testing, I found that Funambol Mozilla Plugin 0.5 can not sync home address, while the one for Outlook is OK.

Bug tracker at https://sourceforge.net/tracker/index.php?func=detail&aid=1803678&group_id=149326&atid=777037

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.

Monday, May 19, 2008

Testing upon Public SyncML Services

During the development of SyncMLDotNet before SyncML Client for Open Contacts v1.0 Beta, I tested the SyncMLDotNet upon a locally installed Funambol server v6.x, and later ScheduleWorld.com which was based on Funambol v5.x.

After SyncML Client for Open Contacts v1.0.1 was released, I thought it would be good see whether the SyncML client can talk well with other public SyncML Services. As expected, my.funambol.com is working quite good. However, testing upon the following SyncML services, disclosed that many of them were quite buggy, not conforming basic requirements of SyncML specifications, or at lease, some of these service were not friendly to workstation based sync clients.

  • sync.zyb.com ( ZYB HTTP SyncML Server v3.8.4)
  • sync.goosync.com (SyncWiseEnterprise v3.0.3 Beta)
  • sync.o-sync.com (not reviewed in returned message)
As Funambol's Outlook Plug-in based on the Funambol's Client API Native C++ is considered as being mature, I used the plug-in to do cross-checking which revealed the same problems.

For more detail, please read the bug report, as Blogger.com could not handle html/xml tags properly.


Summary
While these 3 web services focused on mobile devices, the implementations were buggy to workstation based sync clients. I would guess that mobile devices require less communication overheads and less validations, this was why the programmers of these SyncML servers could not find the bugs.

So, I consider that Funambol is the best implementation of SyncML server in the marketing regarding to conformation to SyncML, reliability and price.

Wednesday, April 30, 2008

Compatibility between SIF-C, MS Outlook and Open Contacts

It is good to maximize the number of fields of contact data between devices. While SIF-C is the medium of exchanging info, the following fields defined in SIF-C were not implemented in "SifcToChangeLogXml.xsl" though it is not difficult to add them:

CallbackTelephoneNumber, CarTelephoneNumber, Categories, Companies, ComputerNetworkName, Importance, Initials, Language, Mileage, OrganizationalIDNumber, Revision, RadioTelephoneNumber, Sensitivity, Subject, TelexNumber, Timezone, Uid, YomiCompanyName, YomiFirstName

The Funambol Plug-in for MS Outlook needs to sync IM Address, and the plug-in add element "IMAddress" to the SIF-C package. Obviously SIF-C allows custom extension. So, "SifcToChangeLogXml.xsl" includes "IMAddress" to map to "Personal/IM" in Open Contacts.

The follow screenshot from testing shows that Open Contacts along with the sync client can handle almost every visual fields of MS Outlook Contacts.

Saturday, April 26, 2008

Compatibility between address book programs for synchronization

Different address book programs have different way of maintaining name fields. For example, MS Outlook, Open Contacts and Plaxo have surname, given name, middle name and full name, while Mozilla Thunderbird maintains only surname, given name and middle name.

In addition, Open Contacts uses the combination of surname, given name , middle name and full name to uniquely identify a contact without standalone local ID, while MS outlook allow replication of such.

Most existing address book programs were designed to store people only. MS Outlook may handle organizational contacts through hacking -- those contacts without surname and given name is considered as organizations. Open Contacts clearly distinguish between people contacts and organizational contacts.