Bug 383896 - Israel's holidays are not displayed
Summary: Israel's holidays are not displayed
Status: CONFIRMED
Alias: None
Product: frameworks-kholidays
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: git
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL: http://bugzilla.opensuse.org/show_bug...
Keywords:
: 424547 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-08-23 09:43 UTC by Wolfgang Bauer
Modified: 2022-09-10 10:46 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfgang Bauer 2017-08-23 09:43:17 UTC
If you choose "Israel (English)" or "Israel (Hebrew)" holidays in KOrganizer's settings (and restart KOrganizer), no holidays are displayed at all.

I suppose that's because kholidays' QCalendarSystem class (src/parsers/qcalendarsystem.cpp) seems to have no support for the Hebrew calendar implemented.

That's with the latest version 5.6.0 (from KDE Applications 17.08.0).
Comment 1 Luigi Toscano 2018-12-06 18:30:24 UTC
This is still valid. Reported on IRC and confirmed by a quick check with kholidays 5.52 (now in Frameworks).
Comment 2 Shimi 2018-12-06 18:40:15 UTC
(In reply to Luigi Toscano from comment #1)
> This is still valid. Reported on IRC and confirmed by a quick check with
> kholidays 5.52 (now in Frameworks).

I'm the reporter on IRC.

I would like to emphasize that this is not sure Israel's holidays as can be understood from the title of this bug. Right, they're "assigned" to "Israel", but in fact all Israel's holidays are in fact the Jewish holidays, celebrated by all Jews across the world. We're talking about Passover, Hannukah etc. So whenever someone, Jewish or not, wants to know when is Hannukah this year (which is a different day every year on the Gregorian calendar) - they basically can't do that with Plasma 5.

I would ALSO like to emphasize, that this is A REGRESSION. This worked perfectly in KDE 4, and was actually one of the "Linux" features I showed off to friends as lacking in their corporate operating systems. Now it is gone :(
Comment 3 Shimi 2018-12-06 18:45:34 UTC
(In reply to Shimi from comment #2)

> I would like to emphasize that this is not sure Israel's holidays as can be

Sorry: "this is not only about Israel's holidays" is what I meant to write. Sorry about spam. Not sure how this got typed :)
Comment 4 JanKusanagi 2018-12-06 18:55:10 UTC
(In reply to Shimi from comment #2)
> was actually one of the "Linux" features I showed
> off to friends as lacking in their corporate operating systems. Now it is
> gone :(

The feature is not gone, there's just a bug with this particular locale.
The feature works perfectly fine for most other countries/locales.

I'll add that "Victory Day", the only Gregorian-based event in the Israel holiday file, is handled correctly, so it's not like parsing the file fails.
Comment 5 Allen Winter 2018-12-06 22:25:00 UTC
This comment is about KOrganizer and not the digital clock plasmoid that can also show holidays.

We had a plugin for KOrganizer in the KDE4 days for a Jewish holidays and what made it special was that it knew the Hebrew calendar.  Indeed we never ported that to KDE5. 

In KDE5 days, we have holidays for Israel in English and translated to Hebrew.
for the locales en-us and he.  It should know about the Hebrew calendar too.

When testing in KOrganizer, however, I don't see the religious holidays for Israeli calendar .  I do see the one holiday "Victory day" on the Gregorian calendar.

For people wanting to see the Jewish holidays and don't want to load the Israel holidays, then it makes sense to try and restore the Jewish holidays KOrganizer plugin.  except that doesn't work for the digital clock plasmoid.

Summary:
 - restore KOrganizer Jewish holidays plugin
 - figure out why religious holidays from the Israel calendar don't show up in KOrganizer (should they? or should that function belong to the Jewish holidays plugin?)
  - what to do in digital clock about all this

I am the kholidays maintainer and former KOrganizer maintainer but my memory of all this is kinda fuzzy.
Comment 6 Allen Winter 2018-12-06 22:27:45 UTC
(In reply to JanKusanagi from comment #4)

> 
> The feature is not gone, there's just a bug with this particular locale.
> The feature works perfectly fine for most other countries/locales.
> 
> I'll add that "Victory Day", the only Gregorian-based event in the Israel
> holiday file, is handled correctly, so it's not like parsing the file fails.

"Perfectly fine"? really?  where? how?
I'm not seeing any Jewish holidays when I load the Israel holiday file.
Comment 7 eli 2018-12-07 05:53:19 UTC
Yep.... the problem still presists.
Comment 8 Allen Winter 2018-12-09 20:09:32 UTC
Git commit ac97505f1dc575116460fc10adaa470f70bd8c80 by Allen Winter.
Committed on 09/12/2018 at 20:05.
Pushed by winterz into branch 'master'.

restore Jewish holidays KOrganizer plugin

M  +1    -2    korganizer/plugins/CMakeLists.txt
M  +2    -0    korganizer/plugins/hebrew/CMakeLists.txt
A  +1271 -0    korganizer/plugins/hebrew/qcalendarsystem.cpp     [License: LGPL (v2+)]
A  +134  -0    korganizer/plugins/hebrew/qcalendarsystem_p.h     [License: LGPL (v2+)]

https://commits.kde.org/kdepim-addons/ac97505f1dc575116460fc10adaa470f70bd8c80
Comment 9 Allen Winter 2018-12-09 20:14:16 UTC
Git commit f4af74a7847a49e4acd506b2a685b666c00ea68a by Allen Winter.
Committed on 09/12/2018 at 20:12.
Pushed by winterz into branch 'master'.

plugins/hebrew - restore Jewish holidays KOrganizer plugin
CMakeList.txt - find KDELibs4Support, needed for Hebrew plugin

M  +1    -0    CMakeLists.txt
M  +1    -2    korganizer/plugins/CMakeLists.txt
M  +2    -0    korganizer/plugins/hebrew/CMakeLists.txt
A  +1271 -0    korganizer/plugins/hebrew/qcalendarsystem.cpp     [License: LGPL (v2+)]
A  +134  -0    korganizer/plugins/hebrew/qcalendarsystem_p.h     [License: LGPL (v2+)]

https://commits.kde.org/kdepim-addons/f4af74a7847a49e4acd506b2a685b666c00ea68a
Comment 10 Allen Winter 2018-12-09 20:44:46 UTC
I may be the kholidays maintainer now, but I really need John Layt (the original author) to help figure out why holidays on the Hebrew calendar aren't showing up.

I don't know how to rotate hebrew calendar dates onto the gregorian calendar. There isn't any code in kholidays that I can see where this might happen.

for now the best I can do is restore the Jewish holidays plugin for KOrganizer, which is done in the master branch
Comment 11 Shimi 2018-12-09 20:56:47 UTC
(In reply to Allen Winter from comment #10)

> I don't know how to rotate hebrew calendar dates onto the gregorian
> calendar. There isn't any code in kholidays that I can see where this might
> happen.

Maybe https://api.kde.org/4.12-api/kdepim-apidocs/korganizer/html/classHebrewDate.html and https://api.kde.org/4.12-api/kdepim-apidocs/korganizer/html/holiday_8cpp_source.html ?
Comment 12 Allen Winter 2018-12-10 13:44:28 UTC
Git commit cae534ca44d2ed501c1fce8bdf3243ccf499fbdf by Allen Winter.
Committed on 10/12/2018 at 13:44.
Pushed by winterz into branch 'master'.

CMakeLists.txt - revert restoring the Hebrew plugin

not allowed in kdepim to use kde4support library

M  +2    -1    korganizer/plugins/CMakeLists.txt

https://commits.kde.org/kdepim-addons/cae534ca44d2ed501c1fce8bdf3243ccf499fbdf
Comment 13 Andreas Sturmlechner 2018-12-18 21:33:47 UTC
(In reply to Allen Winter from comment #12)
> CMakeLists.txt - revert restoring the Hebrew plugin
> 
> not allowed in kdepim to use kde4support library
I'm confused, was this based on a misunderstanding or just because of CI failure? Laurent just pushed the dependency down into hebrew subdirectory, the latter can be fixed in kde-build-metadata.

Why not make it optional in korganizer/plugins/CMakeLists.txt and add hebrew dir only if it was found?
Comment 14 Allen Winter 2018-12-18 22:25:08 UTC
KCalendarSystem is needed.
KCalendarSystem only exists in kde4support
We (kdepim) are not allowing any kde5 to use kde4support

KCalendarSystem could conceivably be ported to frameworks but it will be very difficult unless/until Qt5 brings back QCalendarSystem.  It may be possible to port KCalendarSystem to frameworks and the local copy of the old Qt4 QCalendarSystem found in kholidays.

The original plan was to move KCalendarSystem to Qt5 as QCalendarSystem, but that never happened.

In any event, this is too much work for the little time I have available to work on KDE and I'm not very interested.
Comment 15 Wolfgang Bauer 2020-01-03 18:08:04 UTC
Maybe these changes in Qt 5.14 would help to reimplement/fix this?

https://wiki.qt.io/New_Features_in_Qt_5.14
- Qt Core
  + QCalendar adds support for Calendars other than Gregorian, by implementation of suitable back-ends.
    o Back-ends to implement the Gregorian, Jalali (Persian), Islamic Civil, Milankovic, and Julian calendars. We look forward to other contributions.
Comment 16 eli 2020-01-04 08:31:07 UTC
Thank you for the update :)
Comment 17 Wolfgang Bauer 2020-07-24 07:29:46 UTC
*** Bug 424547 has been marked as a duplicate of this bug. ***