To all my fellow Domino, Lotus people who are from God's Country, I would like to say


Happy Canada Day

Image:Happy Canada Day

Comments (1)
Perry Hiltz July 1 2008 09:26:31 AM

A co-worker and I are in the middle of a large discussion regarding clustering.  I have read in the Domino Administration client help file from the "Clustering Requirements" document that:

"All servers in a cluster must use TCP/IP and be on the same IBM® Lotus® Notes® named network"

My opinion is that yes, the cluster members should be in the same Notes Named Network.  I have a co-worker saying that this is not a requirment and that I can have cluster members in different Notes Named Networks.  

Have you ever seen this configuration and do you support it?

Comments (1)
Perry Hiltz June 26 2008 12:53:18 PM

A few days ago I mentioned a problem with unique organizational units and renaming to new heirarchial certifiers.  After opening a PMR with Lotus, we were informed that a hot fix did exist for Windows based and will be providing us one for the Solaris servers we have.

Aa as work around, we will implement a new Windows server as our Administrative server for the Directory and AdminP, install the same version of Domino we have (6.5.6 Fix Pack 2) then apply the hot fix.

I will further qualify that Fix Pack 3 does not resolve the issue and I have not yet tested Fix Pack 3 and the Hot fix either.  That will follow up.

Thanks.

Comments (0)
Perry Hiltz June 26 2008 09:49:36 AM

Working during this large migration we discovered that a bug exists on 6.5.6 and Fix Pack 2 has a problem with Unique Organizational Unit Names.  In a previous post (link.) I mentioned how to move away from Unique organizational units.  Well it seems that Lotus has resolved this problem but unexpectedly.  

I'm on an engagement where every user has a unique ou.  This is a requirement for this particular customer and I won't go into details.  Well, when utilizing a C++ API call as a part of the rename process, we have determined that the end users name changes but the AdminP rename process would drop the Unique OU value.  Well if we find any strange things with the rename we try to do the same thing manually.  Well this was not successful either.  When we manually rename a user we saw an error in the Admin4.nsf after attempting to complete the move request.  This error is "The new name in the supplied Name Change Request does not match the subject name in the supplied certificate".  

Well this is something that we found in Domino 6.5.6 Fix Pack 2.  We attempted to upgrade to 6.5.6 Fix Pack 3 and it did not matter.  The problem still existed.  Next, we went to 7.0.3.  In this case, we discovered the problem still existed.  We engaged support from IBM and discovered that this is a bug.  The following is a quote from IBM

"This technote and your test prove that there is a Domino issue going on with these servers. It is not related to the OS. According to the documentation the problem is fixed in Domino 702. We also know that it was a regression in 703 that is scheduled to be fixed in Domino 7.0.4.( SPR# WMUH77GJ8E). For now, I would suggest upgrading to Domino 7.0.2."

We have tested this on 7.0.2 and it is working fine.

Comments (0)
Perry Hiltz June 20 2008 03:09:11 PM

Sometimes on engagements, I get asked to build things that are, well unnecssary.  Seeing how consulting is about billing hours, sometimes, I'm happy to oblige.  I recently was asked to provide a bit of code that would look to a public address book and update entries contained in a personal address book.  While this can be done, usually the full name field of a person record contains all of the varients that a user has had during their exsistance in Notes.  This agent will use the local address book's current location document to open the directory on the User's home mail server and analyze each of the personal address book entries against the $Users view in the Domino directory.  The database will create copy of the personal address book as "copynames.nsf" before making changes.

It will also document each value skipped or updated accordingly (please see the UpdatePersonalAddressBook.txt file for reference).  At the end of the process it will display a dialog box showing the number of entries processed, how many were successful, how many failed, and how many were skipped.


Thanks.


Sub Initialize
       Dim s As New NotesSession
       Dim nn As NotesName
       Dim pab As NotesDatabase, nab As NotesDatabase, bkupnab As NotesDatabase
       Dim locdc As NotesDocumentCollection
       Dim doc As NotesDocument, curlocdoc As NotesDocument, nabdoc As NotesDocument
       Dim i As Integer, successcount As Integer, failurecount As Integer, skippedcount As Integer
       Dim pview As NotesView, nview As NotesView, locview As NotesView, Nabview As NotesView
       Dim Comma As Long
       Dim currentlocation As String, currentserver As String
       Dim outfileNum As Integer, outfilePath As String
       
       On Error Resume Next
       i = 0
       successcount = 0
       skippedcount = 0
       failurecount = 0
       Set pab = s.GetDatabase("","names.nsf")
       If pab Is Nothing Or pab.IsOpen = False Then
               Msgbox "Cannot open database on local client workstation." & Chr(10) & "Exiting process."
               failurecount failurecount + 1
               Goto Done
       End If
       Set bkupnab = pab.CreateCopy("","copynames.nsf")
       Set pview = pab.GetView("people")
       If pview Is Nothing Then
               Msgbox "Cannot open Contacts view in database on local client workstation." & Chr(10) & "Exiting process."
               failurecount failurecount + 1                
               Goto Done
       End If
       currentlocation = s.GetEnvironmentString("Location",True)
       Comma = Instr(currentlocation,",")        
       If Comma  > 0 Then
               currentlocation = Strleft(currentlocation,",")
       End If
       Set locview = pab.GetView("Locations")
       If locview Is Nothing Then
               Msgbox "Cannot open Locations view in database on local client workstation." & Chr(10) & "Exiting process."
               failurecount failurecount + 1                
               Goto Done
       End If
       Set locdc = locview.GetAllDocumentsByKey(currentlocation,True)
       If locdc.Count > 0 Then
               Set curlocdoc locdc.GetFirstDocument
               currentserver curlocdoc.MailServer(0)
       Else
               Msgbox "Cannot open Curent Location Document in database on local client workstation." & Chr(10) & "Exiting process."
               failurecount failurecount + 1                
               Goto Done
       End If
       Set nab = s.GetDatabase( currentserver, "names.nsf")
       If nab Is Nothing Or nab.IsOpen = False Then
               Msgbox "Cannot open database on Server <" & currentserver & ">." & Chr(10) & "Exiting process."
               failurecount failurecount + 1                
               Goto Done
       End If
       Set Nabview = nab.GetView("($Users)")
       If Nabview Is Nothing Then
               Msgbox "Cannot open ($Users)  view in database on Server <" & currentserver & ">." & Chr(10) & "Exiting process."
               failurecount failurecount + 1                
               Goto Done
       End If
       outfileNum% = Freefile()
       outfilePath = "c:\UpdatePersonalAddressbook.txt"
       Open outfilePath$ For Append As outfileNum%
       Set doc = pview.GetFirstDocument
       Print "Getting Users from Personal Address Book"
       Print #outfileNum%,"Getting Users from Personal Address Book"
       While Not doc Is Nothing
               i = i + 1
               Set nabdoc = Nothing
               Set nn = s.CreateName(doc.Fullname(0))
               If nn.IsHierarchical = True Then
                       Set nabdoc = nabview.GetDocumentByKey(nn.Common)
                       If Not Nabdoc Is Nothing Then
                               Call nabdoc.CopyAllItems(doc, True)
                       End If
               End If
               Set nabdoc = nabview.GetDocumentByKey(doc.MailAddress(0))
               If Not nabdoc Is Nothing Then
                       Call nabdoc.CopyAllItems(doc, True)
               End If
               Set nabdoc = nabview.GetDocumentByKey(doc.FullName(0))
               If Not nabdoc Is Nothing Then
                       Call nabdoc.CopyAllItems(doc, True)
               Else
                       Print "Skipping User " & doc.Firstname(0) & " " & doc.LastName(0)
                       Print #outfileNum%,"Skipping User " & doc.Firstname(0) & " " & doc.LastName(0)
                       skippedcount = skippedcount + 1
                       Goto GetNext
               End If
               If doc.MailDomain (0) <> "" Then
                       doc.maildomain = ""
               End If
               Print "Updating User " & doc.Firstname(0) & " " & doc.LastName(0)
               Print #outfileNum%,"Updating User " & doc.Firstname(0) & " " & doc.LastName(0)
               doc.Save True,False
               successcount successcount + 1
GetNext:
               Set doc = pview.GetNextDocument(doc)
       Wend
       Close outfileNum%
Done:        
       Msgbox "Operation Completed.  Processed a total of " & i & " users." & Chr(10) & Chr(10) & _
       "Success: " & successCount & "  Failure: " & failureCount & "  Skipped: " & skippedCount
       
End Sub

Comments (0)
Perry Hiltz June 12 2008 10:55:08 AM

Last week, we recently picked up the Wii Fit and Balance Board game at Toy R Us.  We had pre-reserved it back in March and I have to say that it is a blast.  We have all become quite the Wii Junkies at home.  From all of the game systems we've had this one brings the family together the most.  My wife never picked up a controller for either the PS/2 we have nor the Nintendo Game cube.  She is fighting the kids for the Wii now.  Even my five year old daughter is waiting for it.

We've bought a bunch of games, some of which the kids don't play anymore but so far, it is in use each day.

Comments (2)
Perry Hiltz May 27 2008 12:16:38 PM

Send an email to Sales@Binarytree with a subject of "Admin2008 Promotion" in the subject line.  In the body of the email, plesae provide the full hierarchical name of the server you want to run CMT Inspector Express on.  (CN=ServerName/OU=OU/O=Organization)

Someone will contact you with a Licence key for that server as well as instructions on how to download the software

Comments (1)
Perry Hiltz May 1 2008 05:05:15 PM

Visit our booth at the Domino Developer/Admin 2008 show to find out how to download a free version of our CMT Inspector Express application.  We are at booth 200.

Comments (0)
Perry Hiltz April 30 2008 04:29:03 PM

Hello from 2008 Admin Show in Boston.

Getting here has been a challenge between a canceled flight and having issues sleeping last night but we are here on the Showcase floor and getting meet up with existing, past, and possibly future customers.  I've also met business partners from around the world here and so far it's not even been four hours.  

Our VP of Research and Development, Mr. Bob Balaban is here, along with Wajid Ahmed, our Senior Account Executive.  We have t-shirts, luggage tags and lighted mouse pad with a 4 port USB hub in it.  

Plus stop by our booth for a free download of CMT Inspector Express.  


Image:Hello from the 2008 Admin Show Boston


We are at booth 200 right by the front of the entrance.

Comments (0)
Perry Hiltz April 30 2008 04:22:48 PM

In Notes 6.0 and  6.5.0, a bug was introduced that caused the mail file to open very slowly when users were moved to new hierarchical certifiers.  Well the typical fix for this have been to simply to sign the database with either the user's id if they have Manager access, or to use the Server's ID and sign it with the that.

Well in 7.0.2, this bug was reintroduced.  I have two clients who have had this problem appear again.  Well the tell told fix of signing didn't fix it.  One of the clients called Lotus who told them to upgrade the client.  Well this week, I'm in Malaysia, and found that this customer too had the same issue.  They took a different approach when they encountered this with problem.  The simply upgraded the folder design.  So I started digging into how to do this and found the answer in the Admin client.  

In this migration, we are renaming users, the servers that they are on, and then moving the server to the new domain.  So what I came up with was the use of the -u switch one the load convert command.  As I finish the rename the process, I issue a load convert -u mail\usermailfile.nsf and it works.  

Much easier way to do this than visit hundreds if thousands of workstations to update the client.  Not to mention cheaper too.

Comments (0)
Perry Hiltz April 24 2008 06:55:26 AM