If you choose the archive option to 'Reduce the size of a document' there is a summary document left behind in the mail database containing a button 'Open in archive' which is running the above mentioned agent. This script is searching for the archive server saved in the RTLINK-Item 'rtlink.ServerHint'. If that server is decomissioned already, the script can obviously not find the archived document anymore.
This script should be enhanced to at least search for the document on the current setup archive server or offer to choose the archive server if the document wasn't found.
Since I couldn't figure out, how to get the archive settings, I enhanced the script to at least look in the archive database on the mail server of the user. This is not optimal but working for us, because the mail server and the archive server are the same.
Part of your script:
Set rtlink = rtnav.GetElement
If rtlink.ServerHint = "" Then
server$ = ""
Else
server$ = rtlink.ServerHint
End If
My script enhancement:
Dim Archdb As New NotesDatabase( "", "" )
llObRID = Archdb.OpenByReplicaID( server$, rtlink.DbReplicaID )
If Not llObRID Then
'Get Mailserver from person document in PubNAB
Set mynotesdir = s.getDirectory()
Set prfldoc = db.Getprofiledocument("CalendarProfile")
prflOwner = prfldoc.Owner
homeserver = mynotesdir.GetMailInfo(prflOwner(0), True, False)
server$ = homeserver(0)
llObRID = Archdb.OpenByReplicaID( server$, rtlink.DbReplicaID )
End If
I didn't succeed in getting the name of the server from the profile. That is actually what I tried to do in the 1st place, but I thought the archive profile is generated when I open the archive settings on the mail-db and not only if it was assigned by a policy.
I'm aware that you can have multiple archives or even local ones, but it wouldn't hurt to enhance the script, to at least look at the set up location and not only on the server saved in rtlink.ServerHint. The replicaid of the database is also stored in the document left behind which is used by the function OpenByReplicaID. So you can have as many archives as you want. If you can get the right server and path you will find your doc. If the archive is local, you'll find that in the settings as well.
One thing is for sure: Servers will be decommissioned after some time (hopefully). By the way the script works now, you will never find your doc again. If it gets enhanced, your chances are drastically increased.
The maildb contains an archive profile document which stores the name of the archive server that was assigned by a policy. So maybe you can enhance the example above to use that instead?
However, since you can have multiple archives and even have offline archives that are not connected to any server it may not be possible to correctly identify the location of the archived documents once the server is decommissioned.