Homework 5
CS520, Fall 2010


Due: Thursday, November 18

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 File Manager]

Continue to work on CSNS File Manager and implement the following functionality. Note that all the functionality from the previous homework must work; otherwise you will not receive any credit.

1. (20pt) Replace File.

Allow a user to replace a file by uploading a new file. Note that the new file may not have the same name as the old file.

2. (20pt) Email Notification.

Notify a user if he or she has used up more than half of their disk quota. The email should include the disk quota and the current disk usage. For the ease of testing, set the disk quota of each user to be 3000B.

3. (30pt) Delete File and Folder.

Allow a user to delete files and folders. In particular,

2. (40pt) Move File and Folder.

Allow a user to move a file or a folder. Note that the target folder cannot be a descendant of the folder to be moved.

This functionality is easy to implement on the server side because it only involves changing the parent property of a File object; however, implementing the user interface can be a little tricky. To receive full credit for this exercise, you must allow a user to choose the target folder with only mouse clicks (as oppose to, for example, manually typing in the name or ID of the target folder). Extra credit will be given if your UI implementation makes good use of Ajax and jQuery.

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

User interface should be intuitive, functional, and user friendly. Bad UI design will receive up to 15% credit penalty, and particularly good UI design will receive some extra credit.