Homework 7
CS520, Spring 2009


Due: Friday, June 5

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.

[CSNS Blogs]

Continue to work on CSNS Blogs and implement the following features.

1. (30pt) Security.

Use the tools provided by Spring Security, e.g. URL security, access decision voters, security tag library and so on, to implement security for blogs. In particular:

2. (Extra Credit +20pt) RSS feed.

Each blog should have a RSS feed of the last five blog entries. The RSS symbol [RSS] should be shown on the blog page, and clicking on this symbol should take the user to the feed.

You do not need to upload rome-1.0.jar or jdom.jar if you use ROME to create the feed.

3. (Extra Credit +30pt) Tagging.

Allow users to tag blog entries, i.e. to associate a number of keywords (called "tags") with a blog entry. For simplicity, we will only allow the author of a blog entry to tag it, and the number of tags per entry is limited to five. When a blog entry is displayed, its tags should be displayed together with the title and the content. Clicking on a tag should show a list of blog entries that have the same tag.

[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:

Please make sure that these scripts are up to date and can be run in their entirety without generating any errors. You can check out http://sun.calstatela.edu/~cysun/public/cs520-grading/instructions.txt for more details about the grading procedure.