LIBLINCKS provides a basic change notification mechanism. A marker is created in the server when a client create the transient version in its workspace. The DBS notify all clients which retrieve objects having a marker in the database. This notification are sent as messages to the client and are handled in LIBLINCKS.
When a workspace A accesses an object which is being edited by workspace B, workspace A receives a notification message of type POLL that workspace B is already editing this object.
If workspace A then begins to modify the object, workspace B will receive a notification of type CHECK that workspace A have started to modify the object.
The current implementation of change notification cannot handle the following case. We have several workspaces with the same object (not modified) in their workspaces. One workspace B modifies the object, but the others workspaces will not receive any change notification until they either change the object themselves or retrieve the object again from the database. This is natural since the modification created a transient version (and thus a marker) and the system does not know which users have retrieved the object.