I am trying to automate a manual process that is done on a monthly basis. What happens now is that we use an agent to rebuild a feeder database. Due to its large nature and it being available across a WAN (replication time concerns), the current process involves:
- Taking down the four app servers to prevent replication,
- Manually copying this new version of the NSF to the data directory on the four servers involved, and
- Restarting the Domino server process so access can be restored.
The servers are only for this application and the process takes places during a non-business time window.
I am wondering if this is something I could pursue using LotusScript, or should I be pursuing some sort of shell script or operating system-based solution?
If you wanted to automate exactly the process you describe above, you could do it, but LotusScript would not be my first choice for a language. As you suggest, something more operating system specific would probably make sense.
However, I've run across situations such as you describe, and in my experience, it is rarely the case that rebuilding the database from scratch is the best choice. In most large databases, from month to month, 95% or more of the data are unchanged. Rather than a mindless mass update that deletes all existing documents and creates new ones with mostly the same data, it makes more sense to use an intelligent update process that compares the old and the new data, only updating, adding or deleting documents as necessary.
You can use an LEI Replication activity for this. If you don't want to shell out for LEI, this download contains an agent named "Replicate Customers" that shows how to synchronize Notes documents with a relational table using just LotusScript and the LC LSX. If your data source is not relational, you might still find it of interest since you could copy the algorithm to use with other techniques for reading input.
Do you have comments on this Ask the Expert question and response? Let us know.