- I had heard that specific package was a piece of crap.
- I was too busy fixing the Y2K bugs I had written into the system in 1997 when I didn't expect to still be doing this in a month, never mind 5 years.
We've actually been meaning to get the forums into place pretty much since that original email. However, silly things like day jobs, and school kept getting in the way. We had things we wanted the forums to be able to do. We wanted threading, we wanted not-threading, we wanted it to be a piece of software we would have the freedom to modify, we wanted to try and keep things on the same platforms and technologies we were using, and we wanted them to not suck.
The site is one of the most over-engineered comic strip sites out there. This is because I'm a geek. I like designing systems, and if that means jon has to wait a few extra years for something that doesn't make me cringe, then I come up with excuses (mostly having to do with Weihenstephaner), and take the time to do things the way I like. This means we're always a bit behind the curve, but when we do finally have something, it's more scaleable, flexible, and (although none of you can see it) the underlying designs are much purtier than they would be otherwise.
For those who care, The base that all that is built on is a few Linux servers (from the now-defunct hardware division of VA Linux). One runs the MySQL database, and the two redundant web servers run HTML::Mason on mod_perl-enabled Apache web servers.
No one had built a heavy duty forums type system for Mason, but a few existed that were written in Perl. Of those, one of the most heavily exercised is Slash, the code that runs ever-popular, Slashdot. However, Slash uses Template Toolkit for its templating, and we use Mason. Additionally, Slash has all sorts of features for user submission, story display, sections, and other stuff that we don't currently need.
So I rewrote it.
Not all of it, there's some large chunks that are very similar and obviously a lot of other chunks which got left behind. As a basis for logic, however, it was a pretty good chunk of code. Some of the really good things we inherited from them are:
- The moderation system:
we can try to keep the forums on track without having to censor anyone, and all of you get to be the enforcers (Allowing jon and myself to stick to what we're good at: being lazy).
- A lot of the screening of HTML-in-posts:
I like letting people decorate text, especially for emphasis purposes. However, I know that many people have the same feelings about closing tags as I have about closing times.
- Threading:
Or Not. Your call; there's multiple options for how to display discussions. I can't tell you how happy I was to not have to figure out this logic on my own.
Last, but not at all least, we'd like to thank the beta testers who participated and gave us feedback. You'll know who they are, since they'll be starting the initial discussions for us. They did a great job, and cleaned up a massive number of my screw-ups. Any additional screw-ups you find are purely because I presented them with an immovable object.
So let us know what you think. We have features we're already thinking of adding, but we also have a couple of other projects we want to get done, so any feedback helps us prioritize.
