Re: Evo2 <-> Siemens S55
Hubert Figuiere <hfiguiere-Bi/[email protected]>
| Newsgroups | gmane.comp.gnome.apps.multisync.user |
|---|---|
| Message-ID | <[email protected]> |
Armin Bauer wrote:
>>Why not using the VCard 3.0 data model and use that to convert from/to
>>anything else, including Palm.
>
>
I was not clear enough
> 3 reasons:
>
> - the vcard standard does not support all available fields from other
> formats (for example custom fields of a palm). The standard we choose
> HAS to support everything
we can add extensions in our data model to handle what we want. It is
just an array of key/value pairs.
> - it is hard to parse. There are no good free parsers for the vcard
> standard
I talked about data model, not file format :-) A bunch of struct in
memory WITH object persistence for storage.
A record contain fields (named by a string) and each field can have
attributes (key/values, the same way). Then we synchronize the records
comparing the fields.
We would use it like this
OSRecord my_record;
// add a bunch of fields
my_record.addField("name", "foo");
my_record.addField("phone", "+1 555 555 5555");
// set attributes for phone field
my_record["phone"].addField("type", "home");
// add a field with a unique UID
my_record.addField("uid", genUID());
// tell this field is the UID of the record
my_record.setUidField("uid");
> - it is not flexible
Ours would be. See above
>
> my vote therefore goes to a xml based standard that will be used in
> opensync unless someone convinces me of something better of course :)
xml could be for storage and/or persistance. This does not define any
data model but just a data format.
You would do something like
my_record.loadFromXML(xml_string);
my_record.saveToXML(xml_string);
>
> And it should also be possible to implement some sort of "merge" algo
> for the format we choose. Although we dont need this in the beginning,
> we definetly need the later.
We can have a generic merge algorithm for the above records. This still
require that we have a local copy on disk to handle case where the same
record is modified on both sides. It would also allow n-way sync merge
(sync evo + palm + phone in one round).
Hub
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt