Homework 6
CS520, Spring 2010


Due: Wednesday, November 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.

[CSNS File Manager]

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

1. (40pt) Copy file and folder.

Allow a user to copy a file or a folder. Note that

2. (20pt) Full text search on file name.

Implement full text search on file names. Only files owned by the user and the public files should be included in the search. The search results should be ordered by their relevancy scores with the most relevant result first. For each file in the results, display the file name with the query term highlighted. Clicking on the file name should download the file.

This feature must be implemented using the full text search functionality provided by PostgreSQL.

3. (Extra Credit +20pt)  Full text search on file content.

Enhance the FTS implementation in the previous exercise to include file content in the search. To receive any credit for this exercise, your implementation must support searching the content of both text files (i.e. files with .txt suffix) and PDF files (i.e. files with .pdf suffix).

4. (Extra Credit +20pt)  Full text search with autocomplete.

Enhance your FTS implementation with the Autocomplete widget provided by jQuery UI.

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