Forum OpenACS Q&A: Community Usage Report By User?

Collapse
Posted by Nathan Bogo on
Is there a routine that displays who is currently logged into the
Community or a report that shows Usage History by User? If not...
perhaps you might suggest a place to start, and I can build a routine.

I did some poking here and in the Chat module, but failed to find the
answer. As always, your advice is most appreciated. -nate

Collapse
Posted by S. Y. on

No different than Classic ACS:

Unless you're looking for something totally different, maybe it's time to reread the documentation. There's probably a www/directory directory that you might want to peruse as well.

Collapse
Posted by Nathan Bogo on
Thank you, Sean. I am using the /shared code to great advantage. In favor of brevity I failed to define my objective clearly. Sorry.

My client wants to know, in addition to who is currently online (/shared/whos-online.tcl), the history of who has logged in, when, how long they stayed (and in time what they did, but that can wait). A summary report of all users (top level) drilled down to detailed reports on each user.

Has this been done by other developers? I do not remember this from my readings or bootcamp. As I write this, I remember something about monitoring usage... I will check it out. Perhaps some other solution is available? Thank you again. -nate

Collapse
Posted by S. Y. on

I currently own a corporate brochureware web site (no cookies, not database backed); I find it more useful to track aggregate statistics rather than individual usage. Naturally, if ten people log in from Oracle's firewall, they might not be clearly defined. In any case, if someone downloads a long white paper, then doesn't click for 90 minutes, there's no way I can tell whether or not they read the document.

You might be able to configure/reconfigure the clickthrough module to record every single action. You won't be able to accurately track usage with people who don't clickthrough or those who use multiple browser windows while they surf. The problem with this is that in order to get a statistically significant sample size, you need to track all hits.

Remember that non-authenticated users might outnumber the authenticated ones by ten to one on a publicly-accessible web site.

You need to explain what sort of users your client's web site attracts, their connection speed, whether or not a large percentage are behind corporate firewalls, whether or not your average web surfer is a college kid looking for a job, a venture capitalist, your client's competitor, etc. Without such knowledge, it is very difficult to recommend any sort of usage tracking strategy.

If you are amassing a large number of visitors, the point might be moot. You should care more about aggregate statistics rather than individual usage. There's really no way to tell by an IP address if your visitor is a Morgan Stanley investment banker, or some freshman at SUNY.

Collapse
Posted by S. Y. on

Oh, I think I forgot to answer the basic question. The more powerful log analysis software packages should be able to give more granularity. Although it won't address simple questions without a knowledgable person doing the software configuration.

What constitutes a visit? Here's an example of how difficult it to determine. I sit behind multiple T3s; I download a PDF file. Oops, time to go to a staff meeting. Come back 30 minutes later and continue surfing - I'll read the PDF on the train.

How do you process daily or hourly statistics? If I surf to your site at 11:55 P.M. PST and don't download another page until 12:02 A.M. the next day, is that one hits or two?

These basic sort of statistical decisions may radically alter the end results. Edward Tufte's book Visual Explanations describes some of the pitfalls in a much more elegant manner than I've described above.

Again, the onus is on you to provide the statistical reports that your client desires. With zero knowledge of the data that you are to report on, it is a very tall order for others to propose a workable, satisfying solution that your client would be happy to pay for.

Collapse
Posted by Roberto Mello on
http://www.yoursite.com/admin/users/sessions-registered-summary.tcl will shouw you wha has been to your site in the past x days.

Now to how long they stayed, which pages did they view, and more detailed information, you'll probably need Clickstream (see the ArsDigita Systems Journal article at www.arsdigita.com/asj).

Collapse
Posted by Nathan Bogo on
Thanks for the feedback. Every day I learn that I know even less about the architecture of OpenACS than I thought. I did not think this would be as hard to solve as I now fear it will be.

The site in question is an intranet used for training and information distribution to 250+ people in 10+ cities. Every user must log in. The site's foundation is OpenACS. The client's idea is rather Orwellian(sp?) in nature, as they want to know who has read what, done what, etc. (I know these systems often create a false picture, but it is not my money.)

One thought I had was to add code to every module/content section that tracks users entry/exit by some "user:module:topic:date:time" id stamp. Another is to Quiz people, but that idea did not fly. I was hoping, that built somewhere in the infra-struture of the USER/GROUP core of ACS, was the code that "monitors/records" the activities of the users.

Marketing would love to know what their registered users were doing. Phil, in his book, talks to the ability to know what community members have done, so as to suggest the correct path of action for online support. Customer Service would love to know what a registered customer has done to resolve a given problem, before they take the call... lots of applications for user tracking. I (incorrectly?) thought the ACS solution would be a significant improvement over the traditional web-traffic-analysis programs. (Which are already in use.)

I see two possible solutions: 1) create a tracker that "dogs" the user's every action and records the history combined with a tool that provides an analysis and report (not unlike current web access tracker systems). This would not be tied to a particular module or content section, rather it would be a part of the ACS Core. OR 2) modify each  module/content section to log activity for every legit access.

Actual time spent would be little more than a value to show "trends" of behavior, as we know the specific "she spent 13.5 minutes doing X" is not realistic for the Internet. But trends are good, as is a log tracking "hits" to key pages by User. The way Phil G. talks about the importance of user tracking and why the conline community is the only real answer, I figured the programming was all but done.

As always, I appreciate your thoughts. -nate

Collapse
Posted by Cynthia Kiser on
Not a really solved problem but how close does the /admin/users/one.tcl page get you. It does no time tracking but does give you all the content that a user contributed and a list of the static pages they viewed. And the new_stuff system provides a fairly general mechanism for new modules to register their content to this page so it is extensible
Collapse
Posted by Caroline Meeks on
Did you ever complete this task?  I am doing a similar site (150 corporate users) and my client wants exactly the same type of tracking. I'd love to know which approach you used to solve this problem.

Thanks