Personal tools
Skip to content. | Skip to navigation
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.
plone.memoize provides Python function decorators for caching the values of functions and methods. The type of cache storage is freely configurable by the user, as is the cache key, which is what the function's value depends on. plone.memoize has support for memcached and is easily extended to use other caching storages. It also has specialized decorators for use with Zope views. However, plone.memoize can be used without Zope.
Mock unit test case based on ``mocker``
This package contains a unittest test class based on the one from the Mocker mock library (http://labix.org/mocker). This class provides support for registering Zope 3 components (utilities, adapters, subscription adapters and event handlers) from mocks and tearing down the global component registry during test tear-down. There are also a few convenience methods and parameter checkers that are useful to Zope and Plone testing.
The Plone Mockup is a project to modernize Plone's javascripts. Check out a demo at http://plone.github.io/mockup/ The project tries to achieve several goals: * Standardize configuration of patterns implemented in js to use HTML data attributes, so they can be developed and without running a backend server. * Use modern AMD approach to declaring dependencies on other js libs. * Full unit testing of js