Out Of Office Service being enabled overnight

The new Out Of Office Service (OOS) is not suitable for my organisation, so we are trying to revert to the Out Of Office Agent (OOA).

We have successfully reverted to OOA except for one pesky mail file that persists in setting back to OOS overnight. I can’t fathom out the reason - what is resetting the mail file, and why? The mail file was running as OOS, so I went in to the mail file, opened the Out Of Office profile, disabled it, re-opened the profile, and changed the return date to yesterday and saved. Then sent the user a memo. This caused the router to disable the OOS. I then went back into the mail file, and re-enabled OOO. This account then sent OOO messages correctly as OOA generated. Even “tell router o” didn’t list any mail files. Great.

Next day, the mail file had reverted to OOS, and OOO messages were being sent out as OOS generated. What in the blazes is enabling OOS on this mail file? Frustratingly the OOAgent is enabled. The profile has no suggestion of OOS, but it is the service that is generating the messages.

There are some wonderful articles about the new OOS, the most helpful for me was:-> http://www-10.lotus.com/ldd/dominowiki.nsf/dx/01072009040728PMWEBSS8.htm But nothing mentions OOS being turned on overnight.

The reason for using the agent is that we have customized it so it does not respond to emails sent to people from the internet but have been addressed to a group. It is vital in our organization that these emails are not sent OOO notifications.

Any enlightenment much appreciated…

Subject: My guess

I have not heard of this problem before… but I have a theory on how it could be happening.

My guess is that somewhere there is a db replica of this mail file, probably on an older server, that is replicating in this setting. If this is the case, we can try to do a few things to force it.

Are you operating in the mixed server version environment? (i.e. the servers in your mail cluster

have both R8+ and pre-R8 servers)?

Use Pre-R8 client or server, do design replace of the mail file with whatever version of the template you have. This should disable it. Make sure you do it on the pre-R8 because in post R8 it will try to preserve that information about

it being turned on. On the client, you can do it from the menu. On the server you can load design -f mail file.

I would be interested in learning why the Out Of Office Service (OOS) is not suitable for your organization.

Subject: OOS enabled status is always replicated, regardless of whether the latest action is to disable OOS on a replica mail database.

My testing has shown that, having replica mail files on say a Mail server and a Backup server, will always result in an OOS enabled mail database remaining OOS enabled, with the other database being forced into an enabled state too. Eg: MailServer!mail.nsf is OOS enabled. Overnight it replicates to Backup!mail.nsf. The next day, MailServer!mail.nsf has OOS disabled. That night MailServer!mail.nsf is replicated to BackupServer!mail.nsf, the result being MailServer!mail.nsf becomes OOS re-enabled, with Backup!mail.nsf remaining as OOS enabled.

This shouldn’t be a problem as the 4am router maintenance task tidies up the OOS flags. However, if you are trying to migrate from Service to Agent it can cause issues. The 4am router maintenance does not disable OOS until the person’s return date from absence is past.

So if you migrate from Service to Agent, any mail file that is running as OOS will remain OOS enabled until return date is past, the databases replicate, and the 4am maintenance task has run.

So there.

Subject: OOS becomes disabled in two ways

You said: So if you migrate from Service to Agent, any mail file that is running as OOS will remain OOS enabled until return date is past, the databases replicate, and the 4am maintenance task has run.

OOS will also be disabled on the first message that the user receives after the it was turned off (or time has expired). For efficiency the router does not poll for changes, but acts on each mail file when an email is received.

4 am maintenance comes into play only if the user have not received any emails after the vacation time has expired (or OOS was turned off). Then 4 am when the maintenance tasks takes care of it.

Subject: Gosh Julie, you’re a genius…

… and not just for your article on developerWorks! How do you get bold type in your response?

We have 2 servers in our organization:

  1. Production server: Domino 8.5 Enterprise server

  2. Backup server. Domino 8.5 Utility server.

Sure enough, the Mail file on the Backup server was set to OOS. When I replicated it with the Production server, the OOS was propagated from the Backup to the Production. Switch off OOS on the production server, and the OOS is again propagated from Backup to Production. It doesn’t seem to follow replication logic, it just always propagates from Backup to Production. Why is this done? It could be the settings:

  1. Production Server Configuration document has Out-of-Office type: Agent

  2. Backup Server Configuration document had Out-of-Office type: Service

This is obviously wrong. We didn’t think to change the type on the Backup server as it isn’t used for email. However, it may be affecting the behaviour of the replicator, so it has now been set to Agent, and I’ll investigate some more tomorrow after the reboot.

We’ve had other problems with OOO being set to service on mail files even after setting the production server. I thought this was due to the profile documents being defaulted to TaskType=“2” in the mail files, so I’ve since set them all to “1” using an agent. Perhaps the users were communicating with the backup server when setting OOO, but this is unlikely as the users have no connection to the Backup server.

To answer your question - why is OOS not suitable for our organization: it is not versatile enough. The options are too restricted, and have even less user functionality than in previous versions; eg cannot cancel notification when an email is sent to specific send-to-groups. The biggest problem with OOO has always been it’s determination to reply to senders who have addressed to a group. We have mail groups that are sent notifications of actions on our website. Somebody books a training course, or downloads a brochure, and an email is generated from that person (their email address is stored on our website) to a group such as Training or Sales. Having downloaded a brochure, they get an out of office notification, and this is confusing. So six years ago we modified the Out of Office agent to ignore emails that had come from the internet but were addressed to a group. It is important that emails addressed to individuals still get through. This served us well until we were scuppered by OOS, and the sales team started jumping up and down about clients receiving OOO messages when all they were doing was using our website. The original modification has been implemented on the version 8 template that is now in use.

I’ve been using some agents to check and set OOS on mail files. I’ve included the agent that resets OOS below. Other agents are: Check individual mail file. Check all mail files (Scheduled). This latter one is 250 lines, plus the TIMEUtilities I nicked from the mail template - very happy to include if you are interested.

Many thanks

Mike

Sub Initialize

Const c_sServer1="Prod/Blueprint"

Const c_sServer2="Backup/Blueprint"



Dim sdbName As String

Dim dbThis As NotesDatabase

Dim docProfile As NotesDocument

Dim dbMail As NotesDatabase

Dim sess As New NotesSession

Dim sString As String



Set dbThis=sess.CurrentDatabase

Set docProfile = dbThis.GetProfileDocument ("OOO")

sDBName = docProfile.GetItemValue ("DbName")(0)



sDBName = Inputbox ( "Enter file name of database:", "DEFAULT in \Mail", sdbName)

If sDBName = "" Then Exit Sub

If Instr (sDBName, "\")=0 Then sDBName = "mail\" & sDBName

Set dbMail = New NotesDatabase ( c_sServer1, sDBName)

If Not dbMail.IsOpen Then

	Messagebox "Cannot find database " & sDBName & " on " & dbMail.Server

	Exit Sub

End If



docProfile.ReplaceItemValue "DbName", sdbName

docProfile.Save True, False, True



If dbMail.GetOption( DBOPT_OUTOFOFFICEENABLED) Then

	sString = "Service disabled on " & sdbName & " on server " & dbMail.Server

	Call dbMail.SetOption( DBOPT_OUTOFOFFICEENABLED, False)

Else

	sString = "NOT Service!!  Result for server: " & dbMail.Server

End If

If c_sServer2="" Then Goto Message

Set dbMail = New NotesDatabase ( c_sServer2, sDBName)

If dbMail.IsOpen Then

	If dbMail.GetOption( DBOPT_OUTOFOFFICEENABLED) Then

		sString = sString & |

Service disabled on | & sdbName & " on server " & dbMail.Server

		Call dbMail.SetOption( DBOPT_OUTOFOFFICEENABLED, False)

	End If	

End If

Message:

Messagebox sString

End Sub

Subject: Thank you!

Great to hear you were able to figure out the mystery!

I will forward your comments about the features you would like to see in OOS.

And thank you for nice words…

As far as bold, bold is easy if you use Notes Client to reply to the forum!