This extension was inspired by the concept provided by Megatekno and his Welcome Panel Script. Unfortunately that script was killing servers, so I took his concept and did a Redux of it using vBresident code as the inspiration for the plug side of the house.
What you need to do
Upload images: 2
(I have provided the blinking PM notification image, you provide the no avatar image, must be named noavatar.gif and both are placed in the ./images/misc/ directory. If you want to not display an avatar without breaking the navbar with a big red "X" then follow the instructions below)
Queries to run: 3
(to add indexes to the user, post, and thread tables to speed up page loads and cut overhead, this is optional, but is reccomended)
File Edits: 0
Template Edits: 2
Plugin XML Import: 1
All done!
Features
Avatar Display
Fully Breadcrumb compatible
Blinking PM notification on new PM (Concept inspiration and HTML code provided by vBulletin.org)
Collapsible Navbar to hide all that stuff
Guest message is now in the Navbar, instead of on top of your forums
Display of new threads since last visit, new posts since last visit, new users registered today, and total registered users visited today.
I think that's it. My users like it, and I hope yours do too.
Page Load and Queries are as follows on a heavy traveled forum:
Quote:
Originally Posted by The Noble Pagan Forums w/o NavBar
Page generated in 0.11882 seconds with 9 queries
Quote:
Originally Posted by The Noble Pagan Forums w/ NavBar
Page generated in 0.12219 seconds with 14 queries
If you want to check this and provide me with your results, I would appreciate it!
Why not just have a cron job that updates a row in the datastore whenever its called with the amount of posts made in a time frame?
I want to keep this as simple as humanly possible, adding crons and whatnot are too intensive in my eyes, I will figure this one out, no worries
Quote:
Originally Posted by The Geek
Doing an aggregate on the posts table (and users table) every page load will bring most large boards to their knees.
no, actually the implementation of this idea that was originally posted in the code mods section did that...killed MANY servers...
Quote:
Originally Posted by The Geek
I fact, if those queries were changed to 'today' instead of last visit... you could run a cron job nightly... save the results in the datastore... and eliminate most of your queries which in turn should bring your page generation down to a much more acceptable amount.
now, what use would the end user of the forum have in today's last posts? most everyone I've dealt with over the years only wants posts and threads since last visit. As far as the page generation time, .07 seconds of additional overhead is not a respectable number? In whose eyes?
Seriously though, I am working on getting this to talk with the datamanager as a cached thing, I don't want to add tables, or modify the db in anyway shape or form, but I will figure this out to kill off what little overhead there is right now. I have severa scenarios running on my test bed that have brought the page gen overhead down but I need to make sure that they are reliable methods first, my biggest concern at this point is the avatar...
I have installed your version of the welcome panel but have a couple of problems, the welcome panel is not showing up at all on the style by Kall below, I was wondering how to fix this.
I want to keep this as simple as humanly possible, adding crons and whatnot are too intensive in my eyes, I will figure this one out, no worries
Crons are the best and near only way to keep things non intensive, a cron to update the ammount of users online would be best.
You need to add indexs to the datelines in the thread and post tables, which should reduce the query times even more, for the two table scans to get the ammount of new posts.
simplicity is not the best way when it comes to some things.
The data that you want to get can be very strenious on the server, esp done on everypage load for every user, including guests it seems, very bad idea, guests DO NOT need to see this data, and most of it would be flawed to them as well.
As far as Avatars go, try this in the config.php file
Just realised that I didn't put the file edit in the navbar template , so that is fixed now! But still having a problem with sizing the welcome bar, it does adjust to a degree but the avatar is taking up to much room in my opinion, perhaps if it was 25% - 50% smaller the sizing issue would not be a problem?
Originally Posted by taffy056 I want to keep this as simple as humanly possible, adding crons and whatnot are too intensive in my eyes, I will figure this one out, no worries
Just realised that I didn't put the file edit in the navbar template , so that is fixed now! But still having a problem with sizing the welcome bar, it does adjust to a degree but the avatar is taking up to much room in my opinion, perhaps if it was 25% - 50% smaller the sizing issue would not be a problem?
taffy
I've got it set to a height of 100 px, but I did not set the width to any particular size to keep the look of the image, however I can add that in as well...
Crons are the best and near only way to keep things non intensive, a cron to update the ammount of users online would be best.
Would there be a way for a cron to store the information in the datastore table without it breaking anything?
Quote:
Originally Posted by Zachery
You need to add indexs to the datelines in the thread and post tables, which should reduce the query times even more, for the two table scans to get the ammount of new posts.
That is not a difficult adjustment, will get that into the deal.
Quote:
Originally Posted by Zachery
Simplicity is not the best way when it comes to some things.
True enough
Quote:
Originally Posted by Zachery
The data that you want to get can be very strenious on the server, esp done on everypage load for every user, including guests it seems, very bad idea, guests DO NOT need to see this data, and most of it would be flawed to them as well.
Truth be told, I never even thought of guests loading that...excellent idea though, that will be in next update as well.
Quote:
Originally Posted by Zachery
As far as Avatars go, try this in the config.php file
Would there be a way for a cron to store the information in the datastore table without it breaking anything?That is not a difficult adjustment, will get that into the deal.True enoughTruth be told, I never even thought of guests loading that...excellent idea though, that will be in next update as well.Is the define statement within the config file already, or will it need to be added (At work, no access to the server at the moment)?
and lastly, Thank you for your help, I do appreciate constructive assistance!
)O( Cloudrunner )O(
I think it might be able to be added to a hook, no, its not in the config, its one of those fun hidden features that I poked out of the devs ages ago
But in realitity that is a very small modification, and seeing as the config is a safe file to edit.. you might get away wiuth this as a plugin.
I've got it set to a height of 100 px, but I did not set the width to any particular size to keep the look of the image, however I can add that in as well...