This is a sandbox project, which contains experimental code for developer use only.
Provide an high-level applicative locking API.
Core provides, in lock.inc file a low-level locking framework for basic and technical-related maintenance operations, such as cache rebuild; This module intends to provide a high-level applicative locking API for business modules.
A good example of applicative lock would be, for example, locking the node form. If a user locked it, any other user cannot access it, but if the user that locked it wants to fetch it back from another place, another browser and session, you can let it happen.
It can also provide group locking, you can lock multiple objects under a certain group and release them by lot. Example: a user is editing a node with node references, you might want to lock referenced nodes as well to avoid other users to edit it while the parent node is being edited.
Locks are linked to user (or not, depending on how you use the API), you can control if the lock owner can bypass or not its own locks, you can control lock grouping, you can clear stalling locks easily, and user locks are linked to the user session: explicit login or logout will release user lock.