categories: so, getting to this global namespace requires
building a taxonomy for your site, which is a big deal. I want to
find a solution that doesn't impose too much on the user. Maybe
a generic categorization scheme (as discussed in a different
thread) that supports local or global taxonomies. That said, I
obviously want to keep things simple for now, with an eye
towards future enhancements.
I completely agree that setting categories in a single bboard
should not require the creation of a site-wide taxonomy.
However, it should allow integration with a site-wide
taxonomy. From my limited understanding of service contracts,
I'm thinking that you'd want to create a contract that enables a
package (or package instance) to use a simple (i.e.,
instance-scoped) or complex (i.e, site-wide) category system.
For the immediate purposes, you might want to just implement
the local version for bboard as long as the plumbing is there to
enable other hackers to do broader scoping when that itch is
ready to be scratched.
- editing: the issue is not so much performance as it is
usability: I don't know of many other bboard systems that allow
editing. Not because it's hard, but because it completely breaks
the flow of conversation. If you write a message on May 10th, and
I respond on May 11th, and then you edit your message on May
12th, then whether you change the posting date to May 12th or
leave it to May 10th, chances are my response makes no sense.
However, if you simply allow someone to post a new correction
on May 12th, then it all makes sense. That's the real issue, IMO.
I don't see usability as a huge issue as long as you allow
readers to view previous versions, much the way you can view
previous versions of a doc in file-storage. Alternatively (and
somewhat more simply), you could only allow editing as long as
the post being edited is the most recent one. You could make
these admin configurable.
I admit that there's no perfect solution to the editing problem,
but I'm not convinced that not providing editing capabilities is the
best compromise.