Lock Mode in GeneXus Server

Official Content
This documentation is valid for:

Lock Mode is a Genexus Server Versioning Model.

First of all, each GeneXus Developer creates a Knowledge Base from the same GeneXus Server instance, by performing a Create Knowledge Base from GeneXus Server operation.

After the Knowledge Base creation it's done, all objects in the local Knowledge Base will be read-only. To modify a determined object the Developer must obtain the object's editing permission first: that is to say, the object's Lock. 

When all the object's modifications are made, the local object copy is committed to the GeneXus Server's Knowledge Base.

The concept behind this mode is that most times users don't need to edit the same object at the same time. Therefore, to allow users to edit any object, they must first obtain the object's Lock from GeneXus Server, which is only granted to one user at a time to prevent simultaneous modifications.

Usage example

Let's say UserA and UserB each create working copies of the same GeneXus Server Knowledge Base. They work concurrently and modify different objects within their local copies.

UserA obtains the Lock for object 'A' and  UserB gets the Lock for object 'B'. Both saves the changes locally.

If UserB attempts to get the Lock for object 'A', the GeneXus Server instance will inform that object 'A' is Locked by UserA. This means that the object cannot be edited until UserA releases the Lock, either by a Commit, Revert or Release Lock operation.

Once the Lock on object 'A' has been released, UserB can request the Lock and start making changes after performing a Update operation.

Note: notice that no Merge between changes is needed because changes made to an object by different users cannot be concurrent.

See Also