Forum Moderators: rogerd
This feature doesn't seem to work very well in most forums, so I'm trying to think of a better way to do it.
However, in the end I saw no other solution (due in part to reasons that go outside the scope of this thread). So the compromise I made was to store the posts read per member for the last two weeks. After two weeks, that data is archived in a separate "historical" table and deleted from the "live" table. The result is that a post is declared no longer new to you if a) you've read it, or b) two weeks have passed, regardless of whether you've read it. Psuedo-programmatically, the post is new if post_date > CURRENT_DATE - 14 AND NOT EXISTS(SELECT 1 FROM viewed_post WHERE post_id = abc AND member_id = xyz)
If you run a forum where people only check back once every few weeks, this is not a good solution for you. But it seems to work well in my case. I'm hoping it will scale well. Having accurate new post markers is hugely cool.
My new question is, would doing this turn people off as far as privacy goes? This information could be useful to track where a member has visited, both for the forum and for the member. I could create a history page for them, so they could back track to a page they've visited in the past. Is it such a bad thing, since I could just look this up byu IP? Does this question maybe belong in a new topic?
So if this is an invasion of privacy, should I just store this information in a client-side cookie? I can create two different cookies, a forums visited cookie and a topics visited cookie. If the cookie gets to big I could either pop the oldest visit time off or create additional cookies.
Interesting topic, Chadmg. I think this is the most common method, because it's easy to program and requires minimal record-keeping.
It's not the best approach, though, as it doesn't really show what has been read in most cases.
A client-side cookie would work for some, but many forum members use multiple PCs and would experience inaccurate data.
The thing I wonder about is how many forum members really use this feature, or would use it if a truly sophisticated indicator was available. I've had questions about it on my forums, so I know that SOME people use it; it just isn't clear how pervasive the usage is.