Requirements
============

* Zope 2.7.3 or later. Zope 2.8.1 recommended.

* Five 1.0.x. Five 1.0.2 recommended. Five 1.0.0 is included with Zope 2.8.
   
* Five in turn needs to have Zope X3.0, with its src or lib/python directory on
  PYTHONPATH somehow, for instance by using 'path' in zope.conf.
  Zope X3.0 is included with Zope 2.8.

* CalCore 1.3.0, which has in turn iCalendar 0.10 as a requirement. Both 
  are Python libraries (calcore and icalendar), but can be installed as a
  Zope product as well.

To set up a basic calendar
==========================

* Create a folder in which we're going to do our work, let's say,
  caltest, and go there.

* Next, select 'Calendar Tool' from the add list. It creates a
  'portal_calendar' object that is a simple folder containing
  attendee_source and storage_manager.

* Then, create a 'Calendar'. Let's give it the id 'cal'.

* You first need to assign an attendee to the calendar before we
  proceed. Right now, you need to use a Python script; the CPS
  integration makes this all automatic.

  Make a python script and put something like this in it (for your username):

    context.cal.addAttendee(context.portal_calendar.attendee_source.getAttendee('faassen'))
    return 'Done'

  What this does it look up a possible attendee with the id 'faassen'
  and add it to the calendar. This makes the calendar look for events by
  this attendee.
  
* Go to the public view of 'cal'. There's no 'view' tab in the ZMI, but
  you can simply go there by browsing to /caltest/cal. It'l redirect to
  the current week at the moment, and the layout looks atrocious in Zope
  2 at the moment. From there, you can browse to day views, week, month 
  views, etc.

* To add an event, add /+/addevent.html to the URL (for instance of a
  day view). An add form will pop up. Fill in a title, description, and
  select date and duration. After this, you'll be redirected to the week view;
  if you added the event in this week, you'll see it show up.

  To view it, select it. You can then also find an 'edit this event' link to
  edit the event.
