Q

Determine logged on users using LotusScript

Hi Jens! I'm developing a Web browser-based application based. I want to know how to get the names of the users who are logged onto the application. I can see them in the Domino administrator by command "tell HTTP show users." But can I get this information by LotusScript? Thanks a lot!

You need to look at the CGI-variable Remote_User. Have a look in the Lotus Design help for "Table of CGI variable names."

If this is in a WebQueryOpen agent, userName will hold the authenticated name:

Dim session As New NotesSession
Dim doc As NotesDocument
Dim userName As String
Set doc = session.DocumentContext
userName = doc.Remote_User(0)
If you don't absolutely have to use LotusScript, there is a @Function that retrieves the name from the CGI-variable: @GetHttpHeader("Remote_User")

MEMBER FEEDBACK TO THIS ASK THE EXPERT Q&A:

I think you have totally missed the question with your answer. The CGI-variable Remote_User is showing only one user -- the single active user in the Web browser, and not all users that have been authenticated on the server (as the person asking the question was aiming at).

So, back to the original question: Is there a way to use LotusScript to write and read the results of admin console commands (not only 'Tell HTTP show users' but other commands as well)?

— Kenneth A.

******************************************

You are absolutely right -- I misunderstood the question. So here's another try.

I haven't heard of a way of tapping what is on the server console, but I have a different idea. First, here's a comment on the tell HTTP show users command:

If it was possible to tap what you get when you do a tell HTTP show users, you might have a problem because this information is per hostname. If your application is the only one running from a certain hostname, this would of course not be a problem.

Now, on to my idea. It requires you to be running the Domino server on Win32. In the Sandbox on what's it's name (I still can't find out what that place that was formerly known as notes.net is called), there is an excellent class available for accessing user activity. It's called NotesUserActivity class (http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/c12a2fd2142758b68525688d00708397?OpenDocument).

User activity is what you see if you (from the Notes client) get the database property box, second tab, then click "user detail." It tells you that user x read y documents at a certain time, and it holds a log of at least a month back (this is probably controlled by a notes.ini setting). This user activity log also holds activity for Web users.

My suggestion would be to create an agent that taps this information when needed. I don't know what you want to use the information for, so I can't be more specific as to how exactly you should go about using this class, but I'm sure that you should be able to work something out. It is my impression that the log only holds information about documents being read, so displaying a view will not be in the log. Also, the log is not updated the moment that someone reads a document -- there is a small lag (up to about one minute from my observations).

Jens Bruntt

Do you have comments on this Ask the Expert question and response? Let us know.

This was last published in August 2004

Dig Deeper on LotusScript

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.

-ADS BY GOOGLE

SearchWindowsServer

Search400

  • iSeries tutorials

    Search400.com's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...

SearchDataCenter

SearchContentManagement

Close