wiki:opensync-0.31-notes

OpenSync 0.31 release notes

OpenSync 0.31 is out - it's still not perfect - but it's getting quite cool :)

This version is still only intended for developers and testers only. Please - don't package this - it still needs more testing! We will have very very soon further developers-/testers-only releases until OpenSync 0.40.

So OpenSync 0.3x releases are _not_ recommended to be used as productive synchronization environment. Hopefully there will be in a few month a stable OpenSync 0.40 with lots of ported plugins. So far there only a few plugins already ported...

OpenSync 0.31 highlights

  • API documentation improvements(!!!!!!!!!) by Paul Eggleton
  • duplicate conflict handler got fixed - by "prahal"
  • context reference counting got fixed for batch_commit - by "prahal"
  • fixes for xmlformat comparer - by "prahal"
  • fixed issues with change uids and multiplies of changes - by "prahal"
  • enable/disable the use of converters (allows to do untouched backups)
  • time helper got improved and a own unit test - by Chris Frey
  • escaping of SQL values - by Chris Frey
  • Python bindings now also wrap the engine component. This allows to write OpenSync frontends in Python - by Andrew Baumann
  • reimplemented library versioning - by Matthias Jahn
  • XMLFormat layout improvments - by Chris Frey, Andrew Baumann, Jijun Yu, Christopher Stender, ...
  • XMLFormat-*-doc in plain detector/converter
  • added osync_mapping_engine_member_change() to request the change for a specific member - useful for conflict handling

.... This msynctool command allows to do a 1:1 backup of the reported changes:

msynctool --disable-converters --slow-sync $objtype --sync $group

And many other changes......

Plugins

The vformat plugin is still not ready - hopefully with the next release we have a vformat plugin which is next to perfect.

file-sync can now determine the format which should be stored. If you want to have your backup of your events in iCalendar (vevent20) instead of vCalendar (vevent10) just set <objformat> to "vevent20". Since we create a detector/converter for XMLFormat-$objtype-doc and plain the file-sync plugin will store changes as XMLFormat-$objtype-doc in the file-sync directories instead of vevent10, vcard21. If you want to have the same format without getting converted use the objformat "file". This needs further testing...

Porting to the new API for the most plugins already started and some plugin got quite stable.

Planned features

We still plan to implement some highly requested features before 0.40:

Slave Engine

The Slave Engine works the other way around and is more simple then the current (Master) Engine.Slave Engine doesn't solve conflicts by it self and the order of Reading/Writing? is different.

This will allows to synchronize different OpenSync instances with each other.. e.g.: Laptop <-> Workstation, SyncML-HTTP-Client plugin, ...

Improvements of the Merger/Demerger?

The current implementation of the Merger allows only to merger/demerger XMLFields. Support for XML attributes are planned. Example: to Merge categories.

Finalizing the layout of the XMLFormats for PIM (contact,event,todo,note):
There are still some issue with the current layout of XMLFormats. Especially for XMLFormat-event (-todo). Daniel Friedrich plans to enhance the xmlformat comparer to support an unlimited number of XMLField numbers. So we don't have to split of complicated XMLFields like Timezone in different XMLFields.

Conflict Handler: "Merged" Entry

See: http://www.opensync.org/ticket/492

...

OpenSync 0.32 will be released not later than 1st August. Or even early - it depends how broken 0.31 really is :)

Thanks for contributing and testing OpenSync!!'''