Hello,
On Aug 23, 2011, at 20:29 , Patrick Ohly wrote:
My expectation is that the Synthesis sqlite datastore has a
configuration mechanism. Whether it covers the relevant mapping in this
case would have to be investigated.
libsynthesis has a SQLite backend built-in, which can be configured in detail. Simplest
form is just mapping elements of the internal field list to SQL table fields (see
<map> in the SySync_config_reference.pdf), but there's support for parent/child
relations (see <array>), programmatic mapping/conversion of special fields using the
built-in script language (<beforewritescript>, <afterreadscript> etc.),
finalisation to resolve inter-item dependencies (<finalisationscript>) at the end of
sync and more.
Have a look at src/sysync_SDK/configs/sunbird_client.xml for a reasonably complex SQLite
based libsynthesis config file. Altough experimental, it added SyncML sync to Mozialla
SunBird/Lightning (early versions only, in the meantime long outdated) without any coding
except for the scripts in the config.
So if your native data representation is SQLite, and you just want to sync that data via
SyncML (and have the engine handle all the iCalendar/vCalendar stuff, as well as all
change detection), just adding your own <datastore type="sql"> to the
config could do the trick.
On the other hand, the SyncEvolution architecture goes way beyond just that, for example
providing other types of sync mechanisms, embedding libsynthesis in a environment which
can communicate via http and OBEX/BT and much more. So it really depends what you're
up to do.
Best Regards,
Lukas Zeller