Adds a folder type with a size limit to your Plone site.
Project description
Introduction
This is a product (tested with plone >= 3.0) that allows site managers to set quotas on containers. By default it comes with a special content type, quota folder, derived from ATFolder, usable as a quota aware replacement for ATFolder, and also useful as an example to make other container types quota aware. Basically, what is needed to make a container type quota aware is for it to implement the IQuotaAware interface.
The quota can be set globally (in quota settings in the plone control panel) or locally in the metadata (properties) tab of any quota aware container. There are two settings: max size and size threshold. If the contained size of a quota aware containers goes up between max size and max size + size threshold, the user will get a warning; if it goes up over max size + size threshold, the user will get an error.
If the local quota is set, it will take precedence over the global quota; additionally, you can check “enforce quota” in the global control panel, so that any local settings that set a higher quota than the global quota will be overridden by the global settings.
Caveat: non AT content will not be properly sized. In order to take into account the size of non archetype content, custom IQuotaSizer adapters should be developed for those content types. For an example, see ATQuotaSizer in adapters.py in package root folder or dexterity subfolder.
TODO
action quota editable with kss?
add tests for dexterity quota
add more beautiful error messages
Changelog
1.0b1 - 2011-08-09
Added behavior for dexterity content types which is only included using zcml:condition if plone.app.dexterity is installed. [saily]
move documentation from Products/Quota into docs folder. [toutpt]
more translations from old style (i18n folder) to new style (locales folder) [toutpt]
remove types.xml (useless for Plone > 3.0) [toutpt]
remove importstep to notify quickinstaller of installed add-on, now qi use profiles [toutpt]
0.2 - 2010-11-16
Replace deprecated imports of zope.app.event with zope.lifecycleevent. [saily]
Removed unnecessary imports. [saily]
Added basic quota portlet. [saily]
Changed calc base to 1024 not 1000 (it’s the default behaviour on linux too) [saily]
Fixed a bug in ATQuotaSizer adapter. get_increment was called by passing an additional argument which was not expected:: TypeError: get_increment() takes exactly 1 argument (2 given)
Rebuild pot file using i18ndude and added german translation file. [saily]
0.1dev (unreleased)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.