I need to have developed (I’m no developer) a site that functions as a blog with many authors—perhaps hundreds—that also acts like a Digg system of sorts.
I live in a community that loves their Letters to the Editors—hundreds a month in the local paper. The local political discourse here is extremely high. I want to capture that on this site. Here’s how I want it to work:
People would sign up for an member account. Then, they would be ale to write a blog post which would be anywhere from a paragraph to let’s say 1,000 words or so. Others who have an account could comment on the post, and give it a Thumbs up or Thumbs Down, or some sort of rating. I might want accounts moderated until I see the first post and then up their sub level to e able to post directly.
Now comes the Digg-style bit. I’d like to see the page in the format of Digg, with the new unrated, or low-rated, articles titles in a sidebar, and the popular ones running down the main body.
So far, it does not seem like a problem.
BUT, I cannot just have posts with the most votes at the top of the main body, because I have to factor in time, like Dig does. A highly voted post that is getting older has to start being marked down for age. Likewise, a new post that has a lot of votes, given the short time it’s been up, has to be higher.
Obviously, each post needs to have an internal score, based upon age and number of votes; this would be the sort order of the posts for the main body. But how do you do this real time, or periodically? Is it possible that each time a post is accessed for reading, voting, commenting, or whatever, that it triggers an update of the score for that record?
If you think you know how this can be done, I’m all ears.