## OpenACS Calendar package

OpenACS documentation

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

## The Data Model

### Permissions

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.

### Calendars

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.

## Code Contributors

- Ben Adida - partial refactoring of the original OpenACS 4.X calendar, integration into .LRN
- Gary Jin and W. Scott Meeks from late ArsDigita - original OpenACS 4.X calendar
- Lars Pind and Paul Doerwald - pair programming during bug bashes
- Raad Al-Rawi from Cambridge University for calendar.css and a lot of the layout.
- Lilian Tong and Charles Mok for the original PostgreSQL port

## Change Log

### HEAD

- Notifications
- Removed unused or duplicated code and database queries.

### OpenACS 5.0

- Separation of html and tcl, noquote
- Proper use of OpenACS permissioning
- A lot of unused code was removed.

### Test Cases

I am planning to use acs-automated-tests for subsequent releases of calendar, I am collecting the test cases in this document.

### Old Docs

- Original Requirements Document

Last modified: Thu Jan 22 23:51:17 CET 2004