personal website

SNTT: Fault Reports, Fault Analysis, and Automatic Diagnostic Collection

July 20th, 2007 . by maria

I just finished testing this tool on our development server & a test client, and I am impressed. I won’t go into all the details of how to set it up – the help documentation can cover that. But I will say it is very cool that when a client crashes (any client crash – not just a custom script to error log thing), we can gather information on the crash.

Using the help documentation, I set up the fault reports database and enabled fault reports & analysis on the test server . I set dagnositc collection to be mandatory, and to prompt for information from user on restart. I configured fault reports in the diagnostics for the */org policy. Got a script from David which is known to crash the client, and copied it to where I could use it with my test client. I ran the script, and got the red box error, crashing the client. It worked! when I restarted the Notes client, I was prompted to enter what I’d been doing at the time of the crash. (There’s no cancel button and the red X doesn’t work, so the worst I could do was not enter anything and hit OK.) I (as the admin now) went to the server and was able to see that my test client had crashed with the following information:

User Comments: intentional crash test
Error message: PANIC: LookupHandle: handle not allocated
Process: nlnotes
Callstack: (removed for brevity)
Open Databases:
C:\Documents and Settings\testuser\Local Settings\Application Data\Lotus\Notes\Data\log.nsf
C:\Documents and Settings\testuser\Local Settings\Application Data\Lotus\Notes\Data\desktop6.ndk
C:\Documents and Settings\testuser\Local Settings\Application Data\Lotus\Notes\Data\bookmark.nsf
C:\Documents and Settings\testuser\Local Settings\Application Data\Lotus\Notes\Data\Cache.NDK
C:\Documents and Settings\testuser\Local Settings\Application Data\Lotus\Notes\Data\names.nsf

I added an annotated screenshot collage of some of these features below. Which I’ll have to add when I get home because my employer has blocked access to signin to yahoo accounts, so I can’t post it in flickr. GRRR.

I definitely recommend this feature!

invited readers only

July 18th, 2007 . by maria

I was very disappointed to learn that a blog I had been reading is now displaying “This blog is open to invited readers only”. I figured this out after clicking through the RSS, which hadn’t been working for about a week. Nice of her to explain this prior to switching off, leaving anyone who was expressly invited in the dark. I’m not a personal friend – I found her blog through a link from another blog – so, I’m not personally hurt by the exclusion. But I did enjoy reading what she wrote, and was sorry to see her go…

Is this the thing I’m supposed to be doing?

July 10th, 2007 . by maria

Another blog I read regularly writes:

I’m surely not the only person that gets up goes to a good, worthwhile job wondering – “Is this the thing I’m supposed to be doing? Is this the art I was meant to create? Is this as close as I can come to really meeting real needs of the family with whom I share this planet?”

You are not the only one. When I follow the history of how I got where I am right now, it is obvious that God’s hand was in everything. Yet, I cannot see how God is using me right now. But, when I try to make a move in any diretion, I am blocked. I know God wants me where I am right now, because he won’t let me go anywhere else. I just have to trust that He can use me here (He can do anything). God’s work is not always as obvious as a formal ministry project. Sometimes, it’s just dropping seeds in the ground around you.

SNTT: Find Templates/Find databases using a template

July 5th, 2007 . by maria

Our shop has always been pretty small. (OK, so there was only one Notes dev before I came along.) So, we were taking a huge step forward a few years ago when we set up a dev server. The problem is, we didn’t take the time to make sure that every database had a template on the new dev server. We just sortof added them as needed. Then, a little while later, we came up with naming conventions for the templates. But, anything created before the naming conventions still has the old name. As a result, it can be pretty difficult to determine if the database you need to work on already has a template on the dev server or not. And if you’re wrong, then when you go to refresh the design, you’ll get an error saying two templates of the same name were found. To make all this easier for myself, I wrote a “button tool” that will find a template for me. This code can be put behind a button in a rich text field named Body on any document, or in an email. (Or you can modify it for your uses.)

Sub Click(Source As Button)
Dim db As notesdatabase
Dim templatenames (1000) As String
Dim counter As Integer
Dim myserver As String
Dim mytemname As String
Dim uidoc As NotesUIDocument
Dim NewList As String
Set ws = New NotesUIWorkspace
Set uidoc=ws.CurrentDocument
myserver = Inputbox$(”What server?”)
Dim dbdir As New notesdbdirectory(myserver)
mytemname = Inputbox$(”What template name?”)
Set db = dbdir.getfirstdatabase(TEMPLATE)
counter = 0
NewList = “New”
While Not(db Is Nothing)
counter = counter + 1
If db.TemplateName=mytemname Then
templatenames(counter) = db.TemplateName & ” – ” & db.FilePath
NewList = “;” & templatenames(counter)
End If
Set db = dbdir.getnextdatabase
Call uidoc.refresh
End Sub