What's objtype "data" stand for?

View: New views
9 Messages — Rating Filter:   Alert me  

What's objtype "data" stand for?

by Halton Huo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I'm willing to sync evolution contacts/calendars/memos/tasks into files.

Default objtype for file-sync member as 'data'. Default objtype for
evo2-sync member are 'contact', 'event', 'note' and 'todo'.

I crated a group with default parameters. Trying to run --sync, nothing
happens. Edit the file-sync member config file, remove 'data' part and
comment out 'contact' part out. Try --sync agagin, the contacts can be
synced from evolution.

My understanding for 'data' concept is a special objtype, it can
stands for 'contact', 'event', 'note', 'todo' and more like files. 

Jijun said he ever synced file and evo2 with objtype 'data', but now
trunk code can not. So am i missing something here?

Thanks,
Halton.


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

Re: What's objtype "data" stand for?

by Daniel Gollub :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tuesday 15 April 2008 10:38:24 Halton Huo wrote:
[...]
> My understanding for 'data' concept is a special objtype, it can
> stands for 'contact', 'event', 'note', 'todo' and more like files. 

Correct - it's kind of "wildcard".

> Jijun said he ever synced file and evo2 with objtype 'data', but now
> trunk code can not. So am i missing something here?

No - thats correct for now. With 0.3x we introduced the "objtype sinks" which
allows complete seperation of the object types. Unfurtonately the file-sync
can't handle right now the mix-up of object types - e.g. evo2-sync
(contact) -> file-sync (data) .. you have to create a sink "contact" even on
the file-sync right now.

I guess the first step you'll fail on doing this mixup is the discovery phase,
which ends up and checking for "same sinks" in the end of this phase.

The second issue we had in the past with file-sync with changes as "data" from
a  plugin with several object types at once, was the duplicate UID problem.
Imagine you have a plugin which stores contacts and events - and there is an
contact entry with UID "xyz" and an event entry with the UID "xyz". Since the
file-sync used to use the UID as filename there was a problem with storing
those entry without losing the data. But for this case there are "duplicate"
function for entries, which will change the UID of the entry with the same
UID (it will append "-dup" to the UID). Since we didn't managed to handle
this flawless in file-sync we decided to stay for time being with "forcing"
the file-sync to use seperated directories for different objtypes/sinks.

But i guess lot's of people will miss this feature. So we should try to get
this working again by time. I already tried in the past to get this working
again, but there are some further stuff to do to get this working flawless.


#1 fix conversion path for objformat-xyz to objformat "file"
   * doesn't work smoothly for all objformat right now
   * for example for objformat which contain structs with pointers
     and needs to get marshalled - e.g. gnokii-format, palm-format, ...
     It would be nice to have a conversion path which marshal those formats
     with their marshal function and dump this on disk. But since the marshal
     function could be buggy as well this isn't safe...
#2 review what the discovery phase does and make it aware of the "data"
   wildcard
#3 fix the duplicate UID problem in file-sync, by just changing the UID to
   with the duplicate function


best regards,
Daniel



-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

Re: What's objtype "data" stand for?

by Daniel Gollub :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tuesday 15 April 2008 10:58:36 Daniel Gollub wrote:
> #2 review what the discovery phase does and make it aware of the "data"
>    wildcard
Hmm, ignore this one. That's just wrong.


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

Re: What's objtype "data" stand for?

by Halton Huo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Daniel,

So currently libopensync support five obj types:

* data: a wildcard
* event:
* contact:
* note:
* todo:

Is all objtypes a static list? I mean any possible to add more objtypes
like file, image, email, and so on in the future. (file is wildcard for
image and email) This could affect the GUI implement.

Thanks,
Halton.

On Wed, 2008-04-16 at 16:22 +0200, Daniel Gollub wrote:

> On Tuesday 15 April 2008 10:58:36 Daniel Gollub wrote:
> > #2 review what the discovery phase does and make it aware of the "data"
> >    wildcard
> Hmm, ignore this one. That's just wrong.
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
> Don't miss this year's exciting event. There's still time to save $100.
> Use priority code J8TL2D2.
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> _______________________________________________
> Opensync-devel mailing list
> Opensync-devel@...
> https://lists.sourceforge.net/lists/listinfo/opensync-devel


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

Re: What's objtype "data" stand for?

by Daniel Gollub :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tuesday 29 April 2008 09:57:18 Halton Huo wrote:

> So currently libopensync support five obj types:
>
> * data: a wildcard
> * event:
> * contact:
> * note:
> * todo:
>
> Is all objtypes a static list? I mean any possible to add more objtypes
> like file, image, email, and so on in the future. (file is wildcard for
> image and email) This could affect the GUI implement.

Yeah, that is possible and intended. Just write a new format plugin which
registers a objformat with a new object type. We might should specify future
objtypes, to avoid different names of object type - bad example: picture,
image, photo, ...

PS: there is already the object format "file" with the object type "data" ;)
So from your list only object type "email" and "image" is missing...

Also cool would be:
- "bookmark"
- "account" - like keys/passwords/account (e.g. from KWallet, gnome-key-ring)
...
- "email"
- "image"

But i guess you're asking to know if it's worth to handle the number of
available object types dynamic, not static/hardcoded - right? If so you  
might still need to map those objtype strings to something human-readable
inside your UI. Like: "contact" -> "Contacts", "event" -> "Appointments", ...

best regards,
Daniel

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

Re: What's objtype "data" stand for?

by Halton Huo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Daniel,

I'm kind of confused by word "object type" and "object format".

My understanding for now is

object type object format plugin
data file N/A
contact vcard30, vcard21 format-plugins/vformat
event vevent20 format-plugins/vformat
note vjournal format-plugins/vformat
todo vtodo20 format-plugins/vformat
email(*)
format-plugins/email (*)
image(*)
format-plugins/image (*)
bookmark(*)
format-plugins/bookmark (*)
account(*)
format-plugins/account (*)
(*) means not available

Thanks,
Halton.
On Tue, 2008-04-29 at 10:08 +0200, Daniel Gollub wrote:
On Tuesday 29 April 2008 09:57:18 Halton Huo wrote:
> So currently libopensync support five obj types:
>
> * data: a wildcard
> * event:
> * contact:
> * note:
> * todo:
>
> Is all objtypes a static list? I mean any possible to add more objtypes
> like file, image, email, and so on in the future. (file is wildcard for
> image and email) This could affect the GUI implement.

Yeah, that is possible and intended. Just write a new format plugin which 
registers a objformat with a new object type. We might should specify future 
objtypes, to avoid different names of object type - bad example: picture, 
image, photo, ...

PS: there is already the object format "file" with the object type "data" ;)
So from your list only object type "email" and "image" is missing...

Also cool would be:
- "bookmark"
- "account" - like keys/passwords/account (e.g. from KWallet, gnome-key-ring)
Do you mean use this format plugin,  plugins like google-calendar to save/load password safely?

...
- "email"
- "image"

But i guess you're asking to know if it's worth to handle the number of 
available object types dynamic, not static/hardcoded - right? If so you  
might still need to map those objtype strings to something human-readable 
inside your UI. Like: "contact" -> "Contacts", "event" -> "Appointments", ...

best regards,
Daniel

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

Re: What's objtype "data" stand for?

by Halton Huo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

BTW, I'm concern about the overlap on different object types. Besides
data is 'wildcard', is there any coverage for rest of them? If have, how
to know the relationship?

Halton.
On Tue, 2008-04-29 at 16:37 +0800, Halton Huo wrote:

> Daniel,
>
> I'm kind of confused by word "object type" and "object format".
>
> My understanding for now is
>
> object type
> object format
> plugin
> data
> file
> N/A
> contact
> vcard30, vcard21
> format-plugins/vformat
> event
> vevent20
> format-plugins/vformat
> note
> vjournal
> format-plugins/vformat
> todo
> vtodo20
> format-plugins/vformat
> email(*)
>
>
> format-plugins/email
> (*)
> image(*)
>
>
> format-plugins/image
> (*)
> bookmark(*)
>
>
> format-plugins/bookmark (*)
> account(*)
>
>
> format-plugins/account
> (*)
> (*) means not available
>
> Thanks,
> Halton.
> On Tue, 2008-04-29 at 10:08 +0200, Daniel Gollub wrote:
> > On Tuesday 29 April 2008 09:57:18 Halton Huo wrote:
> > > So currently libopensync support five obj types:
> > >
> > > * data: a wildcard
> > > * event:
> > > * contact:
> > > * note:
> > > * todo:
> > >
> > > Is all objtypes a static list? I mean any possible to add more objtypes
> > > like file, image, email, and so on in the future. (file is wildcard for
> > > image and email) This could affect the GUI implement.
> >
> > Yeah, that is possible and intended. Just write a new format plugin which
> > registers a objformat with a new object type. We might should specify future
> > objtypes, to avoid different names of object type - bad example: picture,
> > image, photo, ...
> >
> > PS: there is already the object format "file" with the object type "data" ;)
> > So from your list only object type "email" and "image" is missing...
> >
> > Also cool would be:
> > - "bookmark"
> > - "account" - like keys/passwords/account (e.g. from KWallet, gnome-key-ring)
> Do you mean use this format plugin,  plugins like google-calendar to
> save/load password safely?
>
> > ...
> > - "email"
> > - "image"
> >
> > But i guess you're asking to know if it's worth to handle the number of
> > available object types dynamic, not static/hardcoded - right? If so you  
> > might still need to map those objtype strings to something human-readable
> > inside your UI. Like: "contact" -> "Contacts", "event" -> "Appointments", ...
> >
> > best regards,
> > Daniel
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
> > Don't miss this year's exciting event. There's still time to save $100.
> > Use priority code J8TL2D2.
> > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> > _______________________________________________
> > Opensync-devel mailing list
> > Opensync-devel@...
> > https://lists.sourceforge.net/lists/listinfo/opensync-devel
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
> Don't miss this year's exciting event. There's still time to save $100.
> Use priority code J8TL2D2.
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> _______________________________________________
> Opensync-devel mailing list
> Opensync-devel@...
> https://lists.sourceforge.net/lists/listinfo/opensync-devel


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

Re: What's objtype "data" stand for?

by Halton Huo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Daniel,

Could you answer explain my question about "object type" and "object format"?

We need understand it well before design our PluginManager.

BTW, I'm concern about the overlap on different object types. Besides
data is 'wildcard', is there any coverage for rest of them? If have, how
to know the relationship?

Thanks,
Halton.
On Tue, 2008-04-29 at 16:37 +0800, Halton Huo wrote:
Daniel,

I'm kind of confused by word "object type" and "object format".

My understanding for now is

object type object format plugin
data file N/A
contact vcard30, vcard21 format-plugins/vformat
event vevent20 format-plugins/vformat
note vjournal format-plugins/vformat
todo vtodo20 format-plugins/vformat
email(*)

format-plugins/email (*)
image(*)

format-plugins/image (*)
bookmark(*)

format-plugins/bookmark (*)
account(*)

format-plugins/account (*)
(*) means not available

Thanks,
Halton.
On Tue, 2008-04-29 at 10:08 +0200, Daniel Gollub wrote:
On Tuesday 29 April 2008 09:57:18 Halton Huo wrote:
> So currently libopensync support five obj types:
>
> * data: a wildcard
> * event:
> * contact:
> * note:
> * todo:
>
> Is all objtypes a static list? I mean any possible to add more objtypes
> like file, image, email, and so on in the future. (file is wildcard for
> image and email) This could affect the GUI implement.

Yeah, that is possible and intended. Just write a new format plugin which 
registers a objformat with a new object type. We might should specify future 
objtypes, to avoid different names of object type - bad example: picture, 
image, photo, ...

PS: there is already the object format "file" with the object type "data" ;)
So from your list only object type "email" and "image" is missing...

Also cool would be:
- "bookmark"
- "account" - like keys/passwords/account (e.g. from KWallet, gnome-key-ring)
Do you mean use this format plugin,  plugins like google-calendar to save/load password safely?

...
- "email"
- "image"

But i guess you're asking to know if it's worth to handle the number of 
available object types dynamic, not static/hardcoded - right? If so you  
might still need to map those objtype strings to something human-readable 
inside your UI. Like: "contact" -> "Contacts", "event" -> "Appointments", ...

best regards,
Daniel

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel

Re: What's objtype "data" stand for?

by Daniel Gollub :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tuesday 13 May 2008 08:56:37 Halton Huo wrote:
> Could you answer explain my question about "object type" and "object
> format"?
>
> We need understand it well before design our PluginManager.

(New) Whitepaper:

2.3 Object Types
-----------------
The term ">Object Types"< is in OpenSync used to describe the type/category of
data. Example for ">Object Types"< are Contacts, Events, Todos, Notes or
plain Data (like the content of a file) and others. (It’s not limited to PIM
Data!). Those Object Types get separated processed, to make it configurable
which Object Type should get synchronized. Example: Only synchronize contacts
of the mobile, no events, todos nor notes.

2.4 Formats (( equal/similar to the term "Object Format" ))
-----------------------------------------------------------
The ability to synchronize different Parties which use different formats,
makes the OpenSync Framework to a very powerful Synchronization Framework. In
OpenSync each Format is associated with one Object Type (see previous
chapter). This Object Type as common denominator for different formats makes
it possible to determine a conversion path between different formats. The
conversion path consists of various format converters, which are provided by
Format Plugins. Example: Two parties should synchronize their contacts (the
Object Type). Party A stores the contacts as VCard 3.0 and Party B stores the
contacts in some Binary Format. To synchronize the VCard 3.0 and the Random
Binary Contact Format format plugins have to register those formats and
provide converters. The Plugins don’t have to provide converters for every
known Format, often a certain amount of converters to common formats or a
common denominator format is enough to create a conversion path between VCard
3.0 to Binary Contact Format.

http://cryptomilch.de/~dgollub/OpenSync/OpenSync-0.40-DRAFT-20080118.pdf


Please, let me know if this helps or if you have further questions.

> BTW, I'm concern about the overlap on different object types. Besides
> data is 'wildcard', is there any coverage for rest of them? If have, how
> to know the relationship?

IIRC, there should be no overlap expect the "data" object type. All the other
object types should not overlap - or do you have some object types in mind?


Btw. there are also other format plugins beside the vformat one. (e.g.
gnokii-format, palm-format, opie-format(?), ...  even xmlformat is a format
plugin ;))

best regards,
Daniel

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Opensync-devel mailing list
Opensync-devel@...
https://lists.sourceforge.net/lists/listinfo/opensync-devel