[kronolith] Shared calendars

Rick Stevens rstevens@vitalstream.com
Fri, 27 Sep 2002 16:05:44 -0700


Hiya, gang.

Well, I did it.  I have a form of shared calendars working--based
on the 1.0 release of Kronolith.  I have only implemented it based on
calendars and prefs stored in SQL (no mcal, LDAP or other driver
support yet).

Calendars are shared based on the user's logged-in domain, although
that could be modified to be based on realms).  Two additional boolean
pref attributes ("peek_at" and "poke_into") govern whether others in
your domain can view your calendar ("peek_at" = true), and whether
others can add events to your calendar ("poke_into" = true).  An
additional field in the kronolith_events table ("author_id") is used to
denote who created the event.  These are fairly minor things, so I
suppose they could be added to the other drivers reasonably easily.

In each view (month, week, etc.), a drop-down menu of other people's
calendars IN YOUR DOMAIN that have the "peek_at" attribute set appears.
You select a calendar from that menu and the view changes to the other
person's calendar.  If they also have the "poke_into" attribute set,
you can add events to THEIR calendar.  If an event is set, only the
calendar owner OR the person who added the event can edit or delete
the event.  Others can view it.

This version does NOT implement a "global" calendar (that's next).

I need to clean the code up a bit and run diffs between what is
distributed and what I did (which is scattered among perhaps 20 files).
Parts of it are ugly, but it does work.  I'll upload the diffs in a
couple of weeks if Chuck and the Gang (weren't they a rock band?)
want to see it.  It's being beta tested right now.

This was, by the way, not easy.  I'm not a skilled PHP or web
programmer (C's my game), so it probably took me longer than others
might.  However, it IS done, and I somehow managed to avoid a long stay
in a mental institution.  I may, however, end up at the Betty Ford
Center, as I plan to celebrate with copious amounts of fine, single
malt Scotch.

----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer     rstevens@vitalstream.com -
- VitalStream, Inc.                       http://www.vitalstream.com -
-                                                                    -
-           grep me no patterns and I'll tell you no lines           -
----------------------------------------------------------------------