One of the features that gets most use in our Archiver for Notes and Search Manager products is automatic updating. This is an optional setting that can be used to auto-update the products in a customer environment, most usually to add bugfixes.
Via this procedure, we get notification of errors that occur during archiving (and when archiving millions of documents in remote environments, especially in custom applications, there can be document-related errors).
We then investigate the problem, and if necessary provide a patch for it. This patch can then be automatically applied in the remote environment, and the customer notified as to what was fixed, and why. Alternatively the customer can instead be notified there is a patch available, and download/apply it manually.
Basically the process itself is as follows;
1. Each night, the Archiver contacts our website via a Java agent and checks for a flag indicating there is a newer release available than it is already. If it finds a newer release, it will either;
a) email a listed email address there is a new version to download, the reason for the update, and provide a url to the new template,
b) download the new template to a designated location, run fixup on it using a Remote Console call, then create an AdminP request to sign it using the Server ID. The Designer task then updates the design of the production database in the normal way, using the newly downloaded template.
A second agent then verifies that the new design has been applied correctly, re-enables any agents that were disabled as a result of the update, and advises the listed email address that the design was updated, and for what reason.
Of course we need to manage the connection out of the customers environment (proxies, security etc) and amend the Java security policy on the server to allow our agent to set system properties during execution.
We find this process works very well, and is a useful way to reduce the demands on customers, even when the problem stems from dodgy data in their own environment.
For more details, please contact firstname.lastname@example.org.