Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Track Guest Visits Details »»
Track Guest Visits
Version: 1.22, by Paul M Paul M is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Forum Home Enhancements - Version: 3.6.x Rating:
Released: 11-11-2006 Last Update: 10-04-2007 Installs: 1249
DB Changes Uses Plugins Auto-Templates
Additional Files Translations  
No support by the author.

This modification is no longer available or supported.

Something that has been repeatedly asked in the "Members who visited today" modifications (all versions) is a similar way to track the number of guests that have visited a forum each day. This isn't possible in stock vbulletin as no record is kept of guest visits, they are a 'realtime' display only. I've therefore finally got round to looking at the issue and produced this modification.

This will add (another) section to the "What's Going On" area. The data is kept in a new table so it should be possible for other uses to be made of it (or display it in other ways). A screenshot of the current display is attached.

Options / Features ;

* The ability to turn it on/off.
* The ability to turn just the display on/off.
* The ability to allow (or prevent) certain usergroups viewing the display.
* The ability to run the display code on all pages (not just forumhome).
* The ability to switch between 'Today' and Rolling 24 Hours display (default).
* The list of guests can be set to be always collapsed on initial view.

* The script that the Guest is running is logged (e.g. showthread, usercp etc).
* The request variables in use are logged (e.g. threadid, userid etc).
* The guest table can be cleaned of old records to help control it's size.
* Controls for the displays automatic template update.
* The datastore read (for spider detection) will read from the File/APC/Memcache/Xcache datastore [if used].

Version 1.19+

* Guest Views data collection - tracking each guests viewing of the forum index page, forums and threads.
* Guest Views data collection can be separately disabled.
* Multiple guest visits to the same page are logged separately.
* Clicking on a Guest type in the main display will list all recent visits by guests of that type.
* Clicking on the option in the guest listing will show that guests viewing data (if enabled).
* Usergroup permissions are now done with the standard vbulleten usergroup permissions system.

Four new usergroup permissions are provided in the usergroup manager.

* Can View the Guests Visited Display - Members can view the guests visited display on Forumhome.
* Can View Guest IP Addresses - Members can see the ip addresses of visiting guests.
* Can View Guest Visits List - Members can view the list of guest visits page.
* Can View Guest Tracking Data - Members can view the individual guest visit tracking page.


Version 1.22+

The option to keep a record of [and display] the most ever guests has been added - this used to be provided by a seperate add-on product.


* All (non usergroup) modification settings are in vBulletin Options > Guest Tracking.

To install ;
  • Unzip the XML files.
  • Upload the bitfields file to your ../includes/xml folder.
  • Import the product into vB using the ACP Product Manager.
  • Set your required permissions in the usergroup manager.
Note that by default no permissions are given, you must set them.

You can get an improved Spiders Definition file, that recognises many more spiders, from this post.

Note: For Spider detection to work you must set Enable Spider Display to 'Yes' in vBulletin Options > Who's Online Options.

A German translation has been provided by hurik in post #769 - (for Version 1.22).


History:

v1.00 : Internal dev version.
v1.01 : Initial vb 3.6 beta release.
v1.02 : Phrasing added, final beta version.
v1.03 : Initial full version, some new options added.
v1.04 : Fix potential variable name clash with WVT Mod.
v1.05 : More options added, script and request variable logging added.
v1.06 : Minor internal code changes, phrasing altered slightly.
v1.07 : Datastore call changed to standard fetch function.
v1.08 : Moved Datastore call due to oddities, and fixed small bug.
v1.09 : Simplified always collapsed code.
v1.10 : Datastore call moved and reverted back to db_fetch.
v1.11 : Added Spider Cache Refresh on install (limited release).
v1.12 : Unique Guest id changed from standard vb id to internally created id.
v1.13 : Changed the SQL to force MySQL to use the index on forumhome.
v1.14 : Changed install code to delete old spider cache before rebuilding it.
v1.15 : Added check to try and detect a broken spider cache and fix it.
v1.16 : Number formatting added to individual totals in display list.
v1.17 : New usergroup display options added, datastore read updated.
v1.18 : Beta for new display options - listing guests and tracking guest views.
v1.19 : First release with the new permissions and display options.
v1.20 : Minor changes to install code only.
v1.21 : Internal development version, not released.
v1.22 : Added the "Most ever guests" option.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #302  
Old 01-07-2007, 01:56 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Rop View Post
Hi Paul,

Thank you for this nice mod!
Could you explain a bit how guests and spiders are counted? As mentioned by others, it seems to greatly undercount spiders. That's probably by design, and it would help if I understood how a guest/spider is counted. From the dB table it looks like it's tracking IP, so I guess unique IPs are only counted once? Even with that in mind the count seems low, so there must be more to it. How is the ID in the table calculated? Possibly multiple instances of a spider result in the same ID?

In the last few posts you mention there's a cron job doing cleanup. What is job called? Or is it part of an existing job, like Daily Cleanup? There doesn't seem to be anything in my list of cron jobs that's related to guest visit tracking. I just want to make sure there is something cleaning up the guests table, so it doesn't grow unbounded.

Thank you!

-Rob-
The unique id is generated by standard vbulletin, iirc it's based on ip and useragent - you will see them in the vb session table if you look.

Basically what this does is create a record for each unigue visitor, as determined by vb, and update that record each time that visitor loads a new page (exactly as happens for a member).

If spider detection is enabled then each time a visitor record is updated it loads vb's spider list (as used on the WOL) and uses this to check if the visitor is a known spider, if it is recognised then the record is updated with the spider name as well as the new lastactive time. (That means if it was off, and you turn it on, you will not see an instant change, visitors will only be updated as they visit).

The count is simply built by loading all the records where the lastactive time is greater than the cutoff (either 24 hours ago, or midnight, depending on the setting).

The cleanup does not use a seperate cron job, it's via a hook in the hourly cleanup job.
Reply With Quote
  #303  
Old 01-07-2007, 04:31 PM
Rop Rop is offline
 
Join Date: Nov 2006
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Paul! That does make things a little clearer.
I understand now why spiders that come from the same IP will only be counted once, even if they come back multiple times within 24 hours.

I still have a little bit of a puzzle with spiders though: About an hour ago 6 Slurp spiders were showing on my board. They were all from different IPs. Yet the guest stats show that only 3 Slurp spiders have visited in the past 24 hours. So, is this because vBulletin classifies some of these (despite the unique IPs) as 'the same' guest? No way around this I suppose?

-Rob-
Reply With Quote
  #304  
Old 01-07-2007, 05:22 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Rop View Post
I still have a little bit of a puzzle with spiders though: About an hour ago 6 Slurp spiders were showing on my board. They were all from different IPs. Yet the guest stats show that only 3 Slurp spiders have visited in the past 24 hours. So, is this because vBulletin classifies some of these (despite the unique IPs) as 'the same' guest? No way around this I suppose?
Actually, what is happening is that the slurp spiders are from a similar subset of ips - e.g. 74.6.71.x

By default, vbulletin builds the unique id using just the first three bits of the ip address - so 74.6.71.1 will be seen the same as 74.6.71.2, 74.6.71.3 etc. You can change this in the vBulletin Options > Server Settings and Optimization Options > Session IP Octet Length Check - change it from '255.255.255.0' to '255.255.255.255' and vb (and hence this mod) will see them all as unique.

I think I might add my own option for this in the next update, or maybe just build the guest id seperately from vb so that setting does not cause a problem.
Reply With Quote
  #305  
Old 01-07-2007, 10:22 PM
Rop Rop is offline
 
Join Date: Nov 2006
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Paul! Perfectly clear now!
I was going to change the Session IP Octet Length Check to use the full IP address, but the notes that go with it gave me pause. Seems that using the full IP for session IDs can cause trouble for users behind transparent proxies (and there are many of those). So, I'll leave things as they are now, and live with it. Of course, you have my vote to use your own guest ID solution for the mod. It would make a great add-on even better!

-Rob-
Reply With Quote
  #306  
Old 01-07-2007, 11:51 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Rop View Post
Seems that using the full IP for session IDs can cause trouble for users behind transparent proxies (and there are many of those).
It doesn't really affect transparent Proxies - it's mostly AOL users whose proxy IP can change mid session.
Reply With Quote
  #307  
Old 01-08-2007, 01:13 PM
funkmeister funkmeister is offline
 
Join Date: Oct 2004
Posts: 95
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How can I reposition the output? I want to place the content in a different position on my FORUMHOME, but I don't see any "call" to it within that template?

Is it elsewhere or can I turn off the display and use the contents of the 'Display_Guests' template and place within FORUMHOME in my desired location?

Thanks, awesome product as usual Paul M.
Reply With Quote
  #308  
Old 01-08-2007, 02:22 PM
funkmeister funkmeister is offline
 
Join Date: Oct 2004
Posts: 95
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

To answer my own question! Well, yes I can place the contents of 'Display Guests' into the position I would like it to appear, but with the display turned off, of course, it's content is empty!

So to my original question, is there way of postioning this wherever I would like on FORUMHOME, as I can't seem to find where the relevant code is, other than what I have mentioned.

If it's not possible right now, can you add the ability for folks like me who would like a little more layout possibilities.

Thanks again.
Reply With Quote
  #309  
Old 01-08-2007, 03:48 PM
ShawnV's Avatar
ShawnV ShawnV is offline
 
Join Date: Mar 2005
Posts: 270
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Paul M View Post
I think I might add my own option for this in the next update, or maybe just build the guest id seperately from vb so that setting does not cause a problem.

Awaiting this one, since I still seem to have a problem with it keeping the spiders info, a conflict I assume is with another mod I have installed, has anyone checked this with the Inferno RPG, or the IBpro Arcade as those are the only new mods that have been added to the site recently.

_V
Reply With Quote
  #310  
Old 01-09-2007, 12:25 AM
funkmeister funkmeister is offline
 
Join Date: Oct 2004
Posts: 95
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by funkmeister View Post
To answer my own question! Well, yes I can place the contents of 'Display Guests' into the position I would like it to appear, but with the display turned off, of course, it's content is empty!

So to my original question, is there way of postioning this wherever I would like on FORUMHOME, as I can't seem to find where the relevant code is, other than what I have mentioned.

If it's not possible right now, can you add the ability for folks like me who would like a little more layout possibilities.

Thanks again.
Answering my own question again But for the benefit of others, in case it's needed...

You need to edit the .xml and replace the CDATA value in the "text_trg" section of the "<options>" section towards the end of the file. The default value is "<![CDATA[<!-- end logged-in users -->]]>" - simply change the string to the appropriate end string that is defined in your FORUMHOME template, where you would like things positioned.

Sure would be nice to have this as an admincp option though

Thanks.
Reply With Quote
  #311  
Old 01-09-2007, 12:33 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by funkmeister View Post
Sure would be nice to have this as an admincp option though
It's already an ACP option.

vBulletin Options > Auto-Template Settings

Reply With Quote
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 04:54 AM.


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.10127 seconds
  • Memory Usage 2,332KB
  • Queries Executed 25 (?)
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
  • (6)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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_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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete