Homework 4
CS520, Summer 2008


Due: Thursday, July 24

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.


[Reading]

[Calendar for CSNS]

For this assignment, complete the following features of the CSNS calendar described in Homework 3:

[Subversion]

Before submitting your work, commit all the changes to your Subversion repository, and create a tag called cs520-hw4.

[Notes]

Add Calendar to the Resources top menu of CSNS. Clicking on Calendar should take a user to the default calendar display.

The user interface design is up to you. Good user interface design will receive up to 40pt extra credit after the whole calendar project is completed. Note that a good UI design is not necessarily fancy or colorful, but it has to be functional, intuitive, convenient, and pleasant.

For this assignment, you may want to allow only registered users to access the calendar. To do so, you may modify the filterInvocationInterceptor bean definition in /conf/spring-security.xml to protect the URL of the calendar. For example, suppose the calendar can be accessed at the URL /calendar.html, you may add the following line to the filterInvocationInterceptor bean definition:

/calendar.html=ROLE_USER

Note that the URL must consist of only lower case letters. We will discuss security in more details later.

[About Submission and Grading]

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, I will use the following SQL scripts in your csns.zip to create, populate, and then clear the database:

Please make sure these scripts are up to date and can be run in their entirety without generating any errors.