Personal tools
Skip to content. | Skip to navigation
The plone.formwidget.recurrence package provides an Archetype and a z3cform widget for recurrence. The main GUI work is done with the jquery.recurrenceinput.js widget from http://github.com/collective/jquery.recurrenceinput.js . This widget also provides a simple textarea where a RFC 5545 compliant recurrence rule can be entered, if javascript is not available. The resulting value of the widget is a RFC5445 compliant recurrence rule string, ready to be used with python-dateutil's rrulestr.
Advanced i18n/l10n features useful in a CMS environment.
This package provides primitives to help delegate ZCatalog indexing operations to adapters. It doesn't do very much on its own, but can be used by catalog implementations that want to allow individual index values to be provided not by the object itself, but by separate adapters.
*plone.keyring* contains a Zope3 utility that facilitates handling of secrets in an application. Secrets are very important in modern applications, which is why a shared tool to manage them is useful. plone.keyring contains two basic components: * a *keyring*: a data structures which contains one or more secrets. * a *key manager*: a utility which contains the available keyrings and provides some convenience methods to manage them Keyrings ======== The keyring is the workhorse: it contains a set of secrets for a specific purpose. A ring has room for a fixed number of secrets which is set at creation time. The most recently added secret is considered to be the 'current' secret and the one that should be used. Older secrets in the ring can be used to keep data generated with older secrets valid for a period of time. Key manager =========== The key manager is a container for the available keyrings. It always contains a default system keyring which is used when no other ring is explicitly requested.
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``
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
This package contains fields and wrapper objects for storing: * A file with a filename * An image with a filename BLOB based types are supported if the z3c.blobfile package is installed. This will also require the ZODB3 package to be at version 3.8.1 or later, and BLOBs to be configured in zope.conf.