RSS Forum: Blogosphere as discussion board.
Hello and welcome to a post about my weekend project. Because I’m an uncreative dork, the name pretty much gives away what it is and what it does, but here’s some more words:
RSS Forum is the result of my thinking that “the blogosphere” (ugh) is really just a discussion forum, spread out across the entire internet. Someone makes a post on their blog, and some people show up and reply to it. Extrapolated a bit: blogs are forums, blog posts are threads, and comments are posts. Why not consolidate that, and save myself some clicking.
Thus: http://www.failurecasca.de/forums
More after the jump.
Each forum is a blog. Each thread is a blog post from the RSS feed for a blog. Each reply is a post in the comments RSS feed for a blog post. The whole thing is built off of RSS feeds, and obviously it requires comment feeds to work. in WordPress, assuming mod_rewrite “pretty URLs” are in use, you can just chuck ‘/feed’ onto the end of a post permalink to get that post’s comment feed, but Gawker requires a bit of URL gymnastics (regex!) to get at the comment feeds.
It’s been running for a couple of days, and I just added a few feeds for testing, so expect there to be more in the future. Right now, it only works with WordPress, and any of the Gawker Media titles. Most of the time. Dom_xml chokes on malformed XML files, and some people really seem to like malforming their XML.
Threads/Posts update via cron job at 30 minutes past the hour. When that happens, threads more than 30 days old (and all replies to them) are deleted. I might shorten that lifespan, because Gizmodo already has 2100+ posts, in just the last two days, and I’m a little unsure how well this will scale, once I add more blogs and the post table starts growing.
It’s written in PHP 4, unforunately, for two reasons. One, I use the dom_xml extension to read the RSS feeds, and my host didn’t enable that with their PHP 5 install. I’m open to suggestion on better XML parsers. Two, the default PHP version on my host is 4.4, and since I don’t have access to my php.ini file, using PHP 5 requires adding an application handler to the .htaccess file, which slows things down a lot. The DB side is MySQL. Client-side, it’s all XHTML and CSS. The markup doesn’t quite validate yet, but it does render fine in IE6, IE7, and FireFox 2.0.
One of the interesting things about this is that there’s no way to do user profiles, either on one site or across all of them, unless I rebuild the the entire thing to use OpenID. Since my only source of data is what I get from the RSS feeds, there’s no way for me to tell if two posts by “Joe Blow” are from the same guy, even if they’re in the same thread. Anything that requires registration under a distinct user name, like Gawker, you actually can, but I don’t see the point of implementing something only works on half the forums, and I’m not going to get rid of the non-Gawker feeds. I may fork this into a Gawker-only version, though, at some point, where I would be able to do that, across all of their blogs. Not that I have any idea what Gawker would think about that.
If I were using OpenID, this wouldn’t be an issue, but I leave implementing that as an exercise to the reader.
OK, some readme type stuff:
Known issues:
- The interface looks terrible. I’m a programmer, not a designer. There aren’t actually any images being used, so it’s a bit flat.
- Posts from the Gawker Media blogs all have the users’ name at the bottom. If they have a website in their profile, it’s a link to that, otherwise it’s just a name. I can remove this, but it’s going to take a bit of work.
- WordPress likes to truncate articles when it sends them to the feed. Not so much any way I can get around this one.
Future development:
- First and foremost, allow replies to threads. I’ll have to look at how the forms in WordPress/Gawker work, copy the fields/values, and submit to their backend page.
- Make it work with more platforms, specifically Weblogs, Inc (they publish Engadget).
- Pretty URLs via mod_rewrite. Oh god mod_rewrite.
- Admin interface for adding/dropping feeds. Currently, the only admin interface is phpMyAdmin.
- Then, clean up the codebase. Do this before releasing the code, so as to avoid embarassment.
- Release the code under some open-source license. I’ll need to do some research, but I don’t care what people do with this once they install it, even if it’s commercial, as long as it stays open-source and I get credit for my work.
If anyone wants to play with this, and you have questions or bug reports, or just want to suggest that I add/remove some forums, leave them in the comments. Feel free to Digg this or link to it or whatever.




Pretty neat idea…if you need somewhere to host where at least there are no technical limitations of the system, let me know and I will create you an account on my webserver. Of course, I am running off of DSL so it would be for development, not for mass release.
FourMajor - 6/3/2007, 10:42This is a test to see if I can post from the forums.
Greg - 6/5/2007, 08:51Imagine czk4490 loop. Froogle has an abcba4b61a items checker.
oclenj - 3/6/2008, 02:19