KDE PIM/KOrganizer: Difference between revisions

From KDE Community Wiki
(Dead links)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
= Developer Information =
= Developer Information =


[[Image:Icon48-KOrganizer.png|left|KOrganizer]] KOrganizer is the calendar and scheduling program for KDE. KOrganizer provides management of events and tasks, alarm notification, web export, network transparent handling of data, group scheduling, import and export of calendar files and more.
[[Image:Icon48-KOrganizer.png|left|KOrganizer]] KOrganizer is the calendar and scheduling program for KDE. KOrganizer provides management of events and tasks, alarm notification, network transparent handling of data, group scheduling, import and export of calendar files and more.
 
<br clear=all>
* [[KDE_PIM/Development/CodingStyle/Korganizer|Coding Style]] -- please follow these style guidelines when writing code in KOrganizer, so that your code is easy to integrate with the existing codebase.  
* [[Get_Involved/development|Development Environment]] -- how to set up the tools you need.
* [[Policies/Frameworks_Coding_Style|Coding Style]] -- please follow these style guidelines when writing code in KOrganizer, so that your code is easy to integrate with the existing codebase.  
* [[KDE_PIM/KOrganizer/Architecture|Architecture]] -- basic description of the architecture of KOrganizer.
* [[KDE_PIM/KOrganizer/Architecture|Architecture]] -- basic description of the architecture of KOrganizer.


As always, the [http://api.kde.org/4.x-api/kdepim-apidocs/ API Dox] are a useful reference. The [http://api.kde.org/4.x-api/kdepim-apidocs/korganizer/html/index.html KOrganizer APIDOX] and [http://api.kde.org/4.x-api/kdepimlibs-apidocs/kcal/html/index.html libkcal APIDOX] are quite extensive.
As always, the [https://api.kde.org/ API Dox] are a useful reference.


== Calendar Formats ==
== Calendar Formats ==


KOrganizer is based on the iCalendar standard.
KOrganizer is based on the iCalendar standard.
** [https://tools.ietf.org/html/rfc5545 iCalendar format]
* [https://tools.ietf.org/html/rfc5545 iCalendar format]
** [https://tools.ietf.org/html/rfc5546 iTIP] iCalendar Transport-Independent Interoperability Protocol
* [https://tools.ietf.org/html/rfc5546 iTIP] iCalendar Transport-Independent Interoperability Protocol
** [https://tools.ietf.org/html/rfc6047 iMIP] iCalendar Message-Based Interoperability Protocol
* [https://tools.ietf.org/html/rfc6047 iMIP] iCalendar Message-Based Interoperability Protocol
** [https://github.com/libical/libical libical], an Open Source effort to implement the iCalendar and related standards.
* [https://github.com/libical/libical libical], an Open Source effort to implement the iCalendar and related standards.


== KOrganizer Development Links ==
== KOrganizer Development Links ==
Line 24: Line 25:
** [mailto:[email protected] [email protected]] for discussions about general KDE application development.
** [mailto:[email protected] [email protected]] for discussions about general KDE application development.
** [mailto:[email protected] [email protected]] is the mailing list for [http://qt.nokia.com Qt] developers. As KDE is based on Qt, you will find this list valuable.
** [mailto:[email protected] [email protected]] is the mailing list for [http://qt.nokia.com Qt] developers. As KDE is based on Qt, you will find this list valuable.
* Finally there is the source code itself. Have a look at the [https://projects.kde.org/ web frontend to the KDE projects]. There you have access to the complete code base of the central KDE packages and can follow the development process by looking at the history of individual files.
* Finally there is the source code itself. Have a look at the [https://invent.kde.org/ KDE repositories]. There you have access to the complete code base of the central KDE packages and can follow the development process by looking at the history of individual files.


== Architecture and framework ==
== Architecture and framework ==

Latest revision as of 17:07, 28 February 2021

Developer Information

KOrganizer
KOrganizer

KOrganizer is the calendar and scheduling program for KDE. KOrganizer provides management of events and tasks, alarm notification, network transparent handling of data, group scheduling, import and export of calendar files and more.


  • Development Environment -- how to set up the tools you need.
  • Coding Style -- please follow these style guidelines when writing code in KOrganizer, so that your code is easy to integrate with the existing codebase.
  • Architecture -- basic description of the architecture of KOrganizer.

As always, the API Dox are a useful reference.

Calendar Formats

KOrganizer is based on the iCalendar standard.

  • iCalendar format
  • iTIP iCalendar Transport-Independent Interoperability Protocol
  • iMIP iCalendar Message-Based Interoperability Protocol
  • libical, an Open Source effort to implement the iCalendar and related standards.

KOrganizer Development Links

There are many sources of information about KDE development on the internet. The following list shows only a small subset of the available web pages. Have a look for more by yourself.

  • KDE Techbase is the central site for KDE development information. Not all pages necessarily reflect the latest state of KDE development, because this is moving very fast, but there is a lot of useful information.
  • Mailing Lists. That's probably the ultimate source of development information. Follow discussions of KDE core and application developers and ask your questions. Unless you don't think about what you are saying, you will surely get an answer. The following mailing lists might be of interest for you:
    • [email protected] for personal information manager issues, including KOrganizer development. That's the list for KOrganizer specific questions and discussions. Further information on the kdepim-mailinglist can be found here.
    • [email protected] for discussions about general KDE application development.
    • [email protected] is the mailing list for Qt developers. As KDE is based on Qt, you will find this list valuable.
  • Finally there is the source code itself. Have a look at the KDE repositories. There you have access to the complete code base of the central KDE packages and can follow the development process by looking at the history of individual files.

Architecture and framework

  • KOrganizer makes use of the KDE resource framework KResources which provides uniform management of calendar, addressbook and similar resources including generic ways to handle locking and change notification. This also provides a plugin interface for adding resources which makes it possible to easily extend Korganizer for example to access groupware servers or other ways to store calendar data.
  • KOrganizer configuration is based on KConfig XT. That means that there is an abstract XML based description of the configuration which is used for generating the needed code to access the configuration data and serves as base for external configuration tools.
  • Accessing the calendar from the command line is handled by a native command line application, konsolekalendar.