Community software patterns, and stripping javascript
April 22nd, 2002Patterns, and cookbook capture the sweat, and inspiration of those who have gone before you, boiling it down to a few key concept, and helpful howtos. Most common are the object and coding patterns ala GoF, and Portland Pattern Repository. Then there were web design patterns (called interaction patterns). Now I’m looking for a collection of patterns for building and running community software.
Community Patterns:
Web-based software designed to facilitate participation from the websites visitors is more the rule then the exception these days.
Slash (and descendants), phpNuke (and descendants),
Scoop, the
myriad of solutions running the Indymedia sites (
Mir, Active, SF-Active, Dada) all
run up against some of the same problems, and get stuck experimenting, and rebuilding simliar solutions.
Some problems that jump to mind: comments (threading, sorting, etc), moderation, categories, reputation mangement, privacy, and dealing with abuse.
Thoughts on threading
Derek of {fray} with
a brief blurb on the threading vs. flat debate
Handling bad or malicious mark up
What I’m really thinking about this morning is cleaning HTML. An email just went across the Mir (Indymedia) list on the best way to handle javascript that is
being attached to links, and images in the open publishing newswire, for the purpose hijacking the page.
- On Protest.net we use the approach of building a parse tree, and then stripping invalid tags
from the tree.
- On Indymedia we use are a series
of regexes, that have accreted over time, like coral, responding to each
new intrusion. Neither one handles Javascript all that well.
- Slash and Scoop seem to use hand built parsers, built arund regular experssions.
An exmaple of the parser approach (in Python): http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52281
ack! getting kicked off the phone line more to come…