Ticket #208 (assigned enhancement)

Opened 8 years ago

Last modified 5 years ago

kdepim should allow control over which resources are synchronised

Reported by: Graham Cobb Owned by: abauer
Priority: low Milestone:
Component: Plugin: kdepim Version: 0.38
Severity: normal Keywords:
Cc: claus@…


It would be useful if the kdepim plugin allowed control over which resources were synchronised. Three distinct features would be useful:

1) The ability to limit synchronisation to certain types of objects: events, todos, notes, contacts or whatever.

2) The ability to specify which resources are to be synchronised. I use several different contact resources which I would like to keep synchronised with different Exchange contacts folders. Also I only want to synchronise some of these to my phone (as it has limited space and poor lookup -- I don't want every business card I have ever scanned to be synchronised to my phone).

3) The ability to specify which resource would be used to create new items. I would use this as part of synchronising my different contact resources with different Exchange folders.

I would be happy to assist in developing these features. I have looked at the KCal::CalendarResources? class documentation but I am still confused about how to handle multiple resources.

Of course, this would also require the addition of a configuration capability to the kdepim plugin.

Graham Cobb (email: g+opensync AT cobb.uk.net)


exp.patch (9.4 KB) - added by pmarat 8 years ago.
appended is a patch for current svn version (1062) libopensync-plugin-kdepim. kdepim-sync with xml configuration

Change History

comment:1 Changed 8 years ago by pmarat

I am a little confused about ;-)

A half hour ago i announced "kdepim-sync with xml configuration" on mailing list The resulting xml looks like: <config>

<contacts>true</contacts> <calendar>false</calendar> <notes>true</notes> <todo>false</todo>

</config> I have also made a debian(i386) sid/ubuntu package at my experimental repro: deb http://www.in.fh-merseburg.de/~jahn/ experimental main

Changed 8 years ago by pmarat

appended is a patch for current svn version (1062) libopensync-plugin-kdepim. kdepim-sync with xml configuration

comment:2 Changed 8 years ago by pmarat

sorry had to read carefully next time ;-)


2) and 3) are not that simple .. but i am working on it.

comment:3 Changed 8 years ago by Graham Cobb

  • Type changed from defect to enhancement

Great minds think alike!

Thanks for already addressing item 1. Sorry, I don't read the -devel mailing list but I will try your patch out now I have seen it.

Let me know if I can be of any help with items 2 and 3.

Thanks Graham

comment:4 Changed 8 years ago by Graham Cobb

I have expanded further on this idea in SelectiveSyncRequirements?

comment:5 Changed 8 years ago by ehabkost


The patch from pmarat (exp.patch) isn't needed because the objtype_enabled configuration in the sync engine already allows selecting which object types should be synchronized, in a plugin-independent way. It may be used through the --filter-objtype option of msynctool.

Of course, if the plugin isn't behaving as expected regarding the objtype_enabled configuration, please report any problem.

So item (1) is already implemented.

Patches for item (2) and (3) are welcome.

comment:6 Changed 8 years ago by ehabkost

Just a note: objtype_enabled()/--filter-objtype was broken on trunk, and it was juts fixed on commit [1139].

comment:7 Changed 8 years ago by Graham Cobb

--filter-objtype still does not work in the latest SVN (1225 for opensync). This is trivial to reproduce -- see bug #213.

This means that I still need pmarat's patch to allow me to just synchronise notes.

comment:8 Changed 8 years ago by abauer

  • Owner changed from ehabkost to abauer
  • Status changed from new to assigned
  • Version set to 0.20

comment:9 Changed 8 years ago by cstender

  • Version changed from 0.20 to 0.31

comment:10 Changed 8 years ago by Graham Cobb

--filter-objtype now works. So, the basic capability now works.

This is now more of a wishlist item to find some way to control which kdepim resources are used in synchronisation.

comment:11 Changed 7 years ago by cstender

  • Version changed from 0.31 to 0.22
  • Milestone set to 0.31

comment:12 Changed 7 years ago by cstender

  • Milestone changed from 0.31 to OpenSync 0.40

Milestone 0.31 deleted

comment:13 Changed 7 years ago by qratz

As far as i can tell from the kdepim-APIs, the relevant classes for realizing the discussed problem are Resource and and KRES::Manager. Using wrapper classes for the variable resource types, e.g. AddressBookWrapper? for address books, it is possible to retrieve a KRES::Manager for the respective type of pim-data. The relevant method is getResourceManager. With such an KRES::Manager it is possible to either select the resources one by one and process them, or one could use the method setActive(*Resource,bool) to activate only those resources that should be synced. But i'm not completly sure how the latter variant works. I hope this information helps. I would develop this myself, but unfortunatly i'm busy on other projects this year. However, if noone is able to do it this year, i'll start working on it in january.

comment:14 Changed 6 years ago by tuju

  • Milestone changed from 0.40 to 0.42

comment:15 Changed 6 years ago by tuju

  • Version changed from 0.22 to 0.38

comment:16 Changed 5 years ago by claus

  • Cc claus@… added

item 2) of course also goes for calendar resources: I import a company calendar to my desktop but I do not want to sync this resource to my mobile phone. I only want to sync my private calendar. Right now I can accomplish this (workaround) by temporarily deactivating this resource in the kde calender app. Would be really cool if opensync had a setting for selecting which calendars to sync.

Note: See TracTickets for help on using tickets.