Status
Not open for further replies.

MainFrame

Customer
Hi guys,

I want to change some part of the code of the shoutbox so that users are in the active list when they are not idle, not just when they shout.

Could you help me a little on my way where to look in the shoutbox code / where the function is that handles the activity?

Regards,
MainFrame
 
Yeah this will be good.

As many people on my site don't seem to be chatting like they used to, and I get comments like this shoutbox is dead because no one shows in the active list unless they shout.

An option to have them show would be great.
 
At the moment I cannot think of a way to do this. There's no way to detect when someone is on a page with the Shoutbox, and detect when they leave this page, as far as I can tell.
 
Yeah this will be good.

As many people on my site don't seem to be chatting like they used to, and I get comments like this shoutbox is dead because no one shows in the active list unless they shout.

An option to have them show would be great.

I had the same issues, people didn't talk on the shoutbox because there was nobody active. To fix this I increased the idle timeout to 10 minutes so when someone talks in the shoutbox his name is in the active list for 10 minutes.
This helped the shoutbox activity a lot but showing users active as soon as they are not idle would be much better..

Regards,
MainFrame
 
I think perhaps giving the option to replace the default "currently online" bar with a "Online today" bar may alleviate some of this.

We'll certainly look into ways to show users looking at the box and not just shouting, but as stated, we're not sure if this is even possible =P

Cosmic
 
I think perhaps giving the option to replace the default "currently online" bar with a "Online today" bar may alleviate some of this.

We'll certainly look into ways to show users looking at the box and not just shouting, but as stated, we're not sure if this is even possible =P

Cosmic

I don't think displaying the users that have been online today would increase activity.

At the moment it looks like the shoutbox is using the dbtech_vbshout_shout table to get the active using the dateline cell.
You could add another tabel "dbtech_vbshout_online" to keep track of the online users or you store the userid's from active users inand array in the datastore.
Then query the dbtech_vbshout_online table or update datastore everytime a user performs an action inf the shoutbox like refresh and shout.
Another advantage is that when there are notices like UserX has reached 100 posts they won't become active which seems a bit strange at the moment.

Regards,
MainFrame
 
I don't think displaying the users that have been online today would increase activity.

At the moment it looks like the shoutbox is using the dbtech_vbshout_shout table to get the active using the dateline cell.
You could add another tabel "dbtech_vbshout_online" to keep track of the online users or you store the userid's from active users inand array in the datastore.
Then query the dbtech_vbshout_online table or update datastore everytime a user performs an action inf the shoutbox like refresh and shout.
Another advantage is that when there are notices like UserX has reached 100 posts they won't become active which seems a bit strange at the moment.

Regards,
MainFrame

First problem i see there is fetching a query with every action =P That'll absolutely cripple servers.

When we say we don't know if it's doable, we mean without skyrocketing server loads, not that we can't think of any physical way to do it ^.^
 
The only solution i can think of is a "Online/Offline" Button added to the shoutbox. If a user wants to be shown as online he can click the button and he will be added to the list till he logs off or clicks the button again to go offline. I dont know if this helps in any way to the above issue :)
 
At the moment I cannot think of a way to do this. There's no way to detect when someone is on a page with the Shoutbox, and detect when they leave this page, as far as I can tell.

Just listen to mouse movement in javascript (the YUI can handle it) and have a timed event - no mouse movement for X seconds on the page means they're idle on it (on another tab, AFK, etc...). Once mouse movement occurs you can unidle the user :)
 
Just listen to mouse movement in javascript (the YUI can handle it) and have a timed event - no mouse movement for X seconds on the page means they're idle on it (on another tab, AFK, etc...). Once mouse movement occurs you can unidle the user :)

Indeed, just like the browser version of GTalk. :)
 
First problem i see there is fetching a query with every action =P That'll absolutely cripple servers.

When we say we don't know if it's doable, we mean without skyrocketing server loads, not that we can't think of any physical way to do it ^.^

Why not create use some sort of ping? with a timeout set to 1 minute or something so it won't overload the server.
When a user becomes active by clicking the unidle link or posting a message Javascript timer starts sending ping to the server using ajax every 60 seconds.
 
You can also just use the "Who's Online" data. Personally, I don't care if they are on a page with the shoutbox or not, odds are, if they aren't, they will be soon enough.
 
Just listen to mouse movement in javascript (the YUI can handle it) and have a timed event - no mouse movement for X seconds on the page means they're idle on it (on another tab, AFK, etc...). Once mouse movement occurs you can unidle the user :)

There's not really a problem in the detection, it;s fine as it is now. users become idle after a configurable time of inactivity.
The problem is in the php code that uses the shouts table to find what users are online so only users that have posted a shout are considered online.

Regards,
MainFrame
 
I'd like it as soon as they are on a page with the shoutbox then they are considered online in the shoutbox. It has to be doable. I'm sure you guys can come up with something ;)
 
I'd like it as soon as they are on a page with the shoutbox then they are considered online in the shoutbox. It has to be doable. I'm sure you guys can come up with something ;)

That would make no sense, if everyone is considered online in the shoutbox it would generate huge list in my case.. on busy hours I have 4000 users online..
Users have to un-idle themselves before comming active.
 
If you have your shoutbox set up so users have to un-idle them selves first then great, your set up should only show users as active who un-idle themselves. However for boards who have the shoutbox as active upon loading of that page, then those boards should be showing those users as active from the word go.
 
when users are activly refreshing they should be considered online so if your shoutbox is set so that users are not automaticly idle your right.. but this should only be used on the smaller board I think
 
Status
Not open for further replies.

Similar threads

Legacy vBShout

vBulletin 3.8.x vBulletin 4.x.x
Seller
DragonByte Technologies
Release date
Last update
Total downloads
3,179
Customer rating
5.00 star(s) 1 ratings
Back
Top