#dominoforever | Product Ideas Portal

Welcome to the #dominoforever Product Ideas Forum! The place where you can submit product ideas and enhancement request. We encourage you to participate by voting on, commenting on, and creating new ideas. All new ideas will be evaluated by HCL Product Management & Engineering teams, and the next steps will be communicated. While not all submitted ideas will be executed upon, community feedback will play a key role in influencing which ideas are and when they will be implemented.

For more information and upcoming events around #dominoforever, please visit our Destination Domino Page

Enhance script 'OpenArchivedDoc'

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


  • Guest
  • Nov 3 2022
  • Needs Clarification
  • Attach files
  • Guest commented
    10 Nov, 2022 02:15pm

    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.

  • Admin
    Thomas Hampel commented
    8 Nov, 2022 08:50pm

    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.