From: dids <ma...@di...> - 2002-12-16 12:53:21
|
This is great news. Im putting up my kde addressbook program today, which is semi functional. I have a memory leak ( I think ) which I cant fathom, so Im hoping someone can point out what must be an obvious mistake I desperately need the activesync api because at the moment, deletions etc are impossible to sync between the 2 machines. You have to delete a record on both host and cleint, otherwise they get propogated back each time. Its also ridiculous copying the whole database back and forth but its all i can do at the moment Importance Contacts Appointments Just write the api David, and let us pick up and write the background code. dids > On Sun, 2002-12-15 at 10:43, Richard Taylor wrote: > > Oh dear, replying to my own message, first sign of madness :-) > > > > On Sunday 15 December 2002 8:54 am, Richard Taylor wrote: > > > > > By the way, what data should I try to synchronize first? Contacts, > > > > > tasks, appointments, notes, ...? > > > > > > > > My preference for priority would be: > > > > > > > > 1. Contacts > > > > 2. Appointments > > > > 3. Notes > > > > 4. Tasks > > > > > > I would agee with this order. > > Ok! > > > > > Now we need to start the arguements over what Linux-based PIM's to > > > > synchronize to first... 8-) > > I may just select one for my testing purposes, but my goal is to make a > foundation for others to connect to their favorite PIM applications. > > > > I would think that we need an architecture that allows the PIM specific > > > code to be handled as a plugin. > > > > How are you intending the rra code to work? I was just thinking that a > > library using a callback model would be the most flexible. Then different > > synchronisation frameworks could be built on top of it. > > Yes, I have thought of something like that, with the addition of a > separate process that performs the actual contact with Windows CE. Here > is my current plan, but nothing is written in stone: > > Say we have a PIM application PIM, a library LIB and an synchronization > application RRA. > > To synchronize via SynCE, PIM links with LIB. LIB knows how to > communicate with RRA via a simple protocol on a unix domain socket. PIM > uses LIB to tell what kind of data it want to synchronize. > > When RRA want to notify a client of an event, the Observer pattern > (http://c2.com/cgi/wiki?ObserverPattern) is used. This means that RRA > (somehow) notifies LIB that something has happened, and LIB notifies > PIM. PIM can then use LIB to retreive details from RRA about the event. > > There can be several PIMs but only one RRA due to the nature of the > synchronization protocol. > > RRA knows nothing about the format of the data it synchronizes, but LIB > has helper functions to deal with common stuff. For example, the data > stored in databases on Windows CE (Contacts, Appointments, Tasks) are > stored very similar to how they are stored in the database. > > It may be useful too look at Microsoft's implementation but I don't > think I will mimic their interfaces: > > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnce21/htm >l/activesync.asp |