[sync] SyncML files and patches

Anthony Mills amills at gascard.net
Sat Dec 20 12:26:21 PST 2003


The basic design of the SyncML follows:

All class names are prepended with Horde_RPC_syncml_.

Horde_RPC_syncml has two classes SyncHdr and SyncBody.  SyncHdr is a 
called and run with the basic sync information, username, session 
information, etc.  SyncBody is where all the work is done.  SyncBody is 
made up of many command.  Theses are run one after another until the 
Final command.  These command classes reside under syncml_command 
directory. Two commands of note are Alert and Sync.  Alert tells with 
sync method to use like Slow Sync or One way from Server.  The sync 
method classes reside in syncml_sync.  Sync is used to run the replaces, 
adds, deletes, etc.  It uses classes in syncml_command/sync.  The code 
makes heavy use of factories.  We still need a way to get the session. I 
think localName(username), sourceRef, and sessionID can be used as a 
unique key.  We also nee an API for the content(notes, contacts, etc). 
We need a way to get, add, delete, change, compare, and get a list of 
them, but not all of them.  If we make the api generic enough, we can 
use the same sync method code for all the content. I still need to clean 
up the code I sent recently, and I need to go back and document.  I'm 
going to work on documentation next, until we finish the API.  I also 
going to see about getting write access to cvs.  Using patches is 
getting hard.  I made some more changes since my last patch, and they 
are getting bigger than 20k.
Also, if you don't like my layout, or the way I designed the syncml 
server, we can change it.  I just used the design from my Java code.

Let me know what you think,

Anthony



More information about the sync mailing list