Difference between revisions of "Plasma/Clock"

Jump to: navigation, search
(New page!)
 
(Resources)
Line 5: Line 5:
  
 
http://userbase.kde.org/Plasma/Clocks
 
http://userbase.kde.org/Plasma/Clocks
 +
http://forum.kde.org/viewtopic.php?f=114&t=83326
 +
[https://bugs.kde.org/buglist.cgi?order=Importance&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=widget-clock&product=plasma KDE Bugzilla all open Plasma Clock bugs]
 +
 +
== Current Implementation ==
 +
 +
The current implementation can be found in the following locations.
 +
 +
Time DataEngine
 +
https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/time
 +
 +
Calendar DataEngine
 +
https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/calendar
 +
 +
Akonadi DataEngine
 +
https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/akonadi
 +
 +
Plasma Clock Library, holding the common base implementation for all clock/calendar widgets
 +
https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/libs/plasmaclock
 +
 +
The Calendar Applet
 +
https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/calendar
 +
 +
The Digital Clock Applet
 +
https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/digital-clock
 +
 +
The Analog Clock Applet
 +
https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/analog-clock
 +
 +
The Binary Clock Applet
 +
https://projects.kde.org/projects/kde/kdeplasma-addons/repository/revisions/master/show/applets/binary-clock
 +
 +
The Fuzzy Clock
 +
https://projects.kde.org/projects/kde/kdeplasma-addons/repository/revisions/master/show/applets/fuzzy-clock
 +
 +
 +
 +
== PIM Data Interface ==
 +
 +
Currently PIM data is read-only and is provided via the Calendar DataEngine.  To make PIM data 2-way would require the creation of a Service.  However, the Akonadi interface and the creation of PIM data in general is very complex and is not ideally suited to being mapped into a Data Engine or Service.  The API would be very big and unwieldy and a maintenance nightmare.  This is one occasion where Plasma elements requiring complex functionality will be better off directly using the Akonadi API and UI elements.  However this doesn't stop a simplified service being provided that would meet 80% of needs with the more complex requirements being left for the native apps to handle.
 +
 +
=== Plasma Service Design ===
 +
 +
An initial minimal Plasma Service has been defined at:
 +
 +
https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/entry/plasma/generic/dataengines/calendar/calendar.operations
 +
 +
The actual implementation is still required.

Revision as of 13:20, 28 May 2012

Plasma is all about Clocks. It's an old joke, but it contains a kernel of truth. The clock is the one element of the desktop most people depend on, and it can be a valuable conduit for information they need. This page will co-ordinate all the resources around the Plasma Clock and plans for it's future.


Resources

http://userbase.kde.org/Plasma/Clocks http://forum.kde.org/viewtopic.php?f=114&t=83326 KDE Bugzilla all open Plasma Clock bugs

Current Implementation

The current implementation can be found in the following locations.

Time DataEngine https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/time

Calendar DataEngine https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/calendar

Akonadi DataEngine https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/akonadi

Plasma Clock Library, holding the common base implementation for all clock/calendar widgets https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/libs/plasmaclock

The Calendar Applet https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/calendar

The Digital Clock Applet https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/digital-clock

The Analog Clock Applet https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/analog-clock

The Binary Clock Applet https://projects.kde.org/projects/kde/kdeplasma-addons/repository/revisions/master/show/applets/binary-clock

The Fuzzy Clock https://projects.kde.org/projects/kde/kdeplasma-addons/repository/revisions/master/show/applets/fuzzy-clock


PIM Data Interface

Currently PIM data is read-only and is provided via the Calendar DataEngine. To make PIM data 2-way would require the creation of a Service. However, the Akonadi interface and the creation of PIM data in general is very complex and is not ideally suited to being mapped into a Data Engine or Service. The API would be very big and unwieldy and a maintenance nightmare. This is one occasion where Plasma elements requiring complex functionality will be better off directly using the Akonadi API and UI elements. However this doesn't stop a simplified service being provided that would meet 80% of needs with the more complex requirements being left for the native apps to handle.

Plasma Service Design

An initial minimal Plasma Service has been defined at:

https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/entry/plasma/generic/dataengines/calendar/calendar.operations

The actual implementation is still required.


Content is available under Creative Commons License SA 4.0 unless otherwise noted.