[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