GSoC idea: Country holiday service for calendar and calendar improvements

7 views
Skip to first unread message

Mark

unread,
Mar 9, 2012, 7:15:03 PM3/9/12
to kdelibs
Hi,

Disclaimer: This is just an idea. I don't have plans to make this and i sadly lack the time to even implement it. However, someone might be interested to mentor this and someone else might be interested to do this as a GSoC project. Provided that something alike isn't already existing. I didn't do a lot of searching prior of making this mail.

= Current issue = 
The current digital clock has a calendar, but the default events are really pointless for non usa people. I see the events and i certainly don't live in the usa. So, the data in there has to be a little more focused on where the user lives. For example having the Dutch holidays in it for the Dutch users. German for... you get the idea.

= Issues =
I'm not a KDE n00b and i have no clue where the current calender events are pulled from or where i can even change them, add them or delete them. It's not visible at all. I would have expected korganizer but to my surprise that is empty. So where is is pulling the events from?

= Calendar improvements =
* Make it transparent where the events are pulled from
* Make it user changeable (integrate with korganizer?)

= The holidays themselves =
I just did a google search on "worldwide holidays" and "worldwide holidays api" (since we would probably like to use something that's already there. That turned out:

One API but it's not free to use. So that leads me to think (more searching is needed though) that there isn't a free service for providing the holidays. For now i assume such a thing isn't there in a free manner thus it has to be made.

= make it yourself: holidays.kde.org =
No, that domain doesn't work (yet) ;)
Since there is no free holiday API, but all the data is freely available on the internet http://en.wikipedia.org/wiki/List_of_holidays_by_country why not make a holiday system where users can contribute the holidays. So i for example can add all the dutch holidays, someone can review and check that i didn't fill in bogus data and done. Dutch holidays are in the system. This system then needs an API (REST perhaps?) where you can request all holidays by (or a mixture of) year/country/month/day something like that. Make the web API publicly and freely available for anyone to use.

= Integrate holidays.kde.org with organizer or akonadi (or nepomuk?.. i lost it) =
Lets for the moment make the assumption that this data is PIM data thus akonadi is the one where this should be stored. Organizer should interface with akonadi. I could be mixing up the akonadi and nepomuk names now. If so, please do correct me. Either way, the API of holidays.kde.org should be used to fetch and store the users country holidays in his local PIM database which should show up in KOrganizer (as a seperate calendar) and that should show up in the digital clock calendar. That seems logical to me.

So that's my idea. I could certainly do the web part (easily!) and i could make the integration in korganizer and akonadi though i would need help in that last area. I would like some more feedback on this to improve the idea where needed. Once you guys like the idea i will put it in the GSoC idea page. I can't mentor this but if someone is willing to mentor this and someone else is going to implement this then i certainly want to provide help where needed.

ps. korganizer looks hopelessly outdated. Perhaps that could be another GSoC, overhaul korganizer in QML or something ^_-

Kind regards,
Mark

todd rme

unread,
Mar 10, 2012, 3:02:50 AM3/10/12
to kde-cor...@kde.org
On Sat, Mar 10, 2012 at 1:15 AM, Mark <mar...@gmail.com> wrote:

> = Current issue =
> The current digital clock has a calendar, but the default events are really
> pointless for non usa people. I see the events and i certainly don't live in
> the usa. So, the data in there has to be a little more focused on where the
> user lives. For example having the Dutch holidays in it for the Dutch users.
> German for... you get the idea.

No, by default the events are from the country in system settings ->
locale Country/Region and Language -> Country. So if you set Germany
there, you will see German holidays.

> = Issues =
> I'm not a KDE n00b and i have no clue where the current calender events are
> pulled from or where i can even change them, add them or delete them. It's
> not visible at all. I would have expected korganizer but to my surprise that
> is empty. So where is is pulling the events from?

If you want to change it to your country, just change your country in
the locale (you have to restart plasma for the changes to take
effect). If you want something other than your locale country,
right-click on the clock -> Digital Clock Settings -> Calender. There
you can enable or disable as many holidays as you want.

> = make it yourself: holidays.kde.org =
> No, that domain doesn't work (yet) ;)
> Since there is no free holiday API, but all the data is freely available on
> the internet http://en.wikipedia.org/wiki/List_of_holidays_by_country why
> not make a holiday system where users can contribute the holidays. So i for
> example can add all the dutch holidays, someone can review and check that i
> didn't fill in bogus data and done. Dutch holidays are in the system. This
> system then needs an API (REST perhaps?) where you can request all holidays
> by (or a mixture of) year/country/month/day something like that. Make the
> web API publicly and freely available for anyone to use.

There is already a holidays API, and people already can and do submit
holidays for different countries to KDE.

> = Integrate holidays.kde.org with organizer or akonadi (or nepomuk?.. i lost
> it) =
> Lets for the moment make the assumption that this data is PIM data thus
> akonadi is the one where this should be stored. Organizer should interface
> with akonadi. I could be mixing up the akonadi and nepomuk names now. If so,
> please do correct me. Either way, the API of holidays.kde.org should be used
> to fetch and store the users country holidays in his local PIM database
> which should show up in KOrganizer (as a seperate calendar) and that should
> show up in the digital clock calendar. That seems logical to me.

Korganizer can already use the API. Go to Settings -> Configure
Korganizer -> Time and Date -> Regional -> Use Holiday Region. It
doesn't appear to use your country by default, though.

-Todd

Mark

unread,
Mar 10, 2012, 9:07:28 AM3/10/12
to kde-cor...@kde.org
On Sat, Mar 10, 2012 at 9:02 AM, todd rme <toddr...@gmail.com> wrote:
On Sat, Mar 10, 2012 at 1:15 AM, Mark <mar...@gmail.com> wrote:

> = Current issue =
> The current digital clock has a calendar, but the default events are really
> pointless for non usa people. I see the events and i certainly don't live in
> the usa. So, the data in there has to be a little more focused on where the
> user lives. For example having the Dutch holidays in it for the Dutch users.
> German for... you get the idea.

No, by default the events are from the country in system settings ->
locale Country/Region and Language -> Country.  So if you set Germany
there, you will see German holidays.

Ah right. That does make me wonder why my system thinks i'm in USA..
 
> = Issues =
> I'm not a KDE n00b and i have no clue where the current calender events are
> pulled from or where i can even change them, add them or delete them. It's
> not visible at all. I would have expected korganizer but to my surprise that
> is empty. So where is is pulling the events from?

If you want to change it to your country, just change your country in
the locale (you have to restart plasma for the changes to take
effect).  If you want something other than your locale country,
right-click on the clock -> Digital Clock Settings -> Calender.  There
you can enable or disable as many holidays as you want.

I see what you mean. Sadly this functionality seems to be broken? I can't select/change/delete any holiday that's in there. I even turned  "display events" off. That results in.. events/holidays being displayed. Seems like the display events checkbox isn't honored.

> = make it yourself: holidays.kde.org =
> No, that domain doesn't work (yet) ;)
> Since there is no free holiday API, but all the data is freely available on
> the internet http://en.wikipedia.org/wiki/List_of_holidays_by_country why
> not make a holiday system where users can contribute the holidays. So i for
> example can add all the dutch holidays, someone can review and check that i
> didn't fill in bogus data and done. Dutch holidays are in the system. This
> system then needs an API (REST perhaps?) where you can request all holidays
> by (or a mixture of) year/country/month/day something like that. Make the
> web API publicly and freely available for anyone to use.

There is already a holidays API, and people already can and do submit
holidays for different countries to KDE.

Please do tell more. 

> = Integrate holidays.kde.org with organizer or akonadi (or nepomuk?.. i lost
> it) =
> Lets for the moment make the assumption that this data is PIM data thus
> akonadi is the one where this should be stored. Organizer should interface
> with akonadi. I could be mixing up the akonadi and nepomuk names now. If so,
> please do correct me. Either way, the API of holidays.kde.org should be used
> to fetch and store the users country holidays in his local PIM database
> which should show up in KOrganizer (as a seperate calendar) and that should
> show up in the digital clock calendar. That seems logical to me.

Korganizer can already use the API.  Go to Settings -> Configure
Korganizer -> Time and Date -> Regional -> Use Holiday Region.  It
doesn't appear to use your country by default, though.

ehh, oke. It "kinda" works but work is definitively needed to make KOrganizer be intuitive. 

-Todd

So, the systems all do "seem" to be in place. It's just seems to be haunted by a couple of nasty bugs.

todd rme

unread,
Mar 10, 2012, 10:02:00 AM3/10/12
to kde-cor...@kde.org
On Sat, Mar 10, 2012 at 3:07 PM, Mark <mar...@gmail.com> wrote:
> On Sat, Mar 10, 2012 at 9:02 AM, todd rme <toddr...@gmail.com> wrote:
>>
>> On Sat, Mar 10, 2012 at 1:15 AM, Mark <mar...@gmail.com> wrote:
>>
>> > = Current issue =
>> > The current digital clock has a calendar, but the default events are
>> > really
>> > pointless for non usa people. I see the events and i certainly don't
>> > live in
>> > the usa. So, the data in there has to be a little more focused on where
>> > the
>> > user lives. For example having the Dutch holidays in it for the Dutch
>> > users.
>> > German for... you get the idea.
>>
>> No, by default the events are from the country in system settings ->
>> locale Country/Region and Language -> Country.  So if you set Germany
>> there, you will see German holidays.
>>
> Ah right. That does make me wonder why my system thinks i'm in USA..

I don't know. Try removing the clock applet and re-adding it.

>>
>> > = Issues =
>> > I'm not a KDE n00b and i have no clue where the current calender events
>> > are
>> > pulled from or where i can even change them, add them or delete them.
>> > It's
>> > not visible at all. I would have expected korganizer but to my surprise
>> > that
>> > is empty. So where is is pulling the events from?
>>
>> If you want to change it to your country, just change your country in
>> the locale (you have to restart plasma for the changes to take
>> effect).  If you want something other than your locale country,
>> right-click on the clock -> Digital Clock Settings -> Calender.  There
>> you can enable or disable as many holidays as you want.
>
>
> I see what you mean. Sadly this functionality seems to be broken? I can't
> select/change/delete any holiday that's in there. I even turned  "display
> events" off. That results in.. events/holidays being displayed. Seems like
> the display events checkbox isn't honored.

Works for me. I think events and holidays aren't the same thing, try
turning all the holidays off if you don't want them.

>>
>> > = make it yourself: holidays.kde.org =
>> > No, that domain doesn't work (yet) ;)
>> > Since there is no free holiday API, but all the data is freely available
>> > on
>> > the
>> > internet http://en.wikipedia.org/wiki/List_of_holidays_by_country why
>> > not make a holiday system where users can contribute the holidays. So i
>> > for
>> > example can add all the dutch holidays, someone can review and check
>> > that i
>> > didn't fill in bogus data and done. Dutch holidays are in the system.
>> > This
>> > system then needs an API (REST perhaps?) where you can request all
>> > holidays
>> > by (or a mixture of) year/country/month/day something like that. Make
>> > the
>> > web API publicly and freely available for anyone to use.
>>
>> There is already a holidays API, and people already can and do submit
>> holidays for different countries to KDE.
>
>
> Please do tell more.

http://www.layt.net/john/blog/odysseus/holidays_in_kde_release_46

Look at the end for info on how to get more added.

>>
>>
>> > = Integrate holidays.kde.org with organizer or akonadi (or nepomuk?.. i
>> > lost
>> > it) =
>> > Lets for the moment make the assumption that this data is PIM data thus
>> > akonadi is the one where this should be stored. Organizer should
>> > interface
>> > with akonadi. I could be mixing up the akonadi and nepomuk names now. If
>> > so,
>> > please do correct me. Either way, the API of holidays.kde.org should be
>> > used
>> > to fetch and store the users country holidays in his local PIM database
>> > which should show up in KOrganizer (as a seperate calendar) and that
>> > should
>> > show up in the digital clock calendar. That seems logical to me.
>>
>> Korganizer can already use the API.  Go to Settings -> Configure
>> Korganizer -> Time and Date -> Regional -> Use Holiday Region.  It
>> doesn't appear to use your country by default, though.
>
>
> ehh, oke. It "kinda" works but work is definitively needed to make
> KOrganizer be intuitive.

If you have a specific suggestion you can file a bug report. However,
it is almost certainly not sufficient for a GSOC project.

-Todd

Mark

unread,
Mar 10, 2012, 10:28:39 AM3/10/12
to kde-cor...@kde.org
On Sat, Mar 10, 2012 at 4:02 PM, todd rme <toddr...@gmail.com> wrote:
On Sat, Mar 10, 2012 at 3:07 PM, Mark <mar...@gmail.com> wrote:
> On Sat, Mar 10, 2012 at 9:02 AM, todd rme <toddr...@gmail.com> wrote:
>>
>> On Sat, Mar 10, 2012 at 1:15 AM, Mark <mar...@gmail.com> wrote:
>>
>> > = Current issue =
>> > The current digital clock has a calendar, but the default events are
>> > really
>> > pointless for non usa people. I see the events and i certainly don't
>> > live in
>> > the usa. So, the data in there has to be a little more focused on where
>> > the
>> > user lives. For example having the Dutch holidays in it for the Dutch
>> > users.
>> > German for... you get the idea.
>>
>> No, by default the events are from the country in system settings ->
>> locale Country/Region and Language -> Country.  So if you set Germany
>> there, you will see German holidays.
>>
> Ah right. That does make me wonder why my system thinks i'm in USA..

I don't know.  Try removing the clock applet and re-adding it.

ahh, seems my system locale was still set at the default. Changed that but i don't know if that fixes it.

>>
>> > = Issues =
>> > I'm not a KDE n00b and i have no clue where the current calender events
>> > are
>> > pulled from or where i can even change them, add them or delete them.
>> > It's
>> > not visible at all. I would have expected korganizer but to my surprise
>> > that
>> > is empty. So where is is pulling the events from?
>>
>> If you want to change it to your country, just change your country in
>> the locale (you have to restart plasma for the changes to take
>> effect).  If you want something other than your locale country,
>> right-click on the clock -> Digital Clock Settings -> Calender.  There
>> you can enable or disable as many holidays as you want.
>
>
> I see what you mean. Sadly this functionality seems to be broken? I can't
> select/change/delete any holiday that's in there. I even turned  "display
> events" off. That results in.. events/holidays being displayed. Seems like
> the display events checkbox isn't honored.

Works for me.  I think events and holidays aren't the same thing, try
turning all the holidays off if you don't want them.

Ahh, found it. Do you know how the calendar looks when you disable holidays and events.. Give it a shot, it isn't looking well 

>>
>> > = make it yourself: holidays.kde.org =
>> > No, that domain doesn't work (yet) ;)
>> > Since there is no free holiday API, but all the data is freely available
>> > on
>> > the
>> > internet http://en.wikipedia.org/wiki/List_of_holidays_by_country why
>> > not make a holiday system where users can contribute the holidays. So i
>> > for
>> > example can add all the dutch holidays, someone can review and check
>> > that i
>> > didn't fill in bogus data and done. Dutch holidays are in the system.
>> > This
>> > system then needs an API (REST perhaps?) where you can request all
>> > holidays
>> > by (or a mixture of) year/country/month/day something like that. Make
>> > the
>> > web API publicly and freely available for anyone to use.
>>
>> There is already a holidays API, and people already can and do submit
>> holidays for different countries to KDE.
>
>
> Please do tell more.

http://www.layt.net/john/blog/odysseus/holidays_in_kde_release_46

Look at the end for info on how to get more added.

That... could use a GSoC ;-)
 
>>
>>
>> > = Integrate holidays.kde.org with organizer or akonadi (or nepomuk?.. i
>> > lost
>> > it) =
>> > Lets for the moment make the assumption that this data is PIM data thus
>> > akonadi is the one where this should be stored. Organizer should
>> > interface
>> > with akonadi. I could be mixing up the akonadi and nepomuk names now. If
>> > so,
>> > please do correct me. Either way, the API of holidays.kde.org should be
>> > used
>> > to fetch and store the users country holidays in his local PIM database
>> > which should show up in KOrganizer (as a seperate calendar) and that
>> > should
>> > show up in the digital clock calendar. That seems logical to me.
>>
>> Korganizer can already use the API.  Go to Settings -> Configure
>> Korganizer -> Time and Date -> Regional -> Use Holiday Region.  It
>> doesn't appear to use your country by default, though.
>
>
> ehh, oke. It "kinda" works but work is definitively needed to make
> KOrganizer be intuitive.

If you have a specific suggestion you can file a bug report.  However,
it is almost certainly not sufficient for a GSOC project.

Well, i actually think the calendar and clock part should be redesigned in QML and be 2 different "plasmoids". When events and/or holidays are enabled those two components should be somehow placed in a container component (does that even exist?) which should look the same as the current calendar.

Anyway, the current way that holidays and events are done is way to much black magic. It really should be very transparent through KOrganizer where those items are just being shown in the calendar next to the clock. The current way is just not user friendly.

-Todd

John Layt

unread,
Mar 16, 2012, 11:09:55 AM3/16/12
to kde-cor...@kde.org
On Saturday 10 Mar 2012 01:15:03 Mark wrote:
> Hi,
>
> Disclaimer: This is just an idea. I don't have plans to make this and i
> sadly lack the time to even implement it. However, someone might be
> interested to mentor this and someone else might be interested to do this
> as a GSoC project. Provided that something alike isn't already existing. I
> didn't do a lot of searching prior of making this mail.

Hi Mark,

I'm one of the maintainers of the KHolidays library which provides the holiday
events throughout KDE, and sometimes contributor to the plasma clock/calendar.

You can find some information about KHolidays at
http://community.kde.org/KDE_PIM/KHolidays , in particular some details about
plans for a new version of the file format and library that should be more
flexible and portable and easier to contribute to. Ideally the data files
would be a cross-desktop effort.

You can also find some more details in the slides for a talk I gave at the
last Desktop Summit. Sadly no video survived :-) See
https://www.desktopsummit.org/program/sessions/defining-common-standards-
calendar-systems-and-holidays

It could be an interesting GSoC project to try implement the new file format
and library, but I'm not sure I can mentor it, I tried last year and made a
hash of it, and I'm unlikely to have enough time this year either.

It does sound like there are some problems with your config, Holidays in the
Plasma Clock do seem to work correctly for most people now. Perhaps find and
delete the config file for the clock? Or try it in a new user to see if it is
broken there?

Cheers!

John.


Mark

unread,
Mar 16, 2012, 12:10:53 PM3/16/12
to kde-cor...@kde.org, John Layt
Well, i found that one. My system was set at en_us for the locale. I switched it to dutch. That works fine for the calendar.
However, now some applications are displayed in dutch as well and that's not what i wanted. I somehow want to let my system know i'm in the Netherlands, but want to have the english language.

-- using archlinux btw --
 
Cheers!

John.



Regards,
Mark

todd rme

unread,
Mar 17, 2012, 4:54:34 AM3/17/12
to kde-cor...@kde.org

Locale -> country, region, and language -> Preferred languages, and
move English to the top of the list. You should probably look at all
the options in that module, there is a lot you can configure.

-Todd

Mark

unread,
Mar 17, 2012, 6:18:46 AM3/17/12
to kde-cor...@kde.org
Thank you for that, that will certainly help for KDE :)
Is there some kind of a system wide (non kde specific) setting for that as well?
Reply all
Reply to author
Forward
0 new messages