|
From: deloptes <del...@ya...> - 2011-10-31 23:29:46
|
Chris Frey wrote: > On Thu, Oct 27, 2011 at 12:17:40PM +0200, deloptes wrote: >> From my point of view this is doable, also the current libsyncml is doing >> most of the same. I think if no one wants to maintain this library >> libsynthesis can safely replace it. Perhaps there would be some more work >> on the transport stuff, which I saw in SyncEvolution, but didn't have >> time to study. > > I suspect it is technically possible, but it might require some changes > to libsynthesis. :-) Or maybe a large wrapper, which uses libsynthesis > as intended, to sync into a local database, and then write an opensync > plugin to sync against that database. > I was reading SySync_config_reference.pdf [p.17] where it states 3.1 Basic Concepts The Synthesis SyncML engine performs three conceptually more or less separate tasks: • Running the SyncML protocol. [...] there is not a lot of configuration needed for the SyncML protocol engine itself. • Encoding and decoding the data that is synchronized with the SyncML protocol. SyncML itself is designed to synchronize any type of data, even proprietary, customer-defined types. However, to make a SyncML server or client interoperable, it must support some standard datatypes [...] vCard format for contact information and vCalendar for events and tasklists, and a number of RFC(2)822 based email formats for email synchronisation. [...] • Interfacing the SyncML data with a server's or client's database. The complexity of this task depends largely on the type and kind of database. [...] and also SDK_manual.pdf [p.7]: Synthesis AG makes their SyncML engine functionality available for customized database plug-in adapters as a Software Development Kit ( SDK ). Synthesis Plugin technology allows the customer to develop data base adapters or user interfaces without the need of understanding the details of the SyncML standard. It's an ideal division of work between Synthesis and the customer's project: Synthesis delivers a scalable, high performance SyncML OMA DS 1.2 engine, which is interoperability-tested against a huge variety of SyncML devices on the market. The customer only needs the specific knowledge to access his own data base framework or his own user interface which can be written in several programming languages. A small interface with only 48 + 23 well documented and easy-to-use functions is the bridge of interaction. All SyncML protocol details are hidden. There are mainly two sections of the SDK: • The data base interface ( DBApi ) for writing data base plugins (see chapter 4). • The user interface ( UIApi ) for writing user interfaces (see chapter 5). Both sections can be used completely independently, though some interface files are shared. So it really sounds doable. Perhaps we need to build something on top as you say (derived classes or wrapper or so). I would love also to read more about the JNI interface too and evaluate all possible options. Perhaps it is easier to implement something in java despite it will cause an overhead. I think I'll spend the time around Christmas not in coding but reading the documentation :-) as it looks more sophisticated. Something else: Do we need these http and ds client and server (that you see in libsyncml/libopensync-plugin-syncml - I didn't got it at 100% until now, because I have been using the obex-client in the config and I've never looked what is going on. [to be continued ...] kind regards |