Author: Simon Eisenmann and other



It is a CMF Tool to purge a proxy's cache. It works with both
Squid and Enfold Enterprise Proxy. It is accessible through
the Zope Management Interface.

This product is covered by the Zope Public License.


1. a) for Squid proxy caches

Squid does not allow you to purge objects unless it is configured with access
controls in squid.conf. First you must add something like::

    acl PURGE method purge
    acl localhost src
    http_access allow purge localhost
    http_access deny purge

The above only allows purge requests which come from the local host and denies
all other purge requests.

Restart Squid after you did this reconfiguration.

b) for Enfold Enterprise Proxy (EEP) caches

If CMFSquidTool is running on the same machine as EEP, no extra configuration
of EEP is necessary.

If CMFSquidTool is running on a different machine, you will need to add a line
to your EEP configuration file.  The EEP configuration file is located in the
EEP application directory and is called 'eep.ini'.

Using a text editor, add a line like this to your eep.ini file, with the IP
addresses of the machines you wish to be able to purge the cache::


2. Zope Product

Extract this tarball into your Zope Product folder and restart Zope when you
did so.

Afterwards install the tool into your portal by using the quickinstaller tool.


ZMI Setup

Enter the url to your portal root like it is accessable through squid, into the
field inside the Squid Cache Urls tab of the portal_squid tool.

If you have Enfold Enterprise Server, a similar interface is available from the
Plone Control Panel.

Original version by Simon Eisenmann <>.

Modifications for Enfold Enterprise Proxy by:

- Neil Kandalgaonkar <neilk at>
- Robert Rottermann <robert at>
- Sidnei da Silva <sidnei at>


1.5.1 - Feb 3, 2009

* Don't invalidate FSObject. This avoids invalidation storm on
  edit after restart when loading skins from file system.

1.5 - June 19, 2008

* Handle purge requests coming in during a transaction commit. This happens
  when collective.indexing processes its catalog queue during commit and
  CacheSetup generates purge requests for each indexed object.

* Use the built-in set type if available.

* Handle appending a URL to an empty queue correctly.

1.4.1 - May 1, 2008

* Added an for Plone 2.5 compatibility

1.4 - April 16, 2008

* Switch to using a GenericSetup profile for installation

* Repackaged as a python egg.