KDE PIM/KHolidays: Difference between revisions

From KDE Community Wiki
Line 37: Line 37:
* http://websvn.kde.org/trunk/playground/pim/libkholidays_ng/
* http://websvn.kde.org/trunk/playground/pim/libkholidays_ng/


The following development plan is designed to become a Freedesktop.org project so that the maintenance burden can be shared with Gnome and any other interested parties.  A proposal will be presented at the Berlin Desktop Summit in August 2011.
The following development plan is designed to become a Freedesktop.org project so that the maintenance burden can be shared with Gnome and any other interested parties.


* Design a new XML based file format
* Design a new XML based file format
Line 44: Line 44:
* Implement a pure Qt library to wrap the C library in kdesupport
* Implement a pure Qt library to wrap the C library in kdesupport
* Implement an Akonadi resource
* Implement an Akonadi resource
A proposal was presented at the [https://www.desktopsummit.org/program/sessions/defining-common-standards-calendar-systems-and-holidays Berlin Desktop Summit in August 2011].  The [https://www.desktopsummit.org/sites/www.desktopsummit.org/files/CalSysHolidaysDS2011.pdf slides from the talk] go into more detail.

Revision as of 22:28, 24 May 2012

The KHolidays Library

Introduction

The KHolidays library in kdepimlibs provides details on public holidays for a given country and date range. A separate library and file format is required as iCalendar is not capable of expressing recurrence rules for all possible holidays.

Maintainers

  • John Layt (IRC jlayt)
  • Allen Winter

Resources

Features

The following features are available in KHolidays that are not supported in iCalendar:

  • Alternative calendar systems (Hebrew, Islamic, etc)
  • Special date calculations, currently Easter and Orthodox Easter, but can include events like solstices, or any named day of the year.
  • Commemoration date, i.e. Christmas occurs on a Sunday, you get the Monday off.
  • Holiday Class, i.e.day-of,not day off, religious day off, school holiday, etc
  • Holiday Categories, i.e. Cutural, Official, Religious, etc.

File Format

The file format originally used was the PLAN format, but this has been extended a number of times to support new features. The limits of the format have about been reached and it is too complex for easy maintenance. It is intended to add a few more features to the format then to design a new XML file format to replace it.

Future Plans

The following development plan is designed to become a Freedesktop.org project so that the maintenance burden can be shared with Gnome and any other interested parties.

  • Design a new XML based file format
  • Convert KDE files to new format
  • Implement a base C (?) library to parse the XML file and calculate the holidays, will include calendar systems if not in glibc by then. No desktop specific code allowed, i.e. to be equivalent to libical.
  • Implement a pure Qt library to wrap the C library in kdesupport
  • Implement an Akonadi resource

A proposal was presented at the Berlin Desktop Summit in August 2011. The slides from the talk go into more detail.