Kontact with IMAP-based Calendar and Address Management

All on Board

Daniel Molkentin

Kontact gives you email, address books, and calendaring in a neat package. And IMAP support means you can access this data from anywhere on the network.

KDE's Kontact 1.0 Personal Information Manager (PIM) supports a feature that provides IMAP-based network storage of calendar and address data. Kontact lets you store address and calendar information along with email messages on an IMAP server. This information is then available when you access the server from anywhere on the network.

IMAP Resources

With mailboxes growing larger day by day, more and more providers now offer their customers access to an Internet Message Access Protocol (IMAP) server. IMAP has several advantages over the earlier Post Office Protocol (POP). Thus far, however, only a few Internet providers have given their customers enough storage to tap the full range of IMAP capabilities. But Google has now launched the first offensive in the Gigabyte mailbox war, and its competitors have tentatively started to offer similarly dimensioned mail storage.

Regardless of whether you have an IMAP account with a commercial vendor or an IMAP server on a local network, you may benefit from the central storage features provided by Kontact. Kontact supports so-called IMAP resources, which were originally designed for use with a Kolab server [2]. In fact, IMAP resources are just special folders that store contact and address data rather than email. These folders are typically hidden, although you can make them visible for test purposes.

The Author

Daniel Molkentin comes from Germany's river Rhine area, is a member of the KDE Core team, and a Kontact developer. He is currently studying computer science at the University of Technology in Chemnitz, Germany.

In this article, I'll show you how to access server-based address and calendar data with Kontact. You'll need at least Kontact 1.0 from KDE 3.3.0, although KDE 3.3.1 is recommended. Read "Updating KDE" for more information on the easy way to update your KDE installation on Suse Linux.

Figure 1: The language settings in the workgroup folders are only required if you intend to use Microsoft Outlook to access the folders.

Configuring Kontact

The first step is to give Kontact the details of your IMAP account. Kontact lets you specify an online IMAP account or a disconnected IMAP account. Choosing the disconnected option tells KMail to save a local copy of any files stored on the server. This makes sense particularly for laptop users or if the server does not have a permanent connection to the Internet. Using normal IMAP instead of disconnected IMAP is discouraged, because users will need to update their folders manually so far - which is not praticable.

To set up the account in Kontact, choose Settings | Configure KMail | Network and select Add in the Receiving tab.

After setting up your mail box, move to the Misc tab, and select Configure KMail. Select Enable groupware functionality. For the option labeled Resource folders are subfolders of, select inbox. But be careful: if you select your normal inbox, you will be able to store your data, but this data will be stored only locally. This is a common issue that you should check first if problems occur.

If the workgroup folders do not exist, Kontact will now automatically create them. Normally, it makes no difference what language the program uses for the folders: as soon as you have everything set up, you will normally want to hide the folders by selecting Hide workgroup folders. But if you use an Outlook client parallel to Kontact, you need to keep an eye on the language options.

Migration

Finally, you need to migrate your calendar and address book. Tasks use the same settings as the calendar, so you can ignore them. The first thing to do is to create a new calendar. To create a new calendar, open the overview of existing calendars on the left below the month overview.

Select Add, then select the Calendar on IMAP-server via kmail item in the drop down, and finally type an intuitive name for the new calendar, such as Calendar on IMAP Server. Kontact should now show you the local calendar and the new calendar as Resources.

The next step is to move your appointments from the local calendar to the new calendar. To do so, first select the local calendar and then use the Edit dialog to copy the filesystem path. Then use the checkbox to disable the local resource.

Your appointments should be hidden in the next step. Select File | Import | Merge Calendar, import the path you copied in the last step as an Address, and select OK. Your events should now reside on the IMAP server.

Figure 2: Before you can migrate to the IMAP account, you first need to define a new calendar.

Figure 3: Migrating to the IMAP account gives you consistent appointment and address management from multiple computers.

Follow the same steps for the address book: address books are hidden in Settings | Show extension bar | Address books. Again you need to create an IMAP resource; make a note of the URL for the local address book and then import the URL by selecting File | Import | Import vCard.

Priorities

The procedure I just detailed allows you to bind any number of computers to your IMAP resources. However, make sure the first machine exchanges mail messages with the server first. If you do not have any events or addresses to synchronize, you can leave out the migration steps. In this case, simply disable the local calendar.

Upgrading KDE

For all of this to work, you need Kontact 1.0 from KDE 3.3 or newer. The good news is that users of Suse 9.1 and 9.0 can also benefit from KDE 3.3. There is even an extremely comfortable update path, assuming you have a quick Internet connection; the download weighs in at around 300MB.

To start the update, quit the GUI and, working as root, launch the text-based YaST on the console. In Software | Change source of installation, add an entry for ftp://ftp.suse.com/pub/suse/i386/supplementary/KDE/update_for_9.1/yast-source/ (bzw. update_for_9.0). After doing so, select System Update. Tell the package manager to Resolve any dependency issues. You can typically ignore conflicts that involve kdebase3-suse. If you have stability problems after the update, you may need to remove kdebase3-suse. However, removing kdebase3-suse removes KDE Suse integration.

If conflicts occur - maybe because two clients have the same event - the newer appointment will win. Kontact does not have a genuine conflict resolution feature, that is, an option for merging both appointments.

Views

If you intend to use your new resources under Windows, you have two options. One option is the free Kolab compatible Athera [3] client for Windows by The Kompany. But if you want to keep Outlook, or if you are not allowed to drop it, you might like to consider using the IMAP plugin for Outlook by Toltech. Unfortunately, the client is commercial and costs US$ 14 per desktop.

Both programs allow you to use IMAP resources in a Microsoft environment. Outlook users will need to use the language of the Outlook version when creating the resources on the IMAP server.

Progress

Besides not having a conflict resolution feature, Kontact currently lacks an option for using multiple IMAP resources. Both functions will be available when version 3.4 of the KDE PIM package hits the streets. The software release is planned for early in 2005.

Glossary

Resources: Kontact's idea of a resource is a calendar or address book stored at a specific location (such as on another machine or groupware server), which you can access using a specific protocol (IMAP, ssh, etc.).

Info

[1] Kontact homepage: http://www.kontact.org

[2] Kolab hompage: http://www.kolab.org

[3] Athera Client: http://www.thekompany.com/projects/aethera/