[SyncEvolution] TDEPIM sync questions

Patrick Ohly patrick.ohly at intel.com
Fri Feb 5 14:30:44 UTC 2016


On Fri, 2016-02-05 at 14:26 +0100, deloptes wrote:
> Patrick Ohly wrote:
> 
> > On Wed, 2016-02-03 at 20:05 +0100, deloptes wrote:
> >> 2.
> >> How are the sources/databases handled - example if I have 3 calendars
> >> (1default, 1 read only and 1 custom). Imagine I set the custom or the
> >> default as inactive or active - how would this influence the sync?
> > 
> > I'm not sure I follow. Do you mean you have a sync configuration and
> > then change the sync mode of one datastore set to "none"? It'll be
> > ignored when running a sync for that sync configuration.
> 
> I try to explain. I have calendar datastore with 3 databases : 1 is the
> default (my calendar), 2 is holidays (read only) 3 is custom calendar.
> 
> I'm not sure what happens when I try to sync with my phone. Would all
> databases be pushed to the default calendar in the phone?

That depends on the backend. Each datastore in a sync config invokes the
backend, which then picks an actual database based on the "database"
parameter configured for the datastore.

Usually, that parameter is empty, which typically means "pick the
default". But that's entirely up to the backend. See
EvolutionSyncSource::findSource() for an example how that is done in
EDS.

> Now in regards to your comment - does it mean I have to configure explicitly
> the database I want to sync.
> This also delivers few possible scenarios if a database was configured (and
> was active) but for some reason the user would have deactivated it. what
> happens
> 
> example --print-databases
> TDE PIM Calendar = TDE PIM Events = tdepim-calendar:
>         resource (kOBUWNvG42) <default>
>         feiertage (uZzNwmwG32) <read-only>
>         custom (xYggAVX5Bu) 
> 
> In this case syncevolution would sync resource + custom - correct?

No, your backend would only access one.

> >> 4.
> >> My last question is related to the problem I described earlier. When
> >> compiled as shared I get the backend registered twice. When I compile
> >> static it shows up once. I do have different descriptions in the
> >> registerMe function and in the createSource function.
> >> Should I post those functions here?
> > 
> > That may help.
> > 
> > Have you tried what I suggested, i.e. removing one of your two shared
> > modules and checking how that affects the result?
> > 
> 
> Yes I did, but it did not help - I removed all (so,a,la) for the addressbook
> but calendar/todo/tasks showed up.

That confirms my theory: I bet your register_func object linked into
both shared modules, and then each module registers both kinds of data.

You need two registration files, one per module, and only register data
provided by that module in the file.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.






More information about the SyncEvolution mailing list