Re: [HC Evolution] Introduction



Me and the current maintainer of gnome-pim, Russel Steinthal, had a long
discussion about this. Basically what you need for each calendar is a
(time_t -> native) and a (native -> time_t) function. All appointments and
scheduled stuff are stored as time_t to my knowledge. The main problem is
the GUI aspect of multiple calendars. There is one problem with
Islamic/lunar calendar support and that is the calendar can "shift" days.
It is /IMPOSSIBLE/ to code an accurate Islamic calendar because it is based
on /sightings/ of the moon and not the actual moon itself (so if its a
really cloudy day you're in trouble). I believe the calendar has the
possibility of shifting either 1 or 2 days per year. For a more extensive
discussion see calendar-list archives. But how do you propose to handle
such 'quirks' in a calendar?

My idea is that we don't really need some sort of 'small scripting'
language or something for calendars. Its very easy to integrate directly in
the source and the main problem I figured is the GUI (not a serious
problem - but probably the hardest/tedious part).

It would be very hard (impossible) to design a GUI over two functions
(time_t -> native and native->time_t) so you would need some sort of (xml?)
file that defines the months, the number of days in months, the number of
months, etc etc. But Russel Steinthal convinced me this is not really
necessary :)

Another problem me and Russell encountered for Islamic calendar problems is
the rolling vs. fixed date problem. What if I want an event to occur
exactly on the '2nd month 1st day' of the calendar? Or what if I want an
event to occure '60 days' after the start of the calendar (regardless of
whether the calendar shifts or not). For example say I want to schedule
/always/ on the start of the month 'Ramadan' the event of 'Start of
Ramadan'. But then again - say I want to schedule an event 'two days after
ramadan' - There needs to be a way to handle these two types of events :)
(I hope people understand this concept - i don't think i made it clear)

The only calendars that I know of that really need support is
'Islamic/Lunar' and 'Hebrew/Lunar' - At least, these are the main ones that
other groupware-suites target (I believe).

Sooo - can I have comments on this from Evolution hackers on this?

----- Original Message -----
From: Miguel de Icaza <miguel helixcode com>
To: Ali Abdin <ALIABDIN aucegypt edu>
Cc: <evolution helixcode com>
Sent: Wednesday, March 15, 2000 8:46 AM
Subject: Re: [HC Evolution] Introduction

One thing though - I was told to do hacking in gnome-pim. gnome-pim is
in
a feature freeze (for 1.2) - I do not think there will be a 1.4
(according to the maintainer) because evolution should be replacing it?
What does one do? (I first plan on making a time_t->Islamic and an
Islamic->time_t converter - then i need to worry about the GUI aspects
and gregorian-interaction)

You can start looking at Evolution's calendar support (it is very very
similar to the gnomecal code base, as it is based on it).

Perhaps what you want to work on is an engine to handle arbitrary
calendar systems.  A few other free software calendars have either a
small-language for defining calendar dates, and others have a
shell-like scripting language for doing this kind of thing.

Might be worth investigating if we can use something like Python
linked into the calendar to support this.

I have not payed a lot of attention to the discussion of calendars in
calendar-list in the past, so I am not quite sure if this is the right
way to do it.

Miguel.






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]