Homework 4
CS520, Spring 2010


Due: Thursday, May 13

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]

[CSNS Wiki]

Complete the following features of CSNS Wiki you started in Homework 3:

1. (40pt) Create wiki page.

To create a wiki page, a user must enter a title for the page in addition to the content of the page. The page title is for the <title> element in the HTML output, i.e. it will be displayed in the title bar of a browser window. CKEditor should be used for the input of page content. Validator(s) must be in place to ensure that page title and page content are not empty.

Optionally, a user may enter a password to protect the page.

For this assignment you do not need to implement file attachment.

2. (40pt) Display wiki page.

All wiki pages should include a sidebar as in MediaWiki. The sidebar should be a wiki page itself so it can be created and edited.

If a page is protected by a password, a user should be prompted for the password when the user accesses the page for the first time. If the user gives the correct password, he or she should not be asked for the password of this page again within the same session.

3. (20pt) Edit wiki page.

Note that editing a page is also considered accessing it, which means that a user must provide the password before editing a password-protected page.

[About User Interface]

Please add a link to the entry page of your wiki to the CSNS top menu under Resources. The rest of the user interface is up to you. You may use Homework 2 and MediaWiki as examples to guide your UI design. Particularly bad UI will receive up to 15% credit penalty.

[About Submission and Grading]

For this assignment, in addition to csns.zip, please submit a hw4.txt which includes the following:

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.