Sametime High Availability problem using Round Robin DNS where at least one server is down for an extended period of time

There is an issue where people will begin having issues accessing Sametime if one server in a Sametime HA environment is down beyond a certain length of time when the Server Community DNS is set up as round robin.

Essentially either the clients or the servers “forget” about the downed server. You are OK for up to some number of days where they recognize that the server is a ST server but no longer available. After that some cache is cleared and this problem arises.

This is why normal HA works just fine (when a server goes down for just a few minutes or hours) the servers and / or the clients are able to ignore the proffered IP address since they are aware that the server is not longer responding.

If you are taking a server out of service for longer than a week (or the period within which you will be recycling all of the other servers in the community), remove the downed server from the round robin DNS until you are ready to put it back into service.

Posted under Lotus Domino, Work Portfolio

This post was written by Marc
on July 22, 2013 at 1:22 pm

Save Window State in Lotus Notes 8.5.x

In Lotus Notes 7.x the ability to “Save Window State” (File > Save Window State) was introduced to allow users to have certain databases available to them on startup.

This ability is available in Lotus Notes 8.5.x but is set up a little differently. Now you must bookmark the databases you wish to appear automatically at startup in a special “Startup” folder.

To do this, right click on the open tab and select “Create Bookmark”

Then select the “Startup” Bookmark folder located under “More Bookmarks”

If you want ONLY the bookmarks in the startup folder to show up when the Lotus Notes Client starts, then go to Files – Preferences – Windows and Themes and DESELECT the “On restart, reopen any tabs that were open when I closed the client”.

If you leave this checked, all tabs that were open will show up on restart PLUS the items in your startup folder. So, even if you had closed any of the tabs represented in the startup folder they will be available when the client starts as expected.

Posted under Lotus Domino, Work Portfolio

This post was written by Marc
on December 2, 2010 at 8:17 pm

Create a local replica of your mail file using LotusScript

I recently had the need to create local mail file replicas for a bunch of folks. This is something that *had* to be in place for a certain time but we wanted people to be able to create the replicas at a time of their choosing up until the drop dead date.

So I have two versions of this code. The first, which I’m not posting here because it’s a part of a much larger housekeeping module invoked from the PostOpen event of the user’s mail file, gives no choice to put it off. The end user will receive a dialog indicating what is about to happen and then the replica creation will kick off.

The second, which is sent as a button in an email explaining to the user why they would want to do this and that this allows them to run it at a time of their choosing, I include below. It has some friendlier dialogs for the end user.

When run, the code will pop up a message box explaining what is about to happen and give them an opportunity to stop before they get started.

Then I check to make sure they are the owner of the database (so an admin opening the message on their manager’s behalf doesn’t inadvertently create a local replica of the managers file on their own workstation).

Then – and this is probably overkill – I make sure that the user is explicitly in the ACL (not in there via a group) and is a Manager. In our environment this will always be the case so it doesn’t hurt to leave this check in.  You can probably delete it. This was put in out of a concern that folks would open this in a misconfigured mail-in database (where the owner in the preferences had been allowed to default to the users name instead of that of the mailbox). We manage access to our mail-in databases via groups so it would be unusual for the user to be explicitly listed and HIGHLY unusual for them to have manager access under any circumstances.

I then validate whether or not there already exists a file with the same name and along the same path as the one I wish to create. I’m lifting the path and file directly from the server-side database. I’ve actually come across a few cases where folks have local mail file replicas with completely different names and/or in surprisingly different folders than you would expect. Ah… the creativity of the end user!  For our purposes we need to have the file path and name consistent between the local and server copies.

Note that for the LotusScript Dir$ command, Notes will only return an empty string if the file doesn’t exist. If the containing folder doesn’t exist you will receive an error “76” . But if you create a handler that contains simply “Resume Next” Notes will gleefully pick up INSIDE the conditional statement. I was prepared to create a Boolean variable that would be set if either the file was not there or would be set in the error handler but I was able to take this little bizarre shortcut.

The tricky part for me was to get the new replica to show up automatically on the replication tab. For this I need to thank Notes 411 for a little bit of code that I really should have figured out for myself. This is what the UIWorkspace is doing in the code. Basically you just open both replicas in the UIWorkspace and they will be added to the replication tab. Easy as pie. I did not have any issues getting the replica appear on the workspace as the Notes 411 logic also purports to do.

Once done, I let the user know and exit the script.

This is designed to work on Lotus Notes 6.5.x and 7.

Sorry about the lack of formatting, WordPress seems to have taken to stripping it out.

Sub Click(Source As Button)
‘Check if there is a local mail file replica and create one if it doesn’t already exist.
‘Created by Marc Bourassa – July 16, 2010

Dim Sess As New NotesSession
Dim ws As New NotesUIWorkspace
Dim dbUI As NotesUIDatabase
Dim db As NotesDatabase
Dim ACL As NotesACL
Dim ACLEntry As NotesACLEntry
Dim dbLocal As NotesDatabase
Dim docCalProf As NotesDocument
Dim namName As NotesName
Dim sDataDir As String
Dim iRC As Integer
Dim sMsg As String
Dim sPrintText As String

On Error Goto ErrorGeneral
On Error 4005 Goto ErrorDBExists
On Error 76 Goto ErrorPathNotFound

Set db = sess.Currentdatabase

sMsg = “This button will create a local replica of your mail file (” & db.Title & “) if one does not already exist with the correct name.” & Chr$(13)& Chr$(13)&_
“Please press OK to continue or CANCEL to Abort”

iRC = Messagebox(sMsg,49,”Create Mail File Replica”)

If iRC = 1 Then
Set docCalProf = db.GetProfileDocument(“CalendarProfile”)
Set namName = New NotesName(docCalProf.Owner(0))
If namName.common = sess.Commonusername Then ‘User is the owner of this mail database
Set ACL = db.Acl
Set ACLEntry = ACL.Getentry(namName.Abbreviated )
If Not ACLEntry Is Nothing Then
If ACLEntry.Level=ACLLEVEL_MANAGER Then ‘User is explicitly in ACL AND is a manager
sDataDir = sess.getenvironmentstring(“Directory”,True)
If sDataDir = “” Then ‘something probably wrong with ini file. Don’t expect system to work correctly
Messagebox “There is a problem retrieveing your data directory information from the notes.ini file. Cannot proceed. This issue needs to be resolved by the helpdesk. Aborting Replica Creation.”,0,”Create Mail Database Replica”
Goto LeaveSub
End If
If Dir$( sDataDir & “\” & db.Filepath, 0 ) = “” Then ‘No replica by this name exists. Will fail to next line from error handling if path is bad (i.e. missing mail folder)
Call db.Createreplica(“”, db.Filepath)
‘Now add to the Replication tab
Call ws.opendatabase(db.Server,db.FilePath)
Set dbUI = ws.CurrentDatabase
Call ws.opendatabase(“”,db.FilePath)
Set dbUI=ws.CurrentDatabase
Messagebox “Local mail file replica has been successfully created (” & db.Title & “).”,0,”Create Mail Database Replica”
Else
Messagebox “Replica already exists for your mail file (” & db.Title & “). Nothing to do here.”,0,”Create Mail Database Replica”
End If
End If
Else
Messagebox “You are not a manager of this mail database (” & db.Title & “). Aborting Replica Creation.”,0,”Create Mail Database Replica”
End If
Else
Messagebox “You are not the owner of this mail database (” & db.Title & “). Aborting Replica Creation.”,0,”Create Mail Database Replica”
End If
Else
Messagebox “Replica Creation cancelled by you.”,0,”Create Mail Database Replica”
End If

LeaveSub:
Exit Sub

ErrorDBExists:
Resume LeaveSub

ErrorPathNotFound:
Resume Next

ErrorGeneral:
sPrintText = “Error: ” + Cstr(Err) + ” defn: ” + Error$ + “. ”
Messagebox sPrintText & Chr$(13) & Chr$(13) & “Could not complete this task you will need to create this replica manually. Please contact the help desk for assistance.” ,0,”Unexpected Error”
Resume LeaveSub

End Sub

Posted under Lotus Domino, Work Portfolio

This post was written by Marc
on July 19, 2010 at 8:28 am

Searching in Lotus Notes

There are 3 ways you can search for items in Lotus Notes:

  • Make sure that the view you are in is sorted by the column you wish to search by (usually the leftmost column, otherwise the one with the highlighted arrow at the top)
    • Begin typing – i.e. if you are in your inbox and you click on the “Who” column, then start typing the name of someone in that view. A box will appear to capture the letters and when you hit enter you will jump to the first line beginning with those letters.
  • Hit Ctrl-F or press the binocular icon a the top of the screen (). This will bring up a dialog that lets you search anything you can SEE IN THAT VIEW. It will search on subjects, names, whatever you can see it can search.
  • Finally, clicking the Magnifying glass icon or clicking View > Search This View depending on your version of Lotus Notes, will allow you to search by any criteria within the documents (body of email, attachments, to, from, subject, etc.) This is called a “Full text search”.

Posted under Lotus Domino

This post was written by Marc
on February 11, 2010 at 6:28 am

Can’t see update to a meeting in your sent folder

When you send a meeting invitation you will see it in your “Sent” folder.

If you make subsequent updates to the invitation, you do NOT see them as separate notes in the sent folder, however if you find the original note you will see that it is updated with your latest changes.

The Gory Details:

This is because the original sent message, your calendar entry and the update you just made are all one and the same document. When you open your sent message you will see it’s exactly the same document as if you opened the meeting from the calendar view.

There is no obvious way to “confirm” that the update has been sent except that, if you did not encounter any issues when you saved the update and if your calendar entry reflects the update, then it has been sent.

Posted under Lotus Domino

This post was written by Marc
on February 10, 2010 at 7:22 am

Lotusphere 2010 – Knowledge from Concentrate!

I just got back from this year’s Lotusphere held in Orlando, Florida. As usual, it is a great opportunity to immerse myself in the world of Lotus Notes / Domino.

There is always so much available to do that you have to pick and choose what’s most important to you and some stuff you just won’t get to see. In my case, I focus on the presentations rather than the product showcase primarily since I’m not in a position to get any of those products into my organization and secondarily I develop most of my own utilities and applications anyway. I spread my attention between the developer and the Admin tracks.

Hits and Misses

As with any event there are good and bad things. In my opinion:

The Hits:

– an unexpected highlight of the conference was having Dr. Brian Cox speak at the closing session. Absolutely brilliant!

– The JumpStart sessions held on Sunday (January 17) every one of these 2 hour sessions that I attended was great. Well prepared presenters disseminating highly relevant information.

– The Show-‘n-tell sessions. A deep dive involving some end-to-end process that was like one long (1 hr 45 min) demo. I loved experiencing all the gory details of installs that I’ll implementing myself later this year first hand like this.

– The Swan and Dolphin hotel. These folks know how to manage people flow. Meals had legions of staff directing people and ensuring that food stations were kept stocked. Cleanup of tables was unobtrusive and thorough and staff were always pleasant.

– The Audio visual folks. Not sure if they are Disney or were brought in by Lotusphere but there were no glitches at any of the sessions that I could detect. When there was a question or a presenter made a comment about something that they couldn’t figure out, someone would unobtrusively show up and do what was needed.

– On Time. Sessions started on time and ended on time. Period. This is a consistent theme and one that respects both attendees and presenter’s commitments alike.

The Misses:

– The Information and assistance folks were particularly impotent. They had no idea how to escalate questions and seemed intent on just getting rid of you. My biggest peeve was that my registration never came off pending status and so my Lotus Online account was never activated. Three trips to those yahoos failed to resolve the issue.

– The BOF (Birds of a Feather) sessions were a big disappointment for me this year. The first one I tried to attend, the facilitator was detained (but sent word so we could perhaps try to find another session of interest) and the session was rescheduled for some time in the future. The second one the facilitator didn’t bother to show or send word. This was vexing as it was an early morning session that I’d dragged my not-a-morning-person butt out of bed for at 5:30 am to be there on time.  Also, the sessions exactly overlapped with breakfast – well if you were serious about attending the following normal morning sessions. I think it’s time these ceased being an afterthought and perhaps gained some more prominence in both the schedule and maybe in the minds of the hosts? Last time I was here I attended one or two of these and found them pretty valuable.

– No use of mobile device access to session evaluation. Having attended WES 2009 and seen what can be done in terms of integrating the nearly ubiquitous smartphones into the scheduling and evaluation process, it was kind of a let down to see that these technologies were not being exploited (indeed *showcased*) as part of this event.

My Sessions

Sunday:

BOOT103 Running with Scissors: Sharpen Your Skills for a Pain-free IBM Lotus Domino 8.5 Upgrade

Boot 101 8.5 dom admin

BOOT104 IBM Lotus Sametime 8.5 Deployment Workshop

SHOW102 Using IBM Lotus Domino 8.5 Policies to Manage Your Clients

Monday:

BP108 Worst Practices

AD206 Filthy Rich User Interfaces

SHOW113 Integrating IBM Lotus Domino Data and Applications on Smartphones, Blackberry

BP306 How to Sell IBM Lotus Notes

BOF316 Managing your IBM Lotus Domino Environment with Lotus Domino (Facilitator no show)

Tuesday:

BOF314 How to Tune Your IBM Lotus Domino Server for Maximum Performance (Facilitator no show)

AD102 Extreme Makeover — LotusScript and Java Editor Edition

AD107 Enhance Your Existing Applications with XPages

BP106 The Top 11 Tips for Keeping Your Servers Healthy

ID102 Enterprise IBM Lotus Notes Client Deployments

BP212 Delivering IBM Lotus Domino to Mobile Devices: Top 10 Mobile Browser Dev Tricks – and More!

ID615 Best Practices for Upgrading to IBM Lotus Notes and Domino 8.5x

Wednesday:

BP107 Real World Examples: Upgrading to IBM Lotus Notes and Domino 8.5

SHOW201 Installation and Setup of IBM Lotus Sametime 8.5: From “Zero to Hero” in Just Two Hours

BP206 Let’s Give Your LotusScript a Tune-Up

ID604 IBM Lotus Notes and Domino in the Cloud – IBM LotusLive Notes

Thursday:

SHOW103 Roaming in IBM Lotus Domino 8.5: Configure the Best Choice for You

ID611 The Best-Laid Plans: Networking That Can Hurt Your Applications

GURU101 GURUpalooza!

ASK101 Ask the Developers

Posted under Lotus Domino

This post was written by Marc
on January 22, 2010 at 8:29 pm

Tags:

“unique fields names table size” error in Lotus Domino

I recently had an issue where the mail boxes on one of my Domino servers were not compacting at all during their normal window.

My logs showed

09/03/2009 04:00:01 AM  Router: Beginning mailbox file compaction of mail1.box
09/03/2009 04:00:01 AM  Switching to copy-style compaction for E:\Lotus\Domino\Data\mail1.box due to unique fields names table size
09/03/2009 04:00:02 AM  Router: Shutdown is in progress
09/03/2009 04:01:49 AM  Router: Unable to compact mailbox file mail1.box: Database is currently in use by you or another user
09/03/2009 04:01:49 AM  Router: Completed mailbox file compaction of mail1.box
09/03/2009 04:01:49 AM  Router: Beginning mailbox file compaction of mail2.box
09/03/2009 04:02:02 AM  Router: Completed mailbox file compaction of mail2.box
09/03/2009 04:02:02 AM  Router: Beginning mailbox file compaction of mail3.box
09/03/2009 04:02:02 AM  Switching to copy-style compaction for E:\Lotus\Domino\Data\mail3.box due to unique fields names table size
09/03/2009 04:03:49 AM  Router: Unable to compact mailbox file mail3.box: Database is currently in use by you or another user
09/03/2009 04:03:49 AM  Router: Completed mailbox file compaction of mail3.box
09/03/2009 04:03:50 AM  Router operation resumed.

Since I haven’t had the need to monitor for failure of mailbox compaction, I was not aware of this issue until I received complaints of Non Delivery Errors. Specifically “554 Error writing message to safe storage; message could not be stored to disk“.

I was unable to find anything useful either from Lotus’ technotes online, their forums or using Google in general so I thought I’d post something to help out others who travel this path.

I contacted Lotus and opened a PMR but they were clueless as well. I really wanted to know what the “unique fields names table size” error was all about but they really didn’t know and tossed me a technote pertaining to “Database has too many unique field names” which really didn’t apply. They also focused on database corruption caused by  anti-virus programs. I figure that, if this was the issue, this should  have come up in the past 5 years on some of the 30+ other servers I’m working with so I was pretty sure this was also not a cause.

Long and short, I still don’t have an effective means to generically monitor for mail box compact failure. I *could* set up a monitor for the “unique fields names table size” string but it seems that seems like overkill.

To resolve the issue is simple enough:

  • shut down the server,
  • rename all the mail boxes,
  • restart the server (allowing new mail boxes to be created),
  • copy over any not-dead messages to one of the newly created mail boxes and
  • delete the old mail boxes

A side-effect of the above is that my name becomes the “from” address for all the copied messages.  Anybody have a simple solution for that? I haven’t actually researched it yet since it comes up so infrequently but it would be handy to know.

Posted under Lotus Domino, Work Portfolio

This post was written by Marc
on September 9, 2009 at 11:36 am