Data modelling

Entity lock

When a user is editing an entity, an entry is added to a lock table and other users can’t edit that entity until the first users releases it.

The lock table has to be easily modifiable in case of communication failure in order to release entities locked by failed operations.

If a user loses connection or closes the browser the lock should be removed after informing the user and/or after a timeout (configurable by the admin according to the entity type).

System scripts should inform users if a critical entity is edited.