Search code examples
resourcescalendarlotus-domino

Get the path to the Room & Resources database in IBM Domino?


I need to programmatically find the path to the Room & Resources database, preferably accessible thru a HTTP request. Just placing a HTTP request and getting the path/filename returned somewhere in the response would be sufficient.

And/Or are there any assumptions that can be made in regards to the file/path-name of Rooms & Resources? So, at the very least, I can provide an educated guest to the end user.

Since the room & resource database may be clustered - a way to determine this would also be appreciated and preferably thru a HTTP request.

NO changes can be made to the environment to get this information - this means no programming in the users mailfile or any other design changes.

The question is in regard to IBM Domino 8.5+

/J


Solution

  • To get the information "somewhere in the response" is quite easy: Just use the hidden ($Users)- View to get that information: http://servername/names.nsf/($Users)/Resource%2FOrga?OpenDocument

    As you see, you have to encode the slashes in the resource name with %2F

    The respons will be a website, that contains Server AND FilePath in two fields:

    <input name="MailServer" type="hidden" value="YourServer/Org">
    <input name="MailFile" type="hidden" value="pathtoresourcedatabase.nsf">

    In that document there is only the "main" server. Information about clustering would have to be obtained by looking up the MailServer- Value (in a canonicalized form) in the view ($Servers):

    http://servername/names.nsf/($Servers)/CN=YourServer%2FO=Org?OpenDocument

    In the result there will be a field called ClusterName:

    <input name="ClusterName" type="hidden" value="YourClusterName">

    And with that information you could lookup the clustermembers using the view called ($Clusters), but there you have to parse the information, as this is not a single document... Just check the output of:

    http://servername/names.nsf/($Clusters)?OpenView

    If you need to get a "better parseable" result, then use ReadViewEntries instead of OpenView, then the result is XML (or json, if you add another parameter &outputformat=JSON)