revision plan for the /bboard system
part of the ArsDigita Community System
by Philip Greenspun
We want to rewrite the /bboard system so that
- we switch from a varchar primary key to an integer (part of a
general ACS-wide move to simple integer primary keys); retaining the
old sort_key system, though, and also preserving the legacy keys in a
separate column so that people can still point to threads
- let's increase the number of chars used at any one level to 4 (from
2). This will address the needs of sites like cnn.com where they don't
use threading and have a gazillion responses to the same top-level
question
- we have soft-delete by the moderators (thread disappears from the
moderated version but is still in the database) and a mode where new
questions require approval before they go live in the moderated version
("don't show this to anyone until at least one moderator has said it was
okay")
- we use the abstract URL system
- (to support the edu module and MIT Sloan School) scoping of bboards
by roles within a group (so that a bboard can be for professors and TAs
in a class but not students)
- (related to above) make sure that the bboard system works with the
group scoping stuff (subcommunities)
- some additional abstraction in the database at the PL/SQL level,
e.g., a function that answers the question "Can User 17 read Bboard
Topic #32?"
- a more sensible approach to this "featured", unmoderated, etc. stuff
(template it!) on the home page (and don't show people bboards in which
they are prohibited from reading))
- an actually useful threaded interface for bboards with 100,000
postings
- maybe some abstraction out of the USgeospatial stuff (we should be
able to tie discussions to arbitrary other objects in the database,
using on_which_table, on_what_id style of pointing)
Email Fixes
- take out the control-Ms
- From header should say "Joe Smith via photo.net bboard
<joes@foobar.com>"
- the email notifications should have a link not just to the overall
bboard but to the individual thread
- correctly set References: and In-Reply-To: headers so that a mail
reader can display these as threads
- (hard and make it configurable) inbound email gets posted to the
bboard in the right place
Bug Fixes
- the Q&A admin pages should not warn you that a user has turned
off notification when in fact there is a thread alert
philg@mit.edu