Skip to main content

Plone UI and default rules for plone.caching/z3c.caching

Project description

Introduction provides a Plone UI and default rules for managing HTTP response caching in Plone. It builds on z3c.caching, plone.caching and plone.cachepurging. requires Plone 4 or later.


Plone >=4.1

From Plone 4.1 onwards, ```` is shipped as a dependency of Plone core.

It is available from the Control Panel, but not enabled by default. You can enable it from the “add-ons” menu option.

Plone 4.0

Add to the eggs list in your buildout.cfg, or as a dependency of one of your own packages in ZCML configuration will be automatically loaded via a z3c.autoinclude entry point. You will also need to install the package in Plone’s Add-ons control panel as normal.

This package depends on a number of other packages, including z3c.form and, that do not ship with Plone 4.0. You will probably want to lock down the versions for those packages using a known good set. Add this to the the extends line in your buildout.cfg, after the line that includes the Plone KGS:

extends =

Update the version number at the end of the URL as appropriate. You can find here an overview of the versions

Source Code

Contributors please read the document Process for Plone core’s development

Sources are at the Plone code repository hosted at Github.


2.0.6 (2020-06-24)

New features:

  • Remove Range from request if the If-Range condition is not fulfilled [mamico] (#58)

2.0.5 (2020-04-20)

Bug fixes:

  • Minor packaging updates. (#1)

2.0.4 (2020-02-20)

Bug fixes:

  • Purging image scales of behavior fields, e.g. lead image [ksuess] (#55)

2.0.3 (2019-09-13)

Bug fixes:

  • Fix python3 related encoding error on manual purge page. [agitator] (#51)

2.0.2 (2019-04-10)

Bug fixes:

  • fix typo “Purging is” and not “Purging ist” [vincentfretin] (#47)
  • Fix controlpanel for Python 3 [petschki] (#48)

2.0.1 (2019-03-03)

Bug fixes:

  • Only fire 1 Purge() when deleting content, instead of 3 [skurfer] Detect and ignore content creation more reliably [skurfer] Also purge the parent object when something changes (since the parent probably displays a list that includes the item being changed) [skurfer] (#37)

2.0.0 (2019-02-08)

Breaking changes:

  • Removed legacy resource registries [ksuess] (#45)

1.2.23 (2018-12-28)

Bug fixes:

  • Warn after save if caching was disabled while purging is still enabled. [jensens]


  • Legacy code clean-up Handling of legacy resource registries Products.ResourceRegistries removed [ksuess]

1.2.22 (2018-09-23)

New features:

  • Python 3 support [pbauer, MatthewWilkes, ale-rt]

1.2.21 (2018-04-03)

New features:

  • Use plone as i18n domain in ZCML files too [erral]
  • Use plone as i18n domain [erral]

Bug fixes:

  • Fix backslash escapes in i18nstring (poedit complains). [jensens]

1.2.20 (2018-02-05)

New features:

  • Prepare for Python 2 / 3 compatibility [b4oshany, davilima6]

1.2.19 (2017-11-24)

New features:

  • Purging all image scale paths and file paths in custom dexterity content types. [karalics]

1.2.18 (2017-04-08)

Bug fixes:

  • Fixed blank edit forms of the per ruleset parameters. Issue 1993. [maurits]

1.2.17 (2017-04-02)

Bug fixes:

  • Fixed title and description of max age in strong caching rule for resources. They wrongly were the same as for shared max age. Fixes issue 1989. [maurits]

1.2.16 (2017-03-23)

Bug fixes:

  • Fix: Do not break Plone if there is no Archetypes available. [jensens]

1.2.15 (2017-01-12)

Bug fixes:

  • Remove dependency on unittest2; fix tests assertions. [hvelarde]
  • Fixed tests when using ZODB 4. [davisagli]

1.2.14 (2016-11-18)

Bug fixes:

  • Update code to follow Plone styleguide. [gforcada]

1.2.13 (2016-10-05)

Bug fixes:

  • Code-Style: isort, utf8-headers, zca-decorators, manual cleanup. [jensens]

1.2.12 (2016-09-16)

Bug fixes:

  • Enable unload protection by using pattern class pat-formunloadalert instead enableUnloadProtection. [thet]

1.2.11 (2016-08-17)


  • Use plone.namedfile for test image. [didrix]
  • Use zope.interface decorator. [gforcada]

1.2.10 (2016-03-29)


  • Show status after synchronous purge if it is an error status. [maurits]

1.2.9 (2016-02-19)


  • Fixed deprecated imports in tests. [thet]

1.2.8 (2015-11-28)


1.2.7 (2015-09-09)

  • fix cache settings modal settings so they do not show content inline on save. [vangheem]

1.2.6 (2015-07-18)

  • Remove gzip option, silly to be done at this layer. [vangheem]
  • Change the category of the configlet to ‘plone-advanced’ [sneridagh]

1.2.5 (2015-06-09)

  • correctly create purge paths for root of site, prevent double slashes and the empty root of site(no trailing slash) not getting a purge path generated [vangheem]

1.2.4 (2015-06-05)

  • update first time here warning [vangheem]
  • make control panel work for both plone 4 and plone 5 with tabs [vangheem]

1.2.3 (2015-05-04)

  • Fixed getObjectDefaultView method to strip off leading / and/or @@. [alecghica]
  • Fix the portalPath used in the controlpanel for manual purging URL’s. This bug resulted in rarely doing all the purging required. [puittenbroek]

1.2.2 (2014-10-23)

1.2.1 (2014-04-01)

  • Fix tests that fail on the day before the switch to daylight saving time. [pbauer]

1.2.0 (2014-02-26)

  • Use the PLONE_APP_CONTENTTYPES_FIXTURE test layer for Plone 5 compatibility. [timo]

1.1.7 (unreleased)

  • Make it possible to set a maxage of zero in strong caching. This is an edge case since this would ordinarily be handled by moderate caching. [smcmahon]
  • Add some testing for weak caching operations. [smcmahon]
  • Fix handling of anon-only flag for cases where maxage is not zero. It was effectively ignored. Added operation test for strong caching. [smcmahon]

1.1.6 (2013-08-14)

  • Fix double purge of paths for items whose default view is the same as /view [eleddy]

1.1.5 (2013-08-13)

  • Register the plone.atobjectfields adapter not only when Products.Archetypes but also is installed. [thet]

1.1.4 (2013-06-13)

  • Fixed purge paths for virtual hosting scenarios using virtual path components. [dokai]

1.1.3 (2013-03-05)

  • Provide message for newbies to suggest importing pre-defined caching rule set. [vangheem]

1.1.2 (2012-12-27)

  • Add other feed types to plone.content.feed purge policy [vangheem]
  • Fix bug where resource registries etag is calculated incorrectly if a registry is missing. [davisagli]
  • Fix bug 12038. If transformIterable iterates on the ‘result’ iterable, it must return a new one. [ebrehault]

1.1.1 (2012-08-30)

  • Nothing changed yet.

1.1 (2012-05-25)

  • Use zope.browserresource instead of [hannosch]
  • Deprecated methods aliases were replaced on tests. [hvelarde]

1.0.4 (unreleased)

  • Fix possible test failures by logging in with the user name. Note that user id and user name (login name) can differ. [maurits]

1.0.3 (2012-04-15)

  • Fix packaging issue. [esteele]

1.0.2 (2012-04-15)

  • Handle caching of resource registries in RAM cache by not storing empty bodies in the RAMCache [eleddy with major tseaver support]

1.0.1 (2012-01-26)

  • Properly handle a changed configuration from with etags to no etags by forcing a page refresh [eleddy]
  • When not caching with etags, don’t sent an etag header to stop caching [eleddy]
  • When there was an error like Unauthorized, 200 status and empty body would be cached in RAMCache instead of not caching anything. This is due to a bug with Zope 2.13 publication events : response.status is not set when IPubBeforeAbort is notified. Fixed by using error_status stored on request by plone.transformchain. [gotcha]
  • Added 12 translation strings for ruleset’s title and description. Corresponding translation strings have been added in in PloneTranslations [giacomos]
  • Added 6 translation strings for caching profiles’ title and description. Corresponding translation strings have been added in in PloneTranslations [giacomos]
  • Changed wrong i18n domain in the messagefactory. plone.caching -> [giacomos]

1.0 - 2011-05-12

  • Use the userLanguage ETag component in place of the language ETag component in the default configs to allow ETags to be used for anonymous users with caching. [elro]
  • Add the SERVER_URL to the RAM cache key. [elro]
  • Declare plone.namedfile.scaling.ImageScale to be a plone.stableResource. [elro]
  • Add [WouterVH]
  • Fixed tests failing on Zope 2.13 due to the HTTP status no longer being included in the response headers. [davisagli]
  • Add an ILastModified adapter for FSPageTemplate as the FSObject adapter would otherwise take precedence. [stefan]

1.0b2 - 2011-02-10

  • Added News Item to the list of purgedContentTypes, so the image field and its scales gets purged. [stefan, hannosch]
  • Associated file_view, image_view and image_view_fullscreen by default with the plone.content.itemView ruleset, since none of them is the default view of their respective content type, they didn’t get the automated handling. [stefan, hannosch]
  • Added purging for’s BlobFields. [stefan, hannosch]
  • Fix documentation to refer to the correct resourceRegistries instead of the singular version. [stefan, hannosch]
  • Use plone.registry FieldRefs to manage parameter overrides. This requires 1.0b3 and 1.0b3 or later. [optilude]
  • Update distribution metadata to current best practice. [hannosch]
  • Added an etag component to track the existence of a copy/cut cookie [newbery]
  • Fixed various i18n issues. [vincentfretin]

1.0b1 - 2010-08-04

  • Add an option for “anonymous only” caching to the default operations. This is a simple way to switch off caching for logged-in users. See the README for more details. [optilude]
  • Add basic plone.namedfile caching rules, if plone.namedfile is installed [optilude]
  • Implement lookup based on portal type class/interface as well as name, and set up defaults for items and folders. [optilude]
  • template fixes for compatibility [pilz]

1.0a1 - 2010-04-24

  • Initial release. [optilude, newbery, smcmahon]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for, version 2.0.6
Filename, size File type Python version Upload date Hashes
Filename, size (102.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size (110.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page