Calendar Quick-Start Distribution
-------------------------------------------
See bottom for status of current release -- quickstart 1.3

Important:  Before running the quickstart release on a machine connected
to the Internet, please read the SECURITY NOTICE in calendar/docs/PROPERTIES.

Purpose
-------
This quick-start release distribution is provided
for those who want to get familiar with the calendar
quickly and easily, without having to compile and
deploy code, and without having to set up a database.

Contents
--------
1) UW Calendar
2) Tomcat 5.0.16
3) hsqldb_v.1.61 (a later version of Hypersonic SQL)
4) Apache Ant 1.5.4


System requirements
-------------------
JDK 1.4 or higher
JAVA_HOME environment variable must be set
Nothing else should be running on port 8080 and 8887.

Note: We have had trouble with some version of the JVM.  We know that
1.4.2_03 will work on Linux.  If you're getting NullPointerExceptions
with an earlier version, try upgrading to this version or later.

Instructions
------------
For the commands below, the '<ANT>' command depends on
your operating system:
Windows: ant.bat
UNIX:    ant.sh

To start the calendar, you must first start hsql
by typing

<ANT> hsqldb

Next start Tomcat by typing

<ANT> tomcatstart

You may need to enter each command in a separate console window.

Once hsqldb and Tomcat are running, you can access
the calendar with your browser by entering the following URL:

http://localhost:8080/cal.html

Which will give you a choice of three applications:  the personal calendar,
the 'guest' personal calendar (to view public events) and a public events
administrator application.

The valid users and passwords are set in <tomcat-dir>/conf/tomcat-users.xml.

In the quickstart distribution all passwords are set to uwcal and there are
3 unprivileged users: caluser1; caluser2 and caluser3. These can be used as
personal calendar test users.

There are users with administrative privileges:
  calowner:  the lowest level - can enter public events
  calcontent: a higer level of access allowing the user to administer any
              event.
  caladmin:   a superuser.

There are also a number of users with no special privileges, these can be
used as test users with the personal calendar client. They are
   caluser1, caluser2, caluser3

Both Tomcat and hsqldb should be stopped when you are done.  If the commands
are still running (hsqldb should be, and possibly Tomcat), type

CTRL-C

in the window in which the command was started.

Optionally, Tomcat can be stopped by typing

<ANT> tomcatstop

Logging:
Log messages largely appear in the tomcat log in <tomcat-dir>/logs.
This release uses log4j for most of the application logging. The distributed
log4j.xml appears in calendar/resources in the quickstart and in
common/classes in the tomcat directory. It is configured to maintain a
rolling log file, server.log and also append output to the console.

In addition, a socket appender is defined which allows chainsaw to be used to
watch the log output.

Notes
-----
Calendar binaries are included so there is no need to compile any calendar
source code.  Also, the database is pre-loaded, so there is no need to run
any database scripts.

Thanks to the uPortal team (http://www.ja-sig.org) for the inspiration and
the quickstart release on which this is based.

Calendar website:
     http://www.washington.edu/ucal

-------------
Release notes
-------------
Quickstart 2.0 --- ?, 2004

Includes calendar release 2.0, in subdirectory calendar2.

Restructured to highlight major components.

Switch logging to log4j - see notes above.

RPI struts + xml + xslt based applications distributed in the place of the
original UW clients.


Quickstart 1.3 --- January 27, 2004

Includes calendar release 1.3, in subdirectory calendar.

Moved from using JDBC drivers to more modern 'DataSource' implementation.
To get this to work, upgraded Tomcat to version 5.0.16, which requires
Java 1.4

Export function has been expanded, and is easily accessible via the
public events entry menu.

All events are now cached when the webapp is started, which means public
events you enter won't show up in the public calendar (or
possibly the private calendar, if you started that before you entered
the event).  You can see them by stopping and restarting Tomcat.
A better caching mechanism should be included in the next release.

More CAP functionality.

Minor bug fixes.


Quickstart 1.2 --- September 2, 2003

Includes calendar release 1.2, in subdirectory calendar.

Includes subscriptions to public calendars, and a reworked version of
public calendars.  Calendars are now stored in the database.  If you
use another database, you should run

   java edu.washington.cac.calendar.db.LoadCalendars <filename>

where <filename> should be a file that looks something like

    calendar/resources/calendar/initialCalendars

Includes an embryonic CAP server (see directory
calendar/src/edu/washington/cac/calendar/cap).

This release also officially changes the fields 'public' and 'create'
to 'publicf' and 'created' in all databases, and renames the 'authorization'
table to 'auth', to avoid clashes with SQL reserved words.


Quickstart 1.1 --- February 7, 2003

Includes calendar release 1.1, in subdirectory calendar.

Includes a much improved public events display system.  It's still rather
UW-centric, but you should be able to get the idea.  Log in as a generic
user who can enter public events, and enter some events.  Then log in as
guest and browse.

Note: because there is no real authentication mechanism with the quickstart
release, adding a public event to your personal calendar (available by
clicking on an icon in the public events display application) will not
work *unless* you have first logged in to the personal calendar as one of
the three toy users.  I found that if I tried, tomcat complained about
an obscure NullPointerException.

There is also support for some recurring events, but no way to add them
through the web interface.  At the UW, we add the schedule of classes to
the database using a separate process, and these are, of course, recurring
events.  Send e-mail if you're interested in hearing more.


Quickstart 1.0.1 --- August 26, 2002

Bugfix release to support mysql.  Contains calendar release 1.0.1 in
subdirectory 'calendar'.

* Unfortunately named 'create' field can be renamed.

* Will work with databases like mysql that don't
support subqueries.

See the documentation for db.properties in calendar/docs/HOWTO


Quickstart 1.0 --- July 24, 2002

Includes calendar release 1.0, in subdirectory 'calendar', which contains
a useful ant build.xml and build.properties file.  You can now change
things, recompile, and redeploy.

Includes the public events entry application.  This application is
currently very UW-centric, but per the dictates of open source, I'm
releasing early anyway.

  Pubevents: What works
  ---------------------
You can add events.  Once you have, you can see them by logging into
the personal calendar as guest.  Think of the guest view as the
public events display app.

As a public events administrator, you can edit or delete other people's
events, and authorize other users to add public events, or to be
an administrator.

  Pubevents: What doesn't work
  ----------------------------
I purposely left out the markedevents and redalerts tables, because one
of the next steps is a database reorg that will remove these tables.
As a side effect, the functions 'Extract Data for University Week'
and the Alerts functions on the administrator's menu don't work
well or at all.  Given these functions are particularly UW-centric,
I'm hoping this won't matter.

  Pubevents: What sort of works
  -----------------------------
Deleting a public event gives an error message about markedevents.  If
you only delete one event, the message can be ignored; the delete succeeded.
I haven't tested the case where you delete multiple events.
