Jump to content

Akonadi and AddressBook

From KDE UserBase Wiki
Revision as of 10:40, 4 December 2023 by Dvratil (talk | contribs) (Update configuration and data locations, remove obsolete information.)

Note

This article also applies to other applications that are using Akonadi, for example, KMail and KOrganizer.


This information was provided by Tobias Koenig, KDE-PIM developer.

Some Definitions

Real data
By real data we mean the data, like the contacts or events. These data are stored either on a groupware server or in local files. Where exactly depends on the resource you are using. E.g. the Personal Contacts resource stores its data under $XDG_DATA_HOME/contacts.
Cached data
The cached data are copies of the real data that are kept in the database for faster access and offline caching. The database also keeps the meta data which are management data needed by Akonadi to work correctly.
Configuration data
The configuration data are the data that configure the Akonadi server and the individual resources. The general configuration data for the server can be found under $XDG_CONFIG_HOME/akonadi. The configuration data for each indvidual resources are stored under $XDG_CONFIG_HOME/akonadi_xyz_resourcerc# (xyz is name of resource and # its instance number).
The Akonadi server configuration is a couple of files in $XDG_CONFIG_HOME/akonadi. It contains which data sources and helper programs are active and will be started and watched (so they can be restarted on crashes) by one of Akonadi's server processes (akonadi_control).
Each data source handler (called resources) or helper program (called agents) can have its own configuration although some agents or resources don't require configuration. The general rule is that for every entry in $XDG_CONFIG_HOME/akonadi/agentsrc there is a corresponding configuration file in $XDG_CONFIG_HOME. For example, if the [Instances] section in agentrc contains an entry for akonadi_ical_resource_2, there is also a config file called akonadi_ical_resource_2rc in the $XDG_CONFIG_HOME directory.
Depending on the type of data, such config files for resources will have filenames or directory names of where the data is stored. Common locations are KDE's legacy default files, e.g. $HOME/.kde/share/apps/korganizer/std.ics. New default locations are files and directories in $XDG_DATA_HOME, e.g. $XDG_DATA_HOME/contacts.

Organising Backups

So now we need to decide what to back up. If you want to backup the "real data", then it depends on the resources you have configured... if you use a groupware server, then the backup should be done there. For contacts, the files under $HOME/.local/share/contacts will normally be what you need.

The Akonadi tray icon offers you a backup and restore function. That backs up the "cache data" which might not include all of your data! It can be helpful if you want to clone a system 1:1, then you can copy the cached data together with the real data and the configuration, so you don't have to load the data again from the sources (e.g. groupware server).

Examining your Resources

KRunner offers you Akonadi Resource Configuration, or you can access this through the Akonadi tray icon -> Configure. From KDE 4.6 you will find it in System Settings -> Personal Information You may find several resources set up. You may find one labelled

Address Book - No KDE address book plugin configured yet.

That's the old compatibility bridge (possibly created by the migrator tool). You should remove this one!

std.vcf - Ready

This is the VCard File Resource which points to $HOME/.kde/share/apps/kabc/std.vcf per default. It is not recommended that you use that one, as it doesn't share the benefit of Akonadi.

Personal Contacts - Offline

That's the preferred resource for your local contacts which points to

$HOME/.local/share/contacts

Note that this may say "Offline" when in fact you are using it. This is a display bug, and can safely be ignored.

And when more components use Akonadi?

When the rest of the components move to Akonadi, will all the data be under ~/.local/share? That should make backup easy. Well, contacts and mails are stored there now, I don't know what the plan for events/todos is, but it would make sense to store them there as well. We'll keep it in mind when discussion pops up!

Troubleshooting

Problem: Your update to 4.6 and your addressbook is suddenly completely blank

Solution: This is new behaviour in 4.6 - you can choose whether to display specific addressbooks or all of them. In front of each addressbook name there is a checkbox. Use that to enable the addressbooks you want to use.

Related pages