Chapter 3. Importing, Exporting, and Managing Calendars

KOrganizer can store (and retrieve) events, journal entries and to-dos using various methods, and to different locations. Each of these locations is called a calendar resource.

KOrganizer supports calendar files based on standards such as iCalendar and vCalendar natively (adding them as new resources), but you can import the data (merge) into an existing resource and open the file in a new window too. Importing files in the format used by the old ical application is also supported.

You can export your data as a web page, as an iCalendar or vCalendar file. These files are supported by most scheduling applications. The web page can be used to publish your calendar and to-do list on the web or on the local network.

In this chapter, we will explain how to manage your calendar, using the resources, import and export actions and the get hot new stuff scheme.

Calendar Resources

KOrganizer uses a local file, usually $KDEHOME/share/apps/korganizer/std.ics, as its default resource. But this is not your only option: there are several other resources you can add: groupware servers, journal entries as blogs, network files, etc. If you use more than one resource, KOrganizer can be configured to use the default resource or ask which resource to use when saving new events, to-dos or journal entries. KOrganizer will seamlessly merge the items from two or more resources in the views.

The default resource is a good choice for many use cases, but you may want to use another resource, especially if you use a supported groupware server. Please ask the server administrator for the information required to configure the groupware resource, including free/busy information publishing and retrieving. Access to free/busy information allows an event organizer to take the attendee's calendar into consideration when adding him to the event's attendee list.


Besides calendar storage, groupware servers typically offer contacts, mail and free/busy information storage. Therefore, some of the resources discussed here may be related to other resources from KMail and KAddressBook (the mail and contacts components of Kontact), or to the free/busy settings in the main configuration.

Please note that KOrganizer group scheduling communication is based on a peer to peer email standard. This means that you do not need a groupware server to use it!

A screenshot of KOrganizer's Add Calendars dialog

A screenshot of KOrganizer's Add Calendars dialog

Procedure 3.1. Adding a New KOrganizer Resource

  1. Open KOrganizer's settings dialog with SettingsConfigure KOrganizer... and select the Calendars tab from the General page.

    Alternatively open the context menu in the Calendar Manager sidebar with a right mouse button click and select Add Calendar...

  2. If the Calendar Manager is not displayed on the sidebar, choose the SettingsSidebarShow Calendar Manager menu item to display it.

  3. Press the Add... button to add new resources to the list of available resources.

  4. Check or uncheck the resource box to enable or disable it.

  5. Later, if you want to edit or delete a resource, select it on the Calendar Manager sidebar and press Delete Calendar to delete it or Calendar Properties... to modify it.

Among the existing resources, you can find in KOrganizer:

Birthdays & Anniversaries

Provides access to birthday and anniversary dates of contacts in your address book as calendar events.

DAV groupware resource

Resource to manage DAV calendars and address books (CalDAV, GroupDAV).

ICal Calendar File

Loads data from an iCal file.

KDE Address Book (traditional)

Loads data from a traditional KDE address book resource.

Kolab Groupware Server

Provides access to Kolab groupware folders on an IMAP server (IMAP accounts need to be set up separately).

Open-Xchange Groupware Server

Provides access to the appointments, tasks, and contacts of an Open-Xchange groupware server.

Alternatively, you can configure the KOrganizer resources (plus all other KDE resources), in the System Settings, using the KDE Resources configuration module.


Provides access to calendars stored in Akonadi calendar folders.

Journal in a blog

Add this resource to be able to read your blogs as journal entries, directly from blog servers, such as blogger and drupal.

Bugzilla To-do List

Add this resource to load bugzilla open bugs as to-dos. This resource is based on the kbugbuster application, and uses its bug cache information. Bugzilla is an open source bug tracking system.

If you are a developer working on a project that uses bugzilla, you can use this resource to view as to-dos the open bugs of the applications or libraries you are interested in (they are called products and/or components in bugzilla). This resource is available as part of the KDE Software Development kit.

Calendar in Local File

Add this resource to be able to save (and load) your events, to-dos and journal entries to a local file. The file can be in the iCalendar or in the vCalendar standard format. KOrganizer uses this resource by default, storing your calendar information under $KDEHOME/share/apps/korganizer/std.ics.

GroupDav Server (e.g. Open Groupware)

If you have access to a server that supports the GroupDav protocol, add this resource in order to be able to save (and load) events and to-dos to the server. To add the resource, you will need to know the server URL, your user name and your password. The GroupDav protocol supports the storage of contacts, so you may want to add and configure the KAddressBook resource too.

As of June 2005, the groupware servers that implement this protocol are the OpenGroupware server and the Citadel server. An up to date list can be obtained at the GroupDav website.

Calendar on IMAP Server via KMail

If you have access to a server that shares calendar data via IMAP, add this resource in order to be able to save (and load) events, to-dos, free/busy information and journal entries to the IMAP server. To enable IMAP access, you will need to configure KMail first, then add the KOrganizer resource. Also, since you are using KMail to contact the server, KOrganizer will open KMail automatically, and use it to access your data. The IMAP server via KMail schema supports the storage of contacts, so you may want to add the KAddressBook resource too.

Most IMAP servers can be used to hold calendar and address book resources, allowing you to access your data from just anywhere! If you are a user looking for a simple way to access and manage your groupware information, this is a simple and very efficient solution.

To use this resource, it is necessary to configure KMail first. Choose the SettingsConfigure KMail... menu item. Click the Accounts icon in the configure dialog sidebar and add the IMAP server as a disconnected IMAP incoming account. Now click the Misc icon in the sidebar and click the Groupware tab to enable and configure the IMAP resource folder options. Only then you can add the KOrganizer (and KAddressBook) resources. For more information on configuring KMail, consult the KMail handbook.

A more complete implementation of this schema is the Kolab Server. This groupware implementation offers additional features for system administrators, such as support of mixed client environments (Microsoft® Outlook(R), KDE PIM and web mail), a web administration interface, shared address book, email server, etc. As of June 2005, the groupware servers that implement the Kolab 1 and Kolab 2 protocols are the Kolab server, version 1 and 2, and the Citadel server (Kolab 1 only). An up to date list can be obtained at the Kolab website.

The most practical way to configure the access to a Kolab server is to use the kolabwizard wizard application. You can start it from the command line prompt:


Calendar in Local Directory

Add this resource to be able to save and load your events, to-dos and journal entries from a local folder. Each calendar item will be saved in a separate file, inside the folder.

Since there is only one file per event, to-do, or journal entry, KOrganizer does not need to parse one big calendar file, sometimes with thousands of items when saving or loading, just one single calendar item. Also, in case of file corruption, you will lose only one calendar item, not the whole calendar.

Calendar in Remote File

Add this resource to be able to save and load your events, to-dos and journal entries from a remote file. There are two main advantages of keeping your calendar data in a remote server: you can access your data even if you are away from your computer, and you can let other people (for instance, a secretary) view it. KOrganizer keeps a cache of the data locally.

A screenshot of KOrganizer's Remote File Resource Configuration

A screenshot of KOrganizer's Remote File Resource Configuration

You can configure the resource to be read only, keeping the remote file untouched. In this case, you won't need to supply a Upload to location, just a Download from location for the remote file. If you plan to use a writable remote resource, you will have to supply both locations. The reason to have separate locations, is that some servers may have an upload queue, a place where you need to put the upload file, different from its final location. In most cases, if you have write access to the remote file, the Upload to and Download from file locations should be the same.

It is important to understand that the remote file resource does not add or remove individual items from the remote file, it simply saves the remote file over local cache when downloading and save the local cache over the remote file when uploading. Therefore, if the resource is read only, it makes sense to set the Automatic Reload option to a Regular interval, but if not (if the resource is writable), it is recommended to reload the file only before starting to edit it, by setting the Automatic Reload option to On startup, and to save it before exiting, by setting the Automatic Save option at least to On exit, or better yet, if you have a fast and stable connection to the remote file, set it to On every change to avoid data loss.


If you add, change or remove events, journal entries or to-dos and reload the remote file, all your local changes will be lost, and the file will revert to its previous state. This can happen in different scenarios (for instance if the system crashes, KOrganizer will reload the remote file on the next start, if you set the Automatic Save to Never, or if you set the Automatic Reload to a regular interval). If you plan to use a calendar resource in writable mode, make sure that your connection is stable, configure the resource to save the file on each change (or at frequent intervals), and do not reload the file at regular intervals.

A related, but opposite problem, is that two users cannot safely edit the same remote file at the same time, because the remote file resource does not offer a conflict resolution mechanism. For instance, if someone else changes (and saves) the remote file, after you loaded it, and at some later time you save the file, his changes will be lost.