My company is in the midst of an iNotes roll out. Our userbase is spread out across multiple locations throughout the United States. Subsets of our iNotes users periodically switch from one location to another. When devising a filepath naming convention, we decided to include the user's location as part of the filepath in order to simplify administration. Our model iNotes URL is: servername/mail/location/username.nsf
Recently, when we had to implement our first location change, we experienced a problem. When we moved John Doe from "LocationA" to "LocationB",
from "servername/mail/LocationA/jdoe.nsf"
to "servername/mail/LocationB/jdoe.nsf"
He could no longer synchronize his iNotes subscription. He received the error message "File Does Not Exist" in the Synchronization Status column of the iNotes Sync Manager.
According to Lotus Support TechNote #180667, you will receive this error after moving the "main DOLS-enabled database" to a new directory or subdirectory. In the case of iNotes, the user's mail file is the main (and only) DOLS-enabled database in the application. The TechNotes's solution is as follows: "To avoid this issue, do not move the main database after it has been enabled for DOLS".
We found this to be unacceptable. Given the nature of our userbase, we have to be able to move iNotes mail files from directory to directory as circumstances warrant. So I began to dig into the iNotes/DOLS infrastructure and, after getting a fair amount of dirt under my fingernails, came up with the following solution:
You can move an iNotes mail file to a new directory/subdirectory, if you make two very simple changes to the iNotes mail file's DOLS Offline Configuration profile document. This document defines, among other things, what will be synchronized and when it will be synchronized. Here are the steps:
1. Physically move the mail file to the new directory.
2. From somewhere within the mail file, run the following code:
v := @Subset(@DbName; -1);
@SetProfileField("DOLSOfflineConfiguration" ; "RequiredFilesToReplicate"; v );
@SetProfileField("DOLSOfflineConfiguration" ; "MainNSF"; v )
[I placed the code behind an action visible from the Inbox]
That's it. Once you've run the code, the user will be able to successfully synchronize his/her iNotes mail file from its new location on the server.
Code
see above