SyncML tools
BEWARE: software on this page is not maintained. It may be useful to you.
Please do no contact me about features requests.
SyncML is an XML based protocols family, aimed at providing remote
synchronisation of mobile devices.
It's built-in more and more mobile devices, such as mobile phones or PDAs
I wrote a very basic SyncML server in PHP. It's based (right now) on a MySQL
backend, but could easily use other kinds of SQL servers, LDAP servers or even
flat files.
This server has been developped very quickly, and tested only with a P800
phone. I hope to be able to develop it further as time permits. Right now, it
classifies more as a "hack" rather than "software".
Features :
- Synchronize with a P800 (Databook, Calendar, Jotter)
- Slow sync / two way sync decision, based on "Last" sync events "anchors".
- Handles and generates Add, Delete, Replace commands
- Handles vCards, vCalendars, vNotes (who knows what this beast is ??). The
P800 doesn't send the drawings with the Jotter notes.
- Basic authentication support
What lacks :
- SycML compliance ! / field testing
- For some reason, "Add" from server is refused by the phone (500). I have
probably something wrong.
- Transaction oriented processing (so that interrupted sync sessions don't
affect database)
- Better error handling
- MD5 authentication
- WBXML (binary) support, only plain XML now.
- Emails sync. In fact, I don't really see the point here. I have probably far
too many emails for this feature to be useful.
- Content type capabilities enforcing : not sending to the remote device fields
it doesn't support.
- Online editing : data is saved in a database, but no server side editing /
viewing exists (as of now). Note that "online editing" could also be understood
as "groupware tool integration", such as phpGroupware.
- A command line client, so that you can easily synchronize your .vcf files,
for instance.
As of now, you can either download the software and try it on your own server
(you'll need a PHP enabled webserver, and a MySQL server), or try my on-line test
setup. See below.
Server installation
- Untar the archive in a directory on your webserver.
- Create a database on your MySQL server, and create the appropriate tables (by
running sync_tables.sql)
- Edit the config.php file to set the proper MySQL connection infos.
Client configuration
The following is for the P800. Might or not be similar for other clients.
- Open "Remote Sync"
- In the Edit/Preferences menu, enter the full URL to the "sync.php" script on
the server
In order to use my test server, put http://nicolas.bougues.net/syncml/sync.php
- Enter a login and a password (in the Server tab). Leave the Protocol tab
blank.
- Enable any combination of Calendar, Contacts, Jotter. "Server database" shall
be "Calendar", "AddBook", "Notes". Case matters.
- Then "Sync" !
Download
Click here.
Comments / ideas / bugs
You can send me a private e-mail, or use the mailing
list I set up for this purpose at syncml@lists.axialys.net or through
http://lists.axialys.net/cgi-bin/mailman/listinfo/syncml
DISCLAIMER ABOUT THIS SOFTWARE: please note that this software is provided
as-is, without guarantee of any kind. Use at your own risks. Please understand
that this software might cause strange things on your client device,
among which losing all your data is not the most unlikely. Backup everything.
DISCLAIMER ABOUT THE TEST SERVER: as its name implies, it's just for testing.
You should assume that this server is really temporary, that everything is logged and nothing is guaranteed to be kept confidential in the info you exchange with it. You should assume too that this server can send any bogus information to your device, and it may cause problems or data loss.
Last modified: 24 Jan 2005 16:28:37
Copyright (c) 2008 Nicolas Bougues (nicolas@bougues.net)