So I was sifting through email this morning and ran across the following message:
"Hi Tony,
How is the next/previous thread functionality supposed to work? When I look at a thread under "General eJournal issues", and click "previous thread", I get to posts in other forums. Bug or feature?
What I would like, is the possibility to quickly read through all the posts in a single forum by using these links."
The email is referring to the << Previous Thread Next Thread >> text above the top post when viewing a particular thread item.
It just so happened that no one ever seemed to notice this feature before, or the quirks associated with it. The idea behind it is that when viewing a post-thread in a particular forum, you can use these two links to navigate back and forth between the various threads in that forum.
Take a look at how the posts appear in the ShowForum view. The posts are ordered so that the thread with the most recently edited post is on top. To click on the "Previous Thread" link is supposed to show the next thread down the list - containing an older post, while clicking the "Next Thread" link will show the next thread above the current one. After reading the email I went to the forums to test it out and sure enough, the result was not as expected.
I do not know how many know this, but DevNet forums is based on the last beta version of CommunityServer forums - first debuting on asp.net many many moons ago. I rarely have to crack the source and fiddle around with the forum-site functionality, but when the opportunity presents itself, I really enjoy it. There is so much more to the application than viewed online.
So, getting back to the problem...
What it turned out to be was a mistake in one of the stored procedures in the database. What the stored procedure did was get the thread ID's for both the previous and next thread based on the current thread. These values were then passed back to the application as post ID's and placed inside the hyperlink string. The resulting behavior ensured a user never knew what threat they would view next, not to mention what forum. Someone playing with the feature could justifiably conclude they were viewing the forum threads randomly.
I ended up patching the stored procedure by getting the first posts associated with the previous and next thread ID's, then return both of those post ID's instead. No compiled code changes required. :-|
So, what have I learned from this? Well, if nothing else, I have learned that either 1) the site features are underused, or 2) very few people submit useful feedback about the application. Neither of which case I prefer, but at least hope it is not more a result of the latter.
I appreciate any comments you may have, so please provide feedback about your experience. It is a community site, after all.
Best regards.
Tony Yates