Homework 5
CS520, Fall 2012


Due: Friday, November 15

Package all the source files of your project into a zip file as you did 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.

[Project Listings for CSNS2]

This assignment builds on top of your work in the previous assignments, so make sure that all the functions from the previous assignments work properly; otherwise you will not receive any credit.

Continue your work in Homework 4 and implement the following features in CSNS2.

1. (25pt) Adding resources to a project. Note that a resource may be a URL resource, a text resource, or a file resource.

2. (25pt) Editing resources. Note that editing a resource may involve changing the name, the content, and/or the type of the resource.

3. (25pt) Displaying resource. A user may click on the name of a resource, and the action that should take place depends on the type of the resource::

4. (25pt) Email.

When a new resource is added to a project, all the participants of the project should receive an email notification about the new resource. The subject of the email should include the project name, and the content of the email should include the name of the resource, the name of the user who added the resource, the time when the resource was added, and a hyperlink to the project. For example:

Subject: New Resource Added to Project Modernize Curriculum Review Workflow
Content: Chengyu Sun added a new resource "Project Document" to the project Modernize Curriculum Review Workflow at 2:00PM 11/4/2012. You can check out the project at http://csns.calstatela.edu/department/cs/project?id=2123456.

[About Submission and Grading]

Before submitting your work, commit all the changes to your Subversion repository and create a tag.

To test your project, we will use the following SQL scripts in your zip file 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 any errors.