Skip to content

Getting KDE's Akonadi to use DecSync for contacts and calendars.

License

Notifications You must be signed in to change notification settings

TimoWilken/akonadi-decsync-resource

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DecSyncResource: DecSync support for Akonadi

WARNING: This resource is a work in progress. Some things don’t work yet. If you’re interested, feel free to hack on this repo; issue reports and pull requests are welcome!

This is an Akonadi resource that lets KDE PIM applications like Kontact access contacts and calendar events stored in a DecSync directory so they can be synchronised with other devices. Similar backends exist for Evolution, Radicale and Android, for example.

What works and what doesn’t

FeatureReadingWriting
Calendar namesOK
Calendar colours
Calendar eventsOK
Address book namesOK
ContactsOK

How to build this project

Arch Linux users can install the akonadi-decsync-resource-git AUR package.

This resource uses the C bindings to libdecsync, so you’ll need to install the library and its headers. Qt ≥5.11.0, KDE Frameworks ≥5.38.0 and Akonadi ≥5.2 are required, too.

cd path/to/project/repository
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=$MY_PREFIX -DCMAKE_BUILD_TYPE=Debug
cd build
make

# to install to $MY_PREFIX:
make install  # or sudo make install

# to uninstall:
make uninstall  # or sudo make uninstall

MY_PREFIX is where you install your Akonadi setup, replace it accordingly.

Note: on Windows, use nmake if you’re building with the Visual Studio compiler, or make if you’re using the minGW compiler. (This might be a moot point as I don’t know whether libdecsync builds or works on Windows yet.)

MIME types

MIME types this project deals with are:

  • text/directory: for contact data
  • text/calendar: for calendar data

    There are Akonadi-defined subtypes:

    • application/x-vnd.akonadi.calendar.event
    • application/x-vnd.akonadi.calendar.todo (unsupported)
    • application/x-vnd.akonadi.calendar.journal (unsupported)
    • application/x-vnd.akonadi.calendar.freebusy (unsupported)

At the moment, this resource only supports event calendars, i.e. application/x-vnd.akonadi.calendar.event. As DecSyncCC on Android assumes all calendars are event calendars and calendar apps show them as such, supporting the other types using DecSync would require more work. For instance, a new collection type could be made for those so to-dos or journal entries can be synced with the appropriate mobile apps.

Documentation for things this resource uses

A lot of Akonadi-related KDE documentation still seems to use KDE4 APIs, not the new KF5 ones. api.kde.org is helpful, as is reading the KF5 Akonadi header files.

About

Getting KDE's Akonadi to use DecSync for contacts and calendars.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published