Web Programming Assignment #2: Expanded BBS Features Old Dominion University Department of Computer Science CS 418/518 Fall 2008 Michael L. Nelson <mln@cs.odu.edu>
Requirements Users can now have roles, which are separate from a user’s identity admin: “su” or “root” for the BBS -- 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 in A3 the role must be visually displayed for the user and all other users to see Your A2: vdevaras = admin; mln=moderator other users may have admin/moderator roles
Requirements Admin must have its own interface/page from which to perform BBS functions that does not preclude context-sensitive functionality elsewhere in the BBS, but there must be an “admin home page” from which all BBS things are possible Admin(s) can add/remove admin or moderator roles to other, existing users BBS can have 0 moderators, but must always have at least 1 admin implies the ability to list all valid users in the BBS
Requirements “Thread” support support arbitrary depth of replies to replies to replies… display hierarchy of who replied to whom many different display “models” possible; examples: full hierarchy always shown: http://www.fordfe.com/, http://www.techsideline.com/message_board/football/ linear / threaded view options: linear: http://www.lateral-g.net/forums/showthread.php4?t=6003 threaded: http://www.lateral-g.net/forums/showthread.php4?p=60787&mode=threaded#post60787 hybrid: http://www.lateral-g.net/forums/showthread.php4?mode=hybrid&t=6003
Requirements Support for multiple forums within a single BBS Administrator can add/delete forums (a “forum” is a sub-topic relevant to the entire BBS (e.g., forums for “Ford Mustang” and “Ford Fairlane” within a BBS for “Ford Muscle Cars”.) “Pagination” function administrator can set how many messages/replies to view on a single “page” (default = 5) users must have ability to paginate through a forum what if a thread is longer than what fits on a page? “do the right thing…” -- come up with your own, internally consistent model of how to display threads…
baseURL for Submission http://mln-web.cs.odu.edu/~username/assignment2/ These URLs will be valid for all students If you are in a group, only 1 URL will have the actual PHP The “other” URL will auto-redirect to the “right” URL
Recommendations Debug within your group first, then ask for other groups to help debug your operations Your status report the week before is for the benefit of your peers more than for me… status report is not optional
Grading There will be an in-class demo Vijetha will assign 20 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’ BBSs by emailing Vijetha <vdevaras@cs.odu.edu> (and cc’ing me) a score of 0-3; each group will recv 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 before the next class