Homework 3
CS520, Spring 2007
Due: Wednesday, May 9
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]
- Spring Book (Professional
Java Development with the Spring Framework)
- Chapter 1-2, 4, 9.3 (Sending Email),
and 12.
- (Optional) Chapter 5.1 (The DAO Pattern),
6, and 7.
- Display Tag Library
- CSNS Source Code
- Everything, especially various configuration files, code related to file uploading and email, and JSP pages that use Displaytag.
[Mailing Lists]
First of all, please change the name of the interface Subscription to Subscribable.
For this assignment, complete the following features of the CSNS Mailing Lists component (described in Homework 2):
- (30pt) Create mailing lists.
- (40pt) View existing mailing lists, and subscribe to or unsubscribe from a mailing list.
- (30pt) Email to the subscribers of a mailing list. Note that a copy of the email message must be saved in the database.
- (40pt) View the messages sent to a mailing list. Note that a user
may choose to view all the messages, or only the messages sent in the
last 7, 30, or 60 days (as shown in the example in Homework 2).
The design of the user interface is up to you, but you should make sure that the interface is functional and intuitive. Also if you use tables for display, you must use Displaytag, which is a tag library that provides table paging, sorting etc.
[Extra Credit]
- (Up to 20pt) Particularly good UI design will receive up to 20pt extra credit.
- (20pt) A user may upload files and attach them to an email. Note that you should not
send out those files as email attachments, which may waste lots of
bandwidth. Instead, include the names and the URLs of the files in the
email, and if a user wants to view the files, he or she can download
them from CSNS.
[Subversion]
Before submitting your work, commit all the changes to your Subversion repository, and
create a tag called cs520-hw3.