Assigned: Thursday, Oct 25, 2012
Status Report: Tuesday, Nov 6, 2012
Due: Tuesday, Nov 13, 2012 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 mweigle”
- 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 (Nov 6)
- 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 Nov 13
- Demonstrate all of the required features of your system
- Show any 'extras' that you have done
- TA 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 TA (and cc 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 (rounded up)
- 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
- http://mweigle418.cs.odu.edu/~username/proj3/
- These URLs will be valid for all students
- If you are in a group of 2, only 1 URL will have the actual PHP, and the “other” URL will auto-redirect to the “right” URL
Recommendation
- 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.