I am seeking a solution that will be developed in ASP.NET (preferable 3.x), and hosted in a sharepoint environment. Knowledge of Sharepoint is a plus, however it is not a requirement for this project. The backend database will be MS Sql Server. The solution must contain all of the same features that are found in most tagging features offered by the mainstream community sites. Specific requirements are listed below:
System Requirements:
1. The user has the ability to associate a predefined or freeform tag with a specific page.
2. This will be accomplished with a text box and an AJAX auto suggest feature of the predefined list. If there is no match with the auto suggest the text can be added as a custom tag.
3. A user may tag a page with an unlimited number of tags.
5. A user may associate a page with a specific tag only once. Subsequent attempts to tag the page simply update the date tagged.
The assumption is that this will be a string match so “Microsoft ASP.NET?? will match “Microsoft ASP.NET?? and not “Microsoft?? and “ASP.NET??.
7. Users will have the ability to add a note to a tag when tagging a page.
8. There will be a list of predefined tags managed by the site administrator, an small but effective admin console must be included (authentication will be handled by the sites forms based authentication provider, ask me if you have questions about this).
9. All tags are public by default, allowing a user the ability to change the status from public to private.
NOTE: All front end components must be in the form of custom web controls.
The final deliverable must include:
1) Complete visual studio 2008 web application project containing the controls and any supporting pages to deomonstrate the controls in working order
2) A complete set of Scripts that will setup the Sql Db, preferably as a visual studio db project
3) Any required supporting documentation