The OpenACS calendar package is a web-based calendar package. In its current form it provides a UI for storing events that have a time or that last a day, and it offers a list view, a day, week, and month view.
The project plan for calendar can be found at http://openacs.org/projects/openacs/packages/calendar/. The maintainer of this package is Dirk Gomez
Calendar uses a lot of custom permissions. Most of them are unused and will be removed eventually. It will then use a Unix-like set of read, write, create, admin permissions.
A calendar has a name and an owner and belongs to a package, it also is an acs_object. This goes into the table calendars. A calendar is created via the usual constructor - a "new" function" - and destroyed via the usual destructor - a "delete" function.
The calendar package currently uses its own little category system: calendar item types can be created per package, they are stored in the table cal_item_types
The table cal_party_prefs allows storing customization information per calendar and per user. It is completely unused and I couldn't find any traces of it ever having been used. A similar table will be used in a future version of calendar to store user options though.
I am planning to use acs-automated-tests for subsequent releases of calendar, I am collecting the test cases in this document.