ロックにより、設計要素 (エージェント、フォーム、ビューなど) と文書へのマルチユーザーアクセスを同期することができます。
データベースのロックを許可するには:
- データベースには、システム管理サーバー (主要なロックサーバー) がなければなりません。システム管理サーバーは、NotesACL.AdministrationServer を使用して設定し、確認できます。
- ロックが有効になっていなければなりません。ロックを設定し、確認するには、次のプロパティを使用します。
次のメソッドでロックを操作します。
ロックを行うには、lock または lockProvisional を呼び出します。最初のパラメータはロック所有者 (1 人または複数) を指定します。デフォルトでは有効なユーザーに設定されます。lockHolders プロパティは、現在のロック所有者を返します。
ロックには次のような状態があります。
- システム管理サーバーがあり、ロックが呼び出された場合、永続的なロックが設定されます。システム管理サーバーが利用可能ではなく、一時的なロックが許可されない場合 (lock の 2 番目のパラメータが false)、エラーが発生します。
- システム管理サーバーが利用可能でなく、ロックが呼び出され、2 番目のパラメータが true の場合、または lockProvisional が呼び出された場合は、一時的になります。
文書または設計要素に対するアクセスを順番に行ったり、制限するには、lock または lockProvisional を適用し、戻された次のいずれかのステータスを確認します。
- true は次のいずれかを意味します。
- ロックが有効になっておらず、指定のロックを適用します。
- ロックが有効になっているが、有効なユーザーがロック所有者のうちの 1 人です。ロックの有効が維持されます。
- false は、ロックが有効になっており、有効なユーザーがロック所有者のうちの 1 人でないことを意味します。
通常の手順としては true の場合に先に進み、false の場合は終了または待機します。
ロックは Web アプリケーションではサポートされません。