All Articles

Adding EteSync address books to Kontact - GSoC 2020 with KDE and EteSync [Part 3]

Hey everyone!

Last week, I wrote a post about adding EteSync address books to Kontact. I’m happy to report that you can now fetch your EteSync address books and contacts in Kontact. If you want to test it out, skip to ”Testing the resource” section below. You can read on for updates on the project:

Adding a new EteSync account to KAddressBook

Adding a new EteSync address book
Adding a new EteSync address book

I have created a new EteSync resource subdirectory, and added it to the project build system. I’ve also added the logo for the resource, which shows up while adding a new address book to Kontact.

Fetching your EteSync contacts

Once the new resource is added, the app should ideally open a configuration dialog for you to provide your username, password, EteSync server url and encryption password. Unfortunately, I haven’t implemented that yet. I plan to implement it soon so that users can easily test out the resource.

Currently, the credentials are hardcoded, and will be used to fetch all your address books and contacts. These will then show up in KAddressBook.

EteSync address books and contacts visible
EteSync address books and contacts visible in KAddressBook

Testing the resource

As the resource configuration dialog hasn’t been implemented yet, you would need to put in your EteSync credentials in the configure() function in etesync/etesyncresource.cpp to test it out.

All the code for this project is at this repo. To test the resource, you can:

  • Clone the repo
  • Enter your EteSync credentials in etesync/etesyncresource.cpp
  • Build the project using make or kdesrc-build
  • Restart Akonadi (akonadictl restart)
  • Open KAddressBook and add a new EteSync address book


I plan to implement the configuration dialog ASAP. Also, the fetching itself needs more work as it should be done asynchronously using jobs.

Feedback is always welcome!

Hope to have more updates for you soon :)