Assigned: Thu, Mar 22, 2013
Status Report: Thu, Apr 4, 2013
Due: Thu, Apr 11, 2013—in-class demos
Description
The assignment asks you to continue to extend your message board from Project 2. This version requires the addition of a registration mechanism for new users and extended role functions.
Requirements
New User Registration
Use a 2 step procedure to reduce illegitimate registrations:
- A person requests an account.
- You send them an email with the necessary information to complete the registration (typically a confirmation link with a 1-time key used to verify that particular registration request).
At registration, users can specify if they want to receive either text/html
email or text/plain
email. Note that you cannot send email outside of the @cs.odu.edu domain.
You are encouraged to have other groups test out your new user registration feature.
Forgot Password
Add a “Forgot password?” function to email password reminder or password reset to existing users. It is your choice which to implement.
Extended Role Functions
Users
- Users can edit their own posts:
- leave some indicator that the post was edited - e.g. “this post edited on 2012-08-27T17:20:11 by sainswor”.
- Keep track of user stats:
- date registered.
- number of posts.
- number of threads started.
- date of last post.
- Define your own user “ranking” scheme:
- e.g.: “newbie, user, veteran, no life” or “walk-on, travel squad, 2nd line, starter”, …
- make up your own values and formula.
- “user level” is displayed when users read posts .
Admin/Moderators
- Administrator should have an “overview” of all registered users, summarizing their activities (date registered, posts, replies, etc).
- Administrators and Moderator functions:
- “freeze” entire threads (no more replies, but not thread is not deleted).
- edit or delete message (leave some indicator that the message was edited or deleted):
- do "the right thing“ when deleting msgs re: replies.
- (check for race conditions: e.g. a msg being deleted after a user has begun the reply process but before they hit “submit”).
- “suspend” and “un-suspend” user:
- suspend = cannot post messages until suspension is lifted.
- send email re: action to the user.
- Administrator only functions (in addition to those introduced in Proj2):
- delete users and send email to user informing why deleted.
Grading
In-class status report (Apr 4)
- Binary, either 0 or 3 points
- Attendance is mandatory
- 3–4 minute presentation per group
- Slides or appropriate digital and presentable alternative
- Status, problems, solutions, concepts, “to dos”
- Questions for your audience
In-class demo on (Apr 11)
- Demonstrate all of the required features of your system.
- Show any 'extras' that you have done.
- Instructor will assign 17 points based on a detailed examination after the class.
- Do not edit the files after midnight!
Each student will grade the aesthetic appearance of the other groups’ message boards
- Email me a score of 0–3.
- valid scores: 0, 1, 2, 3 (i.e., no decimal points).
- you must not give every group a grade of 3 (this will be treated as if you did not submit the evaluation).
- Each group will receive the average value.
- If you do not send your grades in within 24 hours, you will lose 3 points from your assignment.
Grades should be available within one week
Submission
Recommendations
- Debug within your group first, then ask for other groups to help debug your operations.
- Your status report the week before the due date is for your benefit and the benefit of your peers more than for me.