Calendaring advice...


Subject: Calendaring advice...
From: Joshua J.Kugler (isd@as.uaf.edu)
Date: Tue Jun 10 2003 - 15:37:21 AKDT


Well, I have my CMS problem solved, now I have another request for help.

I am looking for a good calendaring system. I've done a lot of research on
them too (as much or more than for the CMS), and have found some rather nice
ones. WebCal <http://bulldog.tzo.org/webcal/webcal.html> is one of them
(quite feature rich, quite mature). And I've found date/calendar libraries,
such as those that the reefknot project is (or might not be?) working on
<http://reefknot.sourceforge.net/>. But, as with the case of the search for
the CMS, I've not yet found a system with the feature set we need.

1. Multiple calendars (almost all systems)
1a. One user can administer multiple calendars
        Almost no systems have this. Each calendar must have a username/password
2. Reccurence with exceptions (some systems have this)
2a. Reccurence can include (but not required) things such as Second Thursday
of month, etc.
3. Conflict checking on submission (some do, some don't)
4. Approval (possibly multi-level) of submitted events (I think I've seen
that)
5. Calendar can be 1) private, 2) public view, private event submission 3)
public view, public event submission (with/without approval)
6. Events can span multiple days (not so important, but nice)
7. Can view multiple calendars on top of one another
        For finding a free time for everyone, or a time when three different rooms
are free, etc.
8. Day/Week/Month views, of course (almost everyone has this)

Right now, points 1a and 3 (especially) seem to be the sticking points. Now,
I'm not adverse to writing my own calendaring system (sufficiently abstracted
to allow others to use and modify easily). Event recurrance, however, can
get a bit harry. And conflict checking with recurrance is enough to give you
nightmares. It can be made easier by limiting the patterns to weekly,
monthly, first and third Tuesday of month, etc, becaues then you can use
binary constants and just do bitwise AND's in select statements. Checking
whether or not events that happen every 3 days and every 5 days ever conflict
(hmm...I think I just solved that one) can be a bit, shall we say, more
difficult.

Date calculation libraries are abundant; just look at CPAN. And date storage
standards/libraries (e.g. iCal, et al) are out here. But I've yet to find a
library for event storage that does conflict calculation and checking. Has
anyone out there come across one of these?

I know it (conflict checking) is not terribly trivial, but I know it's been
done. The above referenced WebCal does it, but it uses a weird file-based
system to store its data, and it's data storage/retrieval routines are not
abstracted, and there are almost NO COMMENTS! Yikes!

So...if ya'll have any comments/suggestions/ideas after that long ramble, I'd
be happy to hear them

Thanks!

j----- k-----

-- 
Joshua Kugler, Information Services Director
Associated Students of the University of Alaska Fairbanks
isd@asuaf.org, 907-474-7601

--------- To unsubscribe, send email to <aklug-request@aklug.org> with 'unsubscribe' in the message body.



This archive was generated by hypermail 2a23 : Tue Jun 10 2003 - 15:37:33 AKDT