by Raphael Ritz, Jeff Roche, Martin Aspeli and others
Provides basic automatic locking support for Plone. Locks are stealable by
default, meaning that a user with edit privileges will be able to steal
another user's lock, but will be warned that someone else may be editing
the same object. Used by Plone, Archetypes and plone.app.iterate
Basic locking
-------------
By default, this is enabled on any ITTWLockable object. By default, this
applies to any Archetypes content object.
Stealable locks
---------------
By default, locks can be stolen. That is, if a particular user has a lock
and another user (with edit rights over the object) wants to edit the object,
the second user can unlock the object. This is opposed to "safe" unlocking,
which is done by the original owner.
Categorised locks
-----------------
So far, we have been managing a single type of lock. However, it is possible
to manage different types of locks which are mutually exclusive. For example,
if a particular type of lock is applied, it cannot be stolen by a user who
is attempting to create another type of lock.
Anonymous locking
=================
When we are anonymous but do have edit rights we can also do a lock.
Locking timeouts
================
Lock timeout should be ten minutes by default
Turning locking on or off
=========================
The status of the entire TTW locking mechanism can be controlled by setting
up an ILockSettings adapter with a lock_on_ttw_edit property.
|