Overview
Using UW Calendar
Download
Get Involved
Additional Resources
|
UW Calendar Requirements Document
Click on the Tracking Bug links to get more information,
comment on the requirements, or to vote for the features you'd
most like to see get done.
If you don't see the feature you're interested
in, click on the Tracking Bug link next to the category that
seems most appropriate (e.g., the link next to Calendar Store and
Server if there's something you think the server needs to be able
to do), and type your thoughts in the Additional Comments textbox.
Below we distinguish between three types of users of the UW Calendar
application.
- A user is any user of the system.
Most of the time, we assume a user must authenticate before accessing
the system, but not always.
-
A programmer is a user with the expertise to build programs
that interact with the system; any user can be a programmer, but we assume
most users are not.
-
An administrator is one of the people in charge of an installed
UW Calendar system.
UW Calendar Requirements
-
Calendar Store and Server
Tracking Bug
-
The system should be able to work with any database with a JDBC driver.
DONE
-
The store should be able to store any RFC 2445-compliant iCalendar object,
and give it back without loss of data. This includes any number of
non-standard (extension) fields.
Tracking Bug
-
The store should be able to treat locations, sponsors, and keywords
(categories) as independent entities so that, for example, a programmer can
easily create a query for My 20 Most Common Event Locations.
DONE
-
A programmer should be able to access the store using the IETF-approved
calendar server protocol.
PARTIALLY COMPLETE
Tracking Bug
-
A programmer should be able to access the store as a Web Service (using
SOAP and XML).
Tracking Bug
-
An administrator should be allowed to limit the number of entries a
user can have in the store.
Tracking Bug
-
Personal calendaring
Tracking Bug
-
A user should be able to add, update, delete and view their personal
events, to-dos and journal items.
PARTIALLY COMPLETE
Tracking Bug
-
Public calendaring
Tracking Bug
- Public events entry
Tracking Bug
-
All users should be able to create public events (and keywords, sponsors,
and locations).
They should also be able to modify and delete their own public events.
Tracking Bug
-
Any number of classes of official public events should be
supported (e.g., the academic calendar, Chemistry Department colloquia,
intercollegiate women's soccer schedule).
Tracking Bug
-
For each class, selected users should be able to create
events in the class, and modify and delete the ones they have
created.
Tracking Bug
-
For each such class, there should be superusers with extra capabilities:
-
The ability to manage the list of users who can create events of this
class (and the list of superusers).
-
The ability to modify or delete any event of this class.
-
The ability to specify a default set of keywords, sponsors, or
locations for this class.
Tracking Bug
-
There should be a simple system for configuring the web interface for
each particular class of events so that, for example, when you
input a women's soccer game, you must enter an opponent, but when
you input a Chemistry Department colloquium, you are asked for a
speaker and their affiliation.
Tracking Bug
-
The system should include a method for someone to submit
an already
created event to the appropriate superuser for inclusion in
a class of events.
Tracking Bug
- Public events display
Tracking Bug
-
A user should be able to view public events using the same interface
as the personal display application, without authenticating.
DONE
-
An administrator should be able to specify a different skin
for the
public events display, so it can easily be distinguished from
the personal display.
DONE
- Filtering
Tracking Bug
-
A user should be able to apply a filter
to view a subset of the public events.
PARTIALLY COMPLETE
Tracking Bug
-
Once a particular filter has been selected, a user should be able to
navigate through the various views with the filter applied.
DONE
-
The owner of a particular calendar (filter) should be able to
specify a skin to use when it is displayed.
Tracking Bug
- Public events and personal calendars
Tracking Bug
-
A user should be able to add individual public events to their personal
calendar.
DONE
-
A user should be able to subscribe to a particular public
calendar (see Calendars and Filters).
Any events in the calendar will automatically appear in their calendar
without their selecting them.
DONE
-
If any public event a user subscribes to or has chosen changes, the
change should appear automatically in their calendar.
DONE
-
A user should be able to remove any individual public events they chose,
or unsubscribe to any calendar they have previously subscribed to.
DONE
-
If a user has subscribed to a calendar, they should be able to choose
individual events in the calendar that they do not want to see in
their personal calendar.
Tracking Bug
-
Group calendaring
Tracking Bug
- Group definition
Tracking Bug
-
A user should be able to specify an ad hoc group of people who can view
an event, by entering a list of e-mail addresses.
Tracking Bug
-
A user should be able to specify a pre-existing group of people who can
view an event, using LDAP or some other directory mechanism.
Tracking Bug
-
When a user creates a group event...
Tracking Bug
-
...they should be able to specify a group of required participants,
and a group of requested participants.
Tracking Bug
-
...invitations should be sent to participants whom the user cannot
schedule. (The user can also send invitations to users they can schedule,
or can specify that they will send the invitations themselves). The
invitations can be sent by e-mail or as invitations/messages the
participants see when they access their personal calendar.
Tracking Bug
-
...the system should track who has accepted and who has declined
the invitations, sending e-mails/messages where appropriate.
Tracking Bug
-
Recipients of an invitation should be able to delegate another person
to go in their stead.
Tracking Bug
-
A user should be able to specify a group that can view or even modify their
calendar.
Tracking Bug
-
A user should be able to specify a group that can schedule them for
an event.
Tracking Bug
-
A user should be able to specify a group that can view their free/busy list.
Tracking Bug
-
A user should be able to specify that their free/busy list is public.
Tracking Bug
-
A user should be able to specify access control on a particular event,
to-do, or journal (i.e., who can read, write, delete, modify, etc.)
Tracking Bug
-
Event conflicts
Tracking Bug
-
A user should be able to specify whether an event in their calendar is
opaque (another opaque event cannot overlap this event)
or transparent (another event can overlap this event).
Tracking Bug
-
If a user tries to add an opaque event that conflicts with
an existing opaque event, the system should warn the user and offer
some appropriate courses of action.
Tracking Bug
-
A user should be able to block out times in their calendar when they cannot
be scheduled.
Tracking Bug
-
To aid in scheduling a group meeting...
Tracking Bug
-
...a user should be able to view the aggregate free/busy times of the group
(for those members of the group for which the user has permission).
Tracking Bug
-
...a user should be able to request the first available free time for
the group, or all times the group is free
(for those members of the group for which the user has permission).
Tracking Bug
-
...a user should be able to schedule a meeting for the group if the meeting
time is free for all required participants and the user has the ability
to schedule all required participants.
Tracking Bug
-
Resources
Tracking Bug
-
A user should be able to create a scheduleable resource in
the database, such as a meeting room or a workstation.
Tracking Bug
-
The creator of a resource should be able to specify most of the group
calendaring characteristics for the resource as if it were a user. In
particular, they should be able to specify:
Tracking Bug
-
Who can schedule the resource.
Tracking Bug
-
Who can view the resource's calendar.
Tracking Bug
-
Who can view the resource's free/busy list.
Tracking Bug
-
Whether the resource's calendar is public (note that we aren't
letting a user's calendar be public).
Tracking Bug
-
Whether the resource's free/busy list is public.
Tracking Bug
-
What times are blocked out (unscheduleable) for the resource.
Tracking Bug
-
A user scheduling a group event should be able to treat a resource like
another user (e.g., make it a required participant, include it in a
search for the first common free time, etc.), except where it does not
make sense (the resource will not usually receive or send e-mail, for
example).
Tracking Bug
-
Personal Display Application
Tracking Bug
-
A user should be able to view all their events (personal, public, or group)
on a particular day, week, or month.
A user should be able to view all details of a particular event in a separate
view.
DONE
-
A user should be able to view their events for the next n days
or weeks.
Tracking Bug
-
A user should be able to view events for one day as an hourly view, with
time on one axis and the events as (possibly overlapping) boxes in the
appropriate time of day.
Tracking Bug
-
A user should be able to view events for any period of time longer than a day
as a list if they choose.
Tracking Bug
-
A user should be able to navigate easily to a particular day, week,
month, or year.
DONE
-
A user should be able to easily add, update, or delete events, to-dos
and journals they created.
A user should be able to remove events they did not create from their
calendar.
PARTIALLY COMPLETE
Tracking Bug
-
A user should be able to easily add, update, or delete locations, sponsors
and keywords they created.
PARTIALLY COMPLETE
Tracking Bug
-
A user should be able to create an entity by cloning an existing
entity they have access to.
Tracking Bug
-
For some objects, there may be a simplified entry form that
leaves out certain uncommonly used fields or options for ease of use.
If that is the case, there should also be an advanced entry
form (or series of forms) where all fields and options can be specified.
Tracking Bug
-
A user should be able to choose lists of favorite locations, sponsors
and keywords that can be easily selected when creating an event, to-do, or
journal.
Tracking Bug
-
A user should be able to search or filter their own events
(see Calendars and Filters).
Tracking Bug
-
A user should be able to specify a priority for a to-do or event.
Tracking Bug
-
Views that display dates but not events should highlight the days that
have events.
Tracking Bug
-
A user should be able to undo any number of commands in the current session.
Tracking Bug
-
An administrator should be able to specify a skin for the
application appropriate to their institution.
DONE
-
Calendars and Filters
Tracking Bug
Note: Calendars and filters are both names for collections
of related events. For example, 'all events sponsored by
the History department'. If the collection is unnamed, for example,
if it is the temporary result of a search query, we will refer to it as a
filter. If the collection is given a name, we will refer to
it as a calendar.
- Defining Calendars and Filters
Tracking Bug
-
A user should be able to filter events by keyword, sponsor,
location, or creator.
PARTIALLY COMPLETE
Tracking Bug
-
A user should be able to create a search filter that selects
the events that contain a particular string in a system-defined
set of interesting fields.
PARTIALLY COMPLETE
Tracking Bug
-
A user should be able to combine the filters above using standard
boolean logic to create another filter.
Tracking Bug
-
A user should be able to name a filter so it can be saved and
referenced later (as a calendar).
Tracking Bug
-
The system should allow filters and calendars to contain another calendar.
There should be no limit on the depth of recursion (beyond disallowing
circular inclusion).
PARTIALLY COMPLETE
Tracking Bug
-
The system should allow calendars to be hierarchically classified.
PARTIALLY COMPLETE
Tracking Bug
-
A user should be able to search for a particular calendar.
Tracking Bug
-
Alarms/Reminders
Tracking Bug
-
A user should be able to request an e-mail alarm for a specified amount of
time before an event begins.
Tracking Bug
-
A user should be able to request a text message be sent to their pager,
cell phone, etc. a specified time before an event begins.
Tracking Bug
-
To-dos
Tracking Bug
-
To-dos should be displayed in the Personal Display Application, separate
from events.
Tracking Bug
-
A user should be able to specify a due date for a to-do.
Tracking Bug
-
A user should be able to specify a group to-do, analogous to a group event.
Tracking Bug
-
Journals
Tracking Bug
-
Journals should be displayed in the Personal Display Application (perhaps
with the events, but displayed in a different font/color/something?).
Tracking Bug
-
A user should be able to specify a group or a public journal entry,
analogous to a group or public event.
Tracking Bug
-
Recurrences
Tracking Bug
-
The store and all applications should be able to handle any recurrence
legal under RFC 2445.
Tracking Bug
-
Specifying recurrences
Tracking Bug
-
A user should be able to specify the most common recurrences when creating
a simple event: every day, every other day, every week, every other week,
every month, every year, this day every month, this date every year. A user
should be able to specify the recurrence ends on a particular date, or
repeats forever.
Tracking Bug
-
A user should be able to specify more complex recurrences using another
form: every n hours, days, weeks, months, years;
the nth Monday/Tuesday/etc. every nth month;
the nth Monday/Tuesday/etc. of this month, every nth year;
Tracking Bug
-
On the more complex form, a user should also be able to specify exception
dates.
Tracking Bug
-
Changing recurrences
Tracking Bug
-
A user should be able to change details for the entire recurrence set, or
just one particular instance.
Tracking Bug
-
A user should be able to delete a single instance in the set, all
instances, or all
instances prior to or after an instance.
PARTIALLY COMPLETE
Tracking Bug
-
An administrator should be allowed to limit the number of recurring
events that have a large number of instances (including those that extend
forever). The administrator shall be able to define what large
means.
Tracking Bug
-
Importing
Tracking Bug
-
A programmer should be able to import events or other entities in
iCalendar or XML...
Tracking Bug
-
...by communicating with the server using the IETF-approved calendar
server protocol.
Tracking Bug
-
...by sending an e-mail message with the entities.
Tracking Bug
-
...by putting the entities on a web page, and sending the system a URL.
Tracking Bug
-
...by putting the entities in a file, and invoking a command.
Tracking Bug
-
A programmer should be able to import events or other entities
using a Java API.
Tracking Bug
-
Exporting and Printing
Tracking Bug
-
A programmer should be able to export events in iCalendar or XML
by communicating with the server using the IETF-approved calendar server
protocol.
PARTIALLY COMPLETE
Tracking Bug
-
A programmer should be able to export events or other entities
using a Java API.
Tracking Bug
-
Automatic export to web pages.
Tracking Bug
-
There should be a process available to automatically extract all
public events in a calendar
that fall within a certain date range
to a web page, using XML and XSLT.
Tracking Bug
-
There should be a number of XSLT templates available so that a department
or other entity with limited resources can easily generate a pleasing
page of their events.
Tracking Bug
-
The personal display application (and hence the public display
application) should supply printer-friendly versions of the day, week
and month views.
Tracking Bug
-
The system should allow for printing to a number of standard dayplanner
output formats, and page sizes.
Tracking Bug
-
Integration
Tracking Bug
-
There should be a uPortal channel that displays a user's personal calendar
(including group and public events)
and provides at least limited functionality such as adding a simple event
or changing the time period of the view.
Tracking Bug
-
There should be a uPortal channel that displays a
filtered version
of the public events and provides at least limited functionality such as
changing the filter or changing the time period of the view.
Tracking Bug
-
The system should be able to extract events from uPortal's announcements
channel
database, and the announcements channel should be able to get its
data from UW Calendar.
Tracking Bug
-
The system should be able to act as the backend to IBS's uPortal channel.
Tracking Bug
-
The system should be able to act as the backend to
Ximian Evolution.
Tracking Bug
-
Synchronization
Tracking Bug
-
A user should be able to synchronize with their Palm calendar.
Tracking Bug
-
A user should be able to synchronize with Outlook.
Tracking Bug
-
A user should be able to synchronize with Corporate Time.
Tracking Bug
-
A user should be able to synchronize with Meeting Maker.
Tracking Bug
-
E-mail integration
Tracking Bug
-
UW Calendar should be fully integrated with e-mail, so that it can
send e-mails with the proper MiME type, and so that a user can set their
mailer to send objects of this type to UW Calendar.
Tracking Bug
-
A user should be able to invite anyone to a public event, or
invite them to subscribe to a public calendar, using
e-mail. (If they choose, they can add the events or subscribe to the
calendar.)
Tracking Bug
-
Aggregation
Tracking Bug
-
The personal display application and other display applications should be
able to query multiple stores that understand the IETF-approved calendar
server protocol and aggregate the results
as if they came from a single source.
Tracking Bug
-
A user should be able to subscribe to a calendar on a different
server and have the events show up in their display applications.
Tracking Bug
-
Preferences
Tracking Bug
-
A user should be able to specify which view appears by default.
Tracking Bug
-
A user should be able to specify which day the week begins.
Tracking Bug
-
A user should be able to specify whether week and month views appear as
a list or a grid.
Tracking Bug
-
A user should be able to specify which fields appear in summary views of
an event, to-do, or journal.
Tracking Bug
-
A user should be able to specify which fields appear in any simplified
add or update forms for an event, to-do, or journal (apart from any
required fields).
Tracking Bug
-
A user should be able to specify a particular visual cue for a particular
type of event (e.g., high-priority to-dos are in red, birthdays have
a balloon icon next to them).
Tracking Bug
-
A user should be able to specify their desired Locale.
Tracking Bug
-
A user should be able to specify whether they want links underlined or not
in the display applications.
Tracking Bug
-
A user should be able to specify that they want to be warned if two
events overlap.
Tracking Bug
-
A user should be able to specify that they want the month view to be
smaller (by deleting or compressing entries) if there a lot of entries
in the month.
Tracking Bug
-
A user should be able to specify graphical embellishments, such
as the default background, font, or color for applications.
Tracking Bug
-
A user of the personal or public calendar should be able to specify
that events that span more than one day only appear on the first day
Tracking Bug
-
Internationalization and Localization
Tracking Bug
-
The system should handle time zone information correctly.
Tracking Bug
-
The system should handle other languages (not just English).
DONE
-
The system should handle other text and calendar orientations
(not just left-to-right, top-to-bottom).
Tracking Bug
-
The system should handle non-Gregorian calendars.
PARTIALLY COMPLETE (MAYBE)
Tracking Bug
-
Other Applications
Tracking Bug
-
The system should include a method or methods for adding a student
or faculty member's class schedule to their calendar.
PARTIALLY COMPLETE
Tracking Bug
-
The system should include an application that allows specific users
to maintain calendars for a particular class (homework, midterm dates,
etc.).
Tracking Bug
-
The system should include a method for adding the official academic
calendar and list of holidays.
PARTIALLY COMPLETE
Tracking Bug
-
An administrator should be able to generate useful reports and statistics
about the system.
Tracking Bug
-
Performance
Tracking Bug
-
The system should be able to handle the calendaring needs of a University
of at least 200,000 active users (assuming reasonable hardware and
technical support).
Tracking Bug
-
Accessibility
Tracking Bug
-
The system's applications should be accessible to the disabled.
BELIEVED DONE FOR EXISTING APPLICATIONS
Tracking Bug
|