For this assignment, complete the following features of the CSNS calendar described in Homework 3. Note that a feature must be functional in order to receive any credit at all.
1. Full Text Search (30pt)
A user may perform full text search on event. The system should search both the titles and the descriptions of the events that the user has access to. The search results should be ordered by their relevancy scores, with the most relevant result first. For each event in the results, display the title, description, start and end time of the event with the query terms highlighted. Clicking on the title of the event should take the user to the page showing the details of the event.
This feature must be implemented using the full text search support provided by PostgreSQL.
2. Event Authorization (extra credit +30pt)
Use the tools provided by Spring Security, e.g. URL security, access decision voters, security tag library and so on, to implement access control for events. In particular:
3. More Extra Credit
[Additional Requirements]
Before submitting your work, commit all the changes to your Subversion repository, and create a tag called cs520-hw7.
Scripting elements (i.e. JSP Scriptlets, JSP Expressions, and JSP Declarations) are not allowed in JSPs.
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, I will use the following SQL scripts in your csns.zip to create, populate, and then clear the database: