Skip to main content

What is the difference between soft locking and document locking (sometimes called hard locking) in Lotus Notes®, and when are these locking features are enabled?

Document Locking:
In Notes/Domino 6.x, a database property feature called "Allow document locking" was introduced. When this property is enabled, any user with Author access or above can lock a document across all replicas. This prevents two or more users from making changes to the same document and then replicating - which would create replication conflict documents.
To enable this feature, you can select the database property "Allow document locking" in the basics tab.
Soft Locking:
Soft locking was also a new feature in Notes/Domino 6, but it was not documented as clearly as document locking. Soft locks are in-memory locks that are enabled when documents are in memory, and are not persistent. The editor takes out a soft lock on a document when it is opened in edit mode, and then unlocks it when the document is closed. During the period of time when it is soft locked, no one else can edit that document but it only affects the current replica where the user is working; it does not affect other replicas of the database.
Prior to release 6.5.1, soft locks could not be disabled. Beginning in releases 6.0.4, 6.5.1, and 7.0, users can add a NOTES.INI parameter EDIT_NO_SOFT_LOCKS=1 to their client's notes.ini.
The EDIT_NO_SOFT_LOCKS=1 ini parameter was added as a workaround for customers who had applications that did not work well with soft locking. The parameter essentially reverts locking behavior back to the R5 style, where soft locking did not exist. This parameter disables all soft locking in all databases accessed by that client. It cannot be enabled on a database by database basis.
At this time, there is no other way to disable soft locking. This parameter can be set programmatically in all clients via LotusScript with the following instructions:

    Dim session As New NotesSession
    Call session.SetEnvironmentVar( "EDIT_NO_SOFT_LOCKS", "1" , True)

The above script can be included in a Hotspot button included in a mail to all users.
An enhancement request, for soft locking be an option that can be enabled or disabled via a database property like document locking, has been submitted to Quality Engineering as SPR# JGON5WQLMA. There are no current plans to address this request.

Comments

Popular posts from this blog

"Error in Agent" or "Error loading USE or USELSX" running Out-of-Office agent after upgrading to Domino 6.x

Question After upgrading from one Lotus® Domino® server version to another (for example, 5.0.11 to 6.x), you find that the Out of Office agent does not work and produces errors written to the console and the log (if enabled). The error message in the Domino console is as follows: "Error in Agent ´OutOfOffice OutOfOffice´ calling script library ´Common´: Script library signer ´CN=ServerA/O=Widgets´ does not have proper rights Agent ´OutOfOffice OutOfOffice´ error: Error loading USE or USELSX module: Common AMgr: Agent ´outofoffice´ in ´mail\jdoe.nsf´ completed execution" Maintenance on the database did not resolve the problem, nor did replacing the design or running fixup, updall -r, or compact. Answer Agent security rights in Domino 6.0 were revised to be more robust. This issue occurs when the signer of the script library does not have the correct rights to execute on the Domino server, and/or the script library has not been signed in Notes/Domino 6...

Lotusscript to establish ODBC connection:

The script, when executed from a button, will create a new record in a specified ODBC data source, attempt to save the new record and display a message indicating whether the operation was completed successfully. If the operation is not completed sucessfully, it is likely that either your data source is read-only or your ODBC driver does not permit updates to the data source. Important: Complete each of the four steps below before running the script. 1. Create a new agent and add the following UseLSX command to the Options event: UseLSX "*LSXODBC" 2. Add the following script to the Initialize event of the agent. NOTE: Do not add the 'Sub' and 'End Sub' lines. Dim ui As New NotesUIWorkspace     Dim uidoc As NotesUIDocument     Dim doc As NotesDocument     Dim connection As ODBCConnection     Dim query As ODBCQuery     Dim result As ODBCResultSet         Set uidoc=ui.CurrentDocument ...

"Responses" and "Response to responses"

Lotus Notes has any kind of format of lotus notes document, but what about the “response” and “response to the response.” When you design the form in lotus notes application you can chosen: to create a document with the document format under the primary documents call “response document” or create a document under response documents call “response to the response.” Lotus notes develops can decide whether to provide some structure when you create notes documents. There are many cases that are more relevant documents are clear. Example: a data entry in a document, you can information to employees in the two documents to be attached to the first. Remember that you have entered in the accounting documents of each set a unique ID.  How to tie documents to respond to the main document is to add a field in response documents called $REF. $REF argues that ID is not taken into account. copies of the parent. How “responses” differ from “response to responses”? Do you have a hierarchy of do...