Homework 5
CS520, Spring 2011
Due: Friday, May 27
Package all the source files of your project into a zip file using the zip Ant target you
developed in Homework 1, and
upload the zip file to CSNS.
Note that file
uploading will be disabled automatically after 11:59PM
of the due date, so please turn in your work on time.
[Calendar for CSNS]
Continue to work on CSNS Calendar
and
implement the following functionality.
- (20pt) Add an event.
- The date of the event is the date selected in the calendar.
- The user can specify the event type to be either public or private.
- Validation must be in place to
ensure that a) a user cannot create an event with no title, and b) the end time of an event is not earlier than the start time.
- (20pt) Display events.
- On the calendar page, when a user selects a date in the
calendar, display the list of events on that date. The display should
show the title, start time, and end time of each event.
- A user may click on an event to see the details of the event,
which also include the event type, description, and file attachments
(which we'll deal with in the next assignment).
- (20pt) Edit an event.
- All the information about an event, including event type, should be editable.
- The event edit form should be pre-filled with the current information of the event.
- (10pt) Delete an event.
- (20pt) Highlight the dates in the calendar if there are events on that date for the current user.
- (+15pt) Add tasks and mark tasks as completed using Ajax.
Note that a feature must be functional in order to
receive any credit.
[About Submission and Grading]
Before submitting your work, commit all the changes to your
Subversion repository and
create a tag.
If
you use any libraries that are not in the original CSNS and
are
not included in your csns.zip, please upload the library jar files
together with csns.zip when you submit your work.
To test your project, we will use the following SQL scripts in
your csns.zip to create, populate, and then clear the database:
- db/csns-create.sql
- db/csns-test-insert.sql
- db/csns-drop.sql
Please make sure that these scripts are up to date and can be
run
in their
entirety without generating any errors.