Using WebDAV in a replicated environment

When WebDAV is used to modify the design of a database in a replicated environment, you should enable design note locking on the replicated databases and use WebDAV-enabled applications that support locking. Locking ensures that any changes are replicated to the master lock database on the administration server whenever a design element is locked or unlocked, and that other applications are not allowed to modify a design element while it is locked. For WebDAV clients that do not support locking (such as Windows Explorer), the Domino® Web Server will lock design elements on the client's behalf prior to making any updates, then unlock the design element after the update is complete. In addition, methods that return information about an unlocked design element on a database that has design note locking enabled (for example -- GET, HEAD, and PROPFIND) will replicate the design note with the master lock database if necessary before returning any data. This minimizes the chances of lost updates or replication conflicts when using WebDAV clients that do not support locking.

The down side of the protection provided by locking this is:

  • The administration server (also known as the "Master Lock" server) for the database must be available in order to do anything with WebDAV if design note locking is enabled. The administration server is specified on the Advanced panel of the database access control list.
  • Performance is significantly impacted for replicas that are not on the administration server. If you need to use a WebDAV client that does not support locking to perform operations on a large number of files (for example, using Windows Explorer to copy a collection of files into a database), you may want to temporarily disable design note locking, or set the administration server for the database to be the server on which the database resides, prior to performing the operation. When you have completed the operation, you can restore the original settings and then replicate the database with the master lock database and deal with any replication conflicts. Depending on the number of elements involved, this can be much more efficient than the multiple single note replications that the Domino® server would be required to do otherwise.