|
From: Henrik /K. <he...@ka...> - 2009-10-24 12:49:35
|
Thanks for your comments, Daniel! Daniel Gollub wrote: > On Saturday 24 October 2009 02:07:02 pm Henrik /KaarPoSoft wrote: > [...] > >> Following up on my earlier posts, here is my latest, crazy idea: Kill >> the mozilla-sync plugin. >> >> >> As mentioned before, the current design is flawed (using not-thread-safe >> functions from Mozilla in threads), does not work with Thunderbird 3, >> and is a nightmare to port between platforms - even between different >> linux distros. >> >> Instead of using more development time on the mozilla-sync plugin, >> syncing Mozilla could be accomplished by >> - using the syncml-http-server plugin in OpenSync >> - using the Funambol Thunderbird extension >> (https://mozilla-plugin.forge.funambol.org/) >> > > How complicated would be the setup to get this kind of sync working? > Well, I have verified that the two can talk in the first place. Since they are both SyncML it "should" work, so I hope fixing the problems should not be too difficult. > I wonder if this would allow kind of a out-of-the box setup? > run osynctool launch mozilla press funambol button in mozilla. (However, a better GUI would be needed - see below) > When Armin and others decided to implement a IPC system in OpenSync they also > introduced this three "ProcessStartTypes" for plugin: > > - thread (default) > - process (fork - runs in the osplugin wrappe process) > - external (communication via FIFO) > > The later one was iirc the idea to be used for applications like thunderbird > or mozilla, which didn't provide any public API or easy to handle API to sync. > > so if the funambol thunderbird extension doesn't work out ... whabt about > writing an "OpenSync extension" for thunderbird? > > This extension is more or less a OpenSync plugin living inside this extension. > This extension would then communicate with the OpenSync framework via a fifo > ... ipc/fifo setup is all handled by the OpenSync API - AFAIK. > Yes, that is certainly also something I was thinking about. > Unfortuantely there is no real-life example yet, but the code for those > external plugins exists. Need to check if i can make up an example out of > testcases ... > The lack of documentation/example is one of the things holding me back from this approach. > Or would this be no option for you? > I could imagine something like this would allow simpler setup ... since you > don't have to setup things like an local IP connection or so. For an regular > users this would be a bit confusing to configure a "network" connection to > talk to a local running application - right? > Technically this is no problem. syncml-http-server and Funambol handles this already. > >> Then there is the question of GUI... >> >> blueZync is a GUI for OpenSync in Mozilla. >> It does not suffer from the mozilla-sync design flaw or Thunderbird 3 >> incompatibility, but is still difficult to port, and not really >> satisfactory. >> I am thinking about killing this one as well, and maybe work on a GTK+ >> replacement for kitchensync. >> > > Acutally you would work on a replacement of MultiSync-0.90 - which is a > OpenSync GTK gui .. currently AFAIK unmaintined. > > There is also gnome-sync-tool you might want to have a look at. > I never used any of those tools. But I will have a look. > [...] > You don't have to use KitchenSync as _the_ ideal OpenSync GUI. You could also > write some Mozilla plugin(s) which just setup a sync with dedicated plugins - > e.g. Mobile-Sync-Plugin for Mozilla > > Which provides a very simple UI to setup a group of a mozilla-plugin and the > syncml-obex-client and maybe some other (synce, gnokii-sync, ...) just > dedicated for mobile syncing ... so you don't have to write a UI to create > generic groups for all available plugins and so. > > Just an UI which provides a search-bluetooth-device UI or so and setups a > group with the best fitting plugin on the fly. But the end-user doesn't see > anything that there got a group with member created - your app doesn't need to > support multiple groups and so ... > > This is exactly what blueZync is doing today. Even with multiple groups and generic plugin handling. But the problem is that I have to drag along a complicated XPCOM C++ interface to call the OpenSync functions and receive the callbacks. It kind-of works today, but it is not nice, and not easily portable (actually, it IS portable, but getting the prerequisites (Mozilla SDK etc) in place is a mess. /Henrik |