From kde-pim Wed Jul 23 10:12:26 2003 From: Mathias =?iso-8859-1?q?Fr=F6hlich?= Date: Wed, 23 Jul 2003 10:12:26 +0000 To: kde-pim Subject: Re: [Kde-pim] network sync X-MARC-Message: https://marc.info/?l=kde-pim&m=105895536405989 Hi, On Mittwoch, 23. Juli 2003 00:00, Cornelius Schumacher wrote: > On Tuesday 22 July 2003 21:54, Martin Konold wrote: > > I am wondering if either kpilot or kitchensync plans to integrate the > > possibility of network sync. > > I'm working on a Konnector for KitchenSync which allows to sync with > every iCalendar/vCard file you can reach via kioslaves. Ok, I am talking about the addressbook file just as a placeholder. I assume the most interresting case would be to sync file:/home/schumacher/.kde/share/kabc/std.vcf with fish://notebook/home/schumacher/.kde/share/kabc/std.vcf Or something like that. How do you lock the addressbook database? I think that we need a service/daemon on the other side doing the right things(TM). It also has to translate If one client uses an other backend database than the other one. I have something in mind here. I have a half working IrMC Sync backend for kitchensync. I have also a full working OBEX folder browsing service kio_slave. I can now browse my filesystem on my mobile ;) And I have some code for an OBEX server. Since kitchensync was (is?) not able to do syncs for some time I delayed this project a bit. IrMC Sync works over the OBEX protocol. OBEX itself can use several transports including tcp/ip, IrDA, Bluetooth. You can also use any stream based transport you can imagine. Say, a serial cable or serial over USB, which is used to talk to a WinCE over USB (May be also possible to talk to familiar this way?). OBEX has target services to connect to. When sending a OBEX connect you can send a target header with a special target uuid. When the server knows this target id it responds with something like "ok, I know what to do, send your requests". This way IrMC Sync is seperated from the filesystem browsing service (FBS). If you connect to a server with the FBS target uuid you can browse the filesystem and put/get files, but you can't get the addressbook data. But If you connect with the IrMC Sync uuid to the same server you can sync your pim data but can not see the rest of the filesystem. OBEX has a md5 digest authentication like HTTP has. No plain passwords in the air. My server code was thought to test the client components (kio_slave/konnector). At the moment folderbrowsing works, a IrMC Sync server is on the way and uses given code (kabc) for access to a addressbook and converting adressees to vcards. This is far from beeing complete and has some problems with kde core libraries. But they are solvable. And, since the obex library is only based on qt it will be not too much work to replace the kabc functions with opie pim access functions for use in opie. So what can we do with that? - First, be connective to several mobile devices over IrMC Sync. Which is itself able to transmit only incremental changes. Important for slow connections. - Second, create our own OBEX service. This service can be used to sync the pim data in a way IrMC Sync does. This has the advantage that the code for that is partly done. It will also be capable to stat files. I also think about the possibility to request rsync checksums from the server. Advantages of this approach: - Database files which are used to sync with can be locked and applications can be notified that something has changed. - It does not matter which format the database has. Conversion to vcards is done by the server/client. (Since the vcard backend is the most flexible one in KDE one does not loose information if we are required to convert our data to vcards. Other pim data must be reviewed, I don't know much about vcal at the moment.) - This holds also for mail folders. I have seen some discussion about a mail folder access library ... - File syncronisation can be done this way. - One can sync over many different transports using the same backend libraries. (For example OPIE over Bluetooth and your notebook over tcp/ip) - The concept is extensible. Greetings Mathias Fröhlich -- Mathias Fröhlich, email: Mathias.Froehlich@web.de _______________________________________________ kde-pim mailing list kde-pim@mail.kde.org http://mail.kde.org/mailman/listinfo/kde-pim kde-pim home page at http://pim.kde.org/