Version: , by leadZERO (Guest)
Developer Last Online: Jan 1970
Version: Unknown
Rating:
Released: 03-02-2001
Last Update: Never
Installs: 0
No support by the author.
I've been toiling over ideas for how to improve the read/unread post system. Basically I've come up with two plans that would be relatively easy to implement but would add the features many people have been asking for; a way to not have the boards be marked as read when they really haven't been read. I have run into this trouble when I use the vB engine for other parts of my site. My news and commenting is done via a vB forum. The problem is whenever someone just views the news page, and not the forum, forums get marked as read.
Basically I propose the addition of a "lastview" table to the db. This would have some derivation of the following form:
Code:
CREATE TABLE lastview (
userid int(10) unsigned NOT NULL,
threadid int(10) unsigned NOT NULL,
forumid smallint(5) unsigned NOT NULL,
dateline int(11) unsigned NOT NULL,
PRIMARY KEY ( userid ),
KEY ( threadid ),
KEY ( forumid )
);
There are basically two paths, either you can store records for individual thread views or forum views.
If you store by thread views the table will grow constantly. Quite possibly it could grow by 1 record per user per thread. On larger boards this could become very large very quickly. On the other hand though this would offer the best usability. It would allow only those threads that have been read to be marked as such, and then any outside links to the thread, meaning someone did not arrive from the corresponding forum view, would not trigger the entire forum as read.
The other option is a lot more conservative. Instead of the max entries in the table being $numUsers * $numThreads, and in which it will constantly grow; the table would only have $numUsers * $numForums entries and will only grow when new users or forums are added. However, this will lack the completeness of doing it by threadid. (Also in this method the "threadid" member of the table could be omitted.)
I was just wanting feedback from some of the developers that have worked with larger sites, such as wluke and SitePoint, or the vB Team. I wouldn't mind having each thread be marked individually, however I think this could get out of hand on larger sites.
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.