IDIA 618 Dynamic Web Sites

Review 8 - CluelessPC.com

David Pepper

This is the place holder for my review of my final project CluelessPC.com web site. The dynamic features of the web site are highlighted below.

Test User on Content

I imagine that aside from the content itself, one of the main services of the site will be to provide a way for organizations to measure the basic competance of populations of interest to them (staff, students, customers, etc.), by sending them to the site and making use of some mechanism to record their performance. This will require the site to persist results of each page of tests, and allow them to be associated with a user's account, so that if that user logs back in the settings will be persisted.

User's performance on each section will be displayed in some way in the upper left hand corner of the site. Currently the idea I have for this is a pyramid graphic where each block of the pyramid can be shown in two different states (completed and incomplete). This metaphor is apt to change in the future, but should be sufficient for this prototypical site.

Users who are able to pass tests for every content area will be deemed to "have a clue". The mission of the web site is to pave a path from utter cluelessness to intermediate knowledge, so people who "test out" of the web site are at once quizzically no longer of interest to the site at all, and also simultaneously proof of it's success.

To celebrate this accomplishment, users who are deemed clueless will be granted a number that will be a permanent unique identifier of their mastery of the content of the site. This is a get-out-of test free card, and if organizations use the system to test the abilities of their staff, staff who have passed the tests will be able to advertise their success through the use of the ID.

Automatic Language Detection

Upon visiting the home page, the web site will detect the browser's language and it will be stored in a url variable. The URL variable will be used to have the database know what language to serve content in.

Users who log in will be allowed to store language preferences which will also factor into the web site's choice of what content to display to the user. There will be a simple algorythm of user preferences, followed by browse-in language, followed by english. This will be able to be resolved using SQL, since the language ID of the users' preferred languages will be stored in the M-M tblUserLanguage table, which will have a compound key joining tblLanguage and tblUser.

This strategy will allow the choice of content to be done with [set-based] SQL, for example the SQL will ask the database for "limit 1" record which matches the user's preferred language list sorted according to their preference, and supplying the english content (which will exist because all content will be developed in english first), if no match exists.

Persist Login Info

The website will allow users to login and store unique information about themselves of interest to the web site. These will be any number of preferred languages, email address, name, etc.

Send a Link to Someone Clueless

The website will grow in part by people recommending content to clueless people in the world. Ideally this would be done by a user browsing to the content and putting another user's email address into a form which would send to the request to the server which would in turn send the person an email with either the linked content in it, or a link to the content. Since mailers are a common target for hackers, I think it will be safer to give the user a URL to copy into an email from them to someone they know using their own mail software.