Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > General > Member Archives
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Details »»

Version: , by leadZERO (Guest)
Developer Last Online: Jan 1970 Show Printable Version Email this Page

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.
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:14 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03478 seconds
  • Memory Usage 2,189KB
  • Queries Executed 16 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete