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 2: Expanded Message Board Features

Assigned: Tuesday, Sep 25, 2012
Status Report: Tuesday, Oct 16, 2012
Due: Tuesday, Oct 23, 2012 - in-class demos

Added requirement for "remember me" at login and explicit logout function (see Required list under Roles section) -MCW 9/26/12


The assignment asks you to build upon the basic message board that you built for Project 1. This version requires several additional features, including roles (admin, moderator, etc.), thread support, multiple forums, and pagination.



Users can now have roles, which are separate from a user’s identity

  • admin: superuser for the message board -- if there is a function that is possible to do through your web interface, then admin has that capability
  • moderator: less powerful than the admin, but more powerful than regular user (separate moderator functionality will arrive later)
  • the role must be visually displayed for the user and all other users to see
  • TA = admin, mweigle = moderator
  • other users may have admin or moderator roles


  • Admin must have its own interface/page from which to perform message board functions
    • does not preclude context-sensitive functionality elsewhere in the message board, but there must be an “admin home page” from which all message board things are possible
  • Admin(s) can add/remove admin or moderator roles to other, existing users (implies the ability to list all valid users)
    • message board can have 0 moderators, but must always have at least 1 admin
  • Users have a “remember me?” or "stay logged in" option when logging in
    • example: http://tt.tennis-warehouse.com/index.php
    • server will send a cookie to the client so the user will automatically be logged in if they return to the message board in, say, 5 minutes (a real value would be longer)
  • Explicit “log out” function that terminates the current session & the “remember me” cookie

Thread Support

A thread is a message and all of its associated replies (and replies to replies to replies...). There are many different display models possible.

List of Threads in a Forum Examples:

List of Messages in a Thread Examples:


  • Choose and implement a style for the display of threads and messages.

Multiple Forums

A forum is a sub-topic relevant to the entire message board (e.g., separate forums for "Good Eats" and "Recruiting" on the LSU sports message board).


  • Your message board must support multiple forums.
  • Administrator can add/delete forums


Administrator can set how many messages/replies to view on a single “page” (default = 5). See threading examples for pagination examples.


  • Users must have ability to paginate through a forum.


In-class status report in two weeks (Oct 16)

  • 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 (Oct 23-25)

  • Order of the demos will be chosen at random
    • everyone should be prepared to demo on Oct 23
    • if you do not demo on Oct 23, you will demo on Oct 25
    • no code is to be edited after midnight on Oct 23
  • Demonstrate all of the required features of your system
  • Show any 'extras' that you have done
  • Tell us the division of labor (who did what)
  • Demo must use the version available on mweigle418 - no magic laptops!
  • 5 minutes max - practice your demo ahead of time
  • TA will assign 17 points based on a detailed examination after the class

Each student will grade the aesthetic appearance of the other groups’ message boards

  • Email TA (and cc me) a score of 0-3 with the subject line CS 418/518 Project 2 Eval
  • Put the scores for all groups in a single email
  • Each group will receive the average value (rounded up)
  • If you do not send your grades by Friday Oct 26, you will lose 3 points from your assignment

Grades should be available within one week


  • https://mweigle418.cs.odu.edu/~username/proj2/
  • 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 is for your benefit and the benefit of your peers more than for me.