KDE PIM/KHolidays: Difference between revisions

From KDE Community Wiki
Line 29: Line 29:
== Future Plans ==
== Future Plans ==


* Old design https://projects.kde.org/projects/kde/kdepimlibs/repository/revisions/master/entry/kholidays/DESIGN
* [https://projects.kde.org/projects/kde/kdepimlibs/repository/revisions/master/entry/kholidays/DESIGN Old design document]
* 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.  A proposal will be presented at the Berlin Desktop Summit in August 2011.

Revision as of 17:16, 13 May 2011

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 such as Easter

File Format

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. A proposal will be presented at the Berlin Desktop Summit in August 2011.

  • 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