90 likes | 191 Vues
This assignment focuses on implementing expanded features for a Bulletin Board System (BBS), emphasizing user role management. Users can assume different roles such as admin and moderator, each with specific permissions. The admin interface allows for managing user roles, and threaded discussions support multiple forums with pagination options. The system must visually display user roles, ensure deep reply hierarchies, and provide a distinct admin home page for managing BBS functions. This project is due on 10/26/2010 at Old Dominion University.
E N D
Web ProgrammingAssignment #2: Expanded BBS Featuresdue: 10/26/2010 Old Dominion University Department of Computer Science CS 418/518 Fall 2010 Martin Klein <mklein@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 later • the role must be visually displayed for the user and all other users to see • Your A2: • TACS518 = admin; mklein = 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 • full hierarchy always shown: • http://www.fordfe.com/ • http://www.techsideline.com/message_board/football/ • linear / threaded view options: • linear: http://tt.tennis-warehouse.com/showthread.php?t=315734 • threaded: http://tt.tennis-warehouse.com/showthread.php?p=4442282&mode=threaded#post4442282 • hybrid: http://tt.tennis-warehouse.com/showthread.php?mode=hybrid&t=315734
Requirements • Support for multiple forums within a single BBS • e.g. http://tt.tennis-warehouse.com/forumdisplay.php?f=6 • Administrator can add/delete forums • (a “forum” is a sub-topic relevant to the entire BBS (e.g., forums for “Agassi Education Foundation” and “Just How Good is Nadal’s New Serve?” within a BBS for “Tennis Talk”.) • “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/a2/ • These URLs will be valid for all students • If you are in a group of 2, 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 on 10/26/2010 • Nitin will assign 17 points based on a detailed examination after the class • Do not edit the files after midnight! • Late penalty: 3pts for every 24hrs • Each group will grade the aesthetic appearance of the other groups’ BBSs • Email Nitin and cc me a score of 0-3 • Each group will receive the average value (same rounding principle) • If you do not send your grades in within 24 hours, your group will lose 3 points from your assignment • Grades should be available before the next class