Log in

View Full Version : Thread/Forum Read Marking Type

2005-11-22, 04:06
This is from the vBulletin admin control panel help file:

Thread/Forum Read Marking Type
This option controls how threads and forums are marked as read.

1. Inactivity/Cookie Based - once a user has been inactive for a certain amount of time (the value of the cookie timeout option) all threads and forums are considered read. Individual threads are marked as read within a session via cookies.

This option is how all versions of vBulletin before 3.5 functioned.

2. Database (no automatic forum marking) - this option uses the database to store thread and forum read times. This allows accurate read markers to be kept indefinitely. However, in order for a forum to be marked read when all threads are read, the user must view the list of threads for that forum.

This option is more space and processor intensive than inactivity-based marking.

3. Database (automatic forum marking) - this option is the same as a previous option, but forums are automatically marked as read when the last new thread is read.

This is the most usable option for end users, but most processor intensive.

Today I turned on the thread/forum read marking to be setting #2. Prior to version 3.5 of vBulletin, the only choice was to use option #1 as the way to automatically mark forums read. That meant that once your cookie session expired, they were automatically marked read. On this site that would mean that if you were inactive for more than 30 minutes, all the forums would be automatically marked read. Also under that system there was no distinction made between new posts and unread posts.

Let me explain the difference between unread posts and new posts. New posts are the new posts that have occurred on this site since your last visit, which is defined as when your cookie session last expired or when you last logged out. Unread posts are the ones which you haven't read yet. For example you could have visited the site yesterday but have an unread post from a week ago.

When you go to the home page (http://www.3-3-3.org/) of this site you will see in the Welcome Block that you have so many new posts since your last visit. It will tell you that there are new posts there even if you have read them already. That refers to the amount of posts in your current session that have occurred since your last session. If you actually click that new posts (http://www.3-3-3.org/forum/search.php?do=getnew) link there you will see the results broken into new posts and unread posts. The unread posts are caused by the database thread/forum marking. It will tell you there: "The threads below have not been updated since your last visit but still contain unread posts.". But that is a fluke which occured because I first turned on this type of thread/forum marking today. And I set it to have a Database Read Marking Limit of 90 days. That means that after 90 days, all threads and posts which are older than that will be automatically marked read even if you have not read them yet. Also because I turned it on for the first time, the database assumes that with your first login or visit here since doing so, that you haven't read the posts in the last 90 days. In order to get the thread/forum markings working properly here under the new system, you will have to, just once, click on this:
MARK FORUMS READ (http://www.3-3-3.org/forum/forumdisplay.php?do=markread)
That will set all new posts and unread posts to zero. Or you can wait 90 days after logging in and the problem will fix itself.

The entries are stored in the database under a table called "forumread". Whenever one marks forums read or reads the posts within a subforum, then it adds a simple entry there with the userid, forumid, and Unix time. I have posted an attachment of how it looks in the database. Note that in the attachment I marked forums read at Unix time 1132630332. Then later on at 1132630540 I went into the p2p forum. Because forumid #1 is a category, and forumid #7 is a subforum, it showed simultaneous activity in both of them.

The advantage of having the forum/thread marking system use the database is that if you choose not to read a post or thread during your session, you can come back later without it having been marked read. Under that situation you will then see that there are 0 new posts on the home page, but those unread posts will still be indicated to you by icons throughout the forum. They will also be searchable by way of the "new posts" link on the home page.

Here is how they are displayed graphically throughout the forum. First when you to the forum page (http://www.3-3-3.org/forum/) you will see http://www.3-3-3.org/forum/images/statusicon/forum_new.gif to indicate a subforum has unread posts. Within the subforum you will see the threads indicated with a http://www.3-3-3.org/forum/images/buttons/firstnew.gif to indicate unread threads, as well as the text of the thread title displayed in bold. And on the column just to the left is an icon that looks like an envelope http://www.3-3-3.org/forum/images/statusicon/thread_new.gif which also changes accordingly. Note that the image key on the bottom explaining those images is inaccurate and has not been changed by vBulletin to reflect this new type of thread/forum marking, because it labels them as "new posts" when they are actually "unread posts" under this system. Finally, the unread posts will be also displayed graphically within threads by the icon http://www.3-3-3.org/forum/images/statusicon/post_new.gif to the left of the post time.

2005-11-23, 04:01
I want to update this and let you know that I just switched it from option #2 to option #3 as described in the post above.

I just realized that with option #2, the icon indicating unread threads within a subforum http://www.3-3-3.org/forum/images/statusicon/forum_new.gif was still showing even when there were no unread threads in a subforum. At first I thought option #2 was better than option #3 because the vBulletin description for option #2 described more features. But now after reading carefully I realize that there is little difference between options #2 and #3 except that option #3 automatically marks the forums read, which is preferable. It is a bit of fault also with vBulletin and their wording which caused my confusion. Currently the description for option #3 is:
"forums are automatically marked as read when the last new thread is read."
to avoid confusion it should be phrased:
"forums are automatically marked as read when all of the unread threads have been read"
Their phrasing is confusing because it seems that all you have to do in order to automatically mark a subforum as read, is to view the last (latest) new thread rather than having to view all of the new threads, which is what it really is.