Homework 7
CS520, Spring 2008
Due: Thursday, May 29
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 9 (Scheduling with Spring)
- Chapter 10
- CSNS Source Code
[Bulletin Board for CSNS]
Complete the following features of the
CSNS bulletin board described in Homework
3 for extra credit. You must include a hw7.txt file in the csns.zip file submitted to CSNS. In hw7.txt, state which feature(s) you have implemented.
- (+40pt) Full text search of the forum posts
includes
searching the names and the content (for text, pdf, and MS doc formats)
of the file attachments.
- (+30pt) Implement daily digest subscription. In particular,
a) when a user subscribe to a forum, let the user to choose between
regular subscription (i.e. receive an email notification whenever a new
post is created) and daily digest subscription (i.e. receive only
one email notification per day for the subscribed forum); and b) every
day at 1AM, the system automatically sends an email notification to
every daily digest subscriber of every forum, and the email should
include links to all the topics updated (i.e. created or received new
replies) in the previous day.
- (+20pt) Secure the forums so that anonymous users can browse
and search the forums, but only users who have logged in can create new
posts and subscribe to or unsubscribe from topics and forums.
Note that a feature must be functional in order to
receive any credit at all.
[Subversion]
Before submitting your work, commit all the changes to your
Subversion repository, and
create a tag called cs520-hw7.
[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:
- db/csns-create.sql
- db/csns-test-insert.sql
- db/csns-drop.sql
Please make sure these scripts are up to date and can be run in their
entirety without generating any errors.