I really like Drupal but one thing that annoys me a bit is that the core Who's Online system only tells you the number of anonymous users and not who they are.

I am putting out feelers for someone who may be able to either write some code or write a module that would extend this function to list the anonymous users currently online, also, if the user agent is common, convert the name to a regular name.

Here is one hypothetical scenario:

Permission to view anonymous users in Who's Online has to be set in permissions

If user has permission, either instead of saying who is online:

2 Users and 12 anonymous users, one way would be to make the xx anonymous users a link that when clicked on would display the user agents of all anonymous users browsing the site, and again, if known, the short name for the user agent: it may look like this:

Firefox 2. Firefox 3, IE7, Yahoo, MSN Live, Google, Safari, Unknown

Also, another option would be to simply add the anonymous users to the list of currently logged in users (maybe have the names in parentheses to show that they are not registered. In this case it may look like this:

Jdoe
Skippy
(Yahoo)
(Google)
David

This would be a valuable module that would let us know who is using our site.

Also, please note that I am on a fixed income and would need someone to work with me by allowing monthly payments instead of full payment out right.

Also, although not requested per se, if someone was to write this module and decide to develop it further by adding features down the road (adding customized module settings in Admin area for example), I would consider ongoing support. Right now, I am only interested in the basic function above.

Please contact me with best guesstimates.

Thank you kindly,

Jeffrey

Comments

nevets’s picture

For anonymous users how do you propose get a name, that is in the list

Jdoe
Skippy
(Yahoo)
(Google)
David

where does Yahoo and Google come from?

imatechie’s picture

Well we do know that Drupal already knows how many anonymous users are online, otherwise it couldn't tells us that xx registered and xx anonymous users are online.

We also know that the ip addresses of the anonymous and registered users is stored in the database somewhere.

So if Drupal knows how many unregistered users are online it should also know their ip address and can pull the information from the user agent strings. For example, if the user agent for one user is SLURP, we would know that is a common name for Yahoo's search bot. Yahoo would be a short name, Google would simply be a short name for GoogleBot. Other names that could pop up would be Firefox 2 Firefox 3, Unknown.

The code shouldn't be too difficult to write.

See how many unregistered online and set variable
Start loop
Get IP of unregistered user
If still_connected
Get user agent string
Convert to Shortname
Print Shortname
Else chek online unregistered users and reset variable if changed
Increment counter
Repeat

Ok, it's not perfect and has workflow errors I know, I just did this off the top of my head to maybe give someone an idea.

I do know that I have read somewhere on here that this functionality might end up in D7.

It's just so annoying that right now I have 85 anonymous users and no user activity on my web site and I would like to know who (or what) those users eating my bandwidth are. This would also help to weed out the spambots accessing the site and harvesters.

strands’s picture

As nevets says - anonymous is anonymous. I think you'd be better off checking your site traffic statistics for this ...