CS 418/518 - Web Programming
Fall 2012: Tues/Thurs 11am-12:15pm, E&CS 2120

Print - Admin



  • Dr. Michele Weigle
  • mweigle at cs.odu.edu
  • E&CS 3214
  • Office Hours:
    Tues/Thurs 9:30-11am
  • TA: Harshith Bandi (hbandi)



Useful Links

Project 3: Admin, Moderator, and User Functions

Assigned: Thursday, Oct 25, 2012
Status Report: Tuesday, Nov 6, 2012
Due: Tuesday, Nov 13, 2012 in-class demos


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.


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 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


  • 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


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


  • 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


  • 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.