|
From: Martin O. <doc...@gm...> - 2009-10-21 05:13:13
|
Hey Daniel, Good to see you, On Mon, 2009-10-19 at 18:00 +0200, Daniel Gollub wrote: > On Monday 19 October 2009 02:27:38 pm Martin Owens wrote: > > Perhaps the problem is that the opensync project has attempted to solve > > too many problems in the same framework? > > Thats wrong - OpenSync actually only addresses: "Synchronisation Logic" > > Data Access and Formating is done by plugins. That's all very interesting in theory, but is not my point. Plugins are by their nature 'a part of the framework'. While they are not part of your codebase, they are a part of the execution flow and thus you have device access, data access, formatting filtering and then synchronization logic as part of the opensync framework. Consider this instead: > And they actually should use > libraries which have special formats or protocol implemented to convert a > format or access a device to gather/write data. There is a shift from opensync plugins, all of which become deprecated. Towards DeviceKit and Services file system plugins. This mates device access and user online status with data access and provides a method for all kinds of scripting and hacking on the resulting data that they output (as files! how very unix). I would expect each plugin to try and express it's data in a way that is more direct, without too much filtering if it can be helped. But if it turns out to be easier to output clean FreeDesktop.org or LSB vcards, then so be it. Otherwise some filtering programs, standard stuff. Data goes in, data comes out cleaner. Now here comes the fantastic part, you don't have to care where you get your data from for syncing. It should be possible to just point opensync at two directories full of vcards and have it do it's thing. If that is all your program is doing, it makes the job fairly trivial to program and test for. Version 1.0 blam, done, out the door and we can all go home and have some crumpets. I know it's not a popular idea to make certain things part of the systematics of the operating system. But this is the best way to access data and sync it, leaving the door open to the user so she can customise how she wants to access the data if she wants. And if your wondering about online services or local EDS/KDE-PIM access, same rules apply. Just remember to use the services plugin system for online. Regards, Martin Owens |