CacheFu 1.1.2
Up to Product page
For additional information about this project, please visit the
project page.
Available downloads
Release Notes
| State | Final release |
|---|---|
| License | GPL |
| Release Manager | Ricardo Newbery |
CacheFu is a collection of products which aggregate and simplify various caching settings, speeding up Plone sites using a combination of memory, proxy, and browser caching. CacheFu can be used by itself or with Squid, Varnish, and/or Apache. Configuration files can be generated for Squid, Varnish, Squid-behind-Apache, Varnish-behind-Apache, and Apache cache proxy (if you are using a non-caching Apache by itself or just Zope-only, no extra configuration files are needed).
CacheFu is currently shipped as a separate add-on to Plone as we expect more releases in the near future to add additional features and flexibility. CacheFu 1.1.2 has been tested on Plone 3.0 and Plone 2.5+. For earlier Plone versions, try CacheFu 1.0.3 instead.
New Features in CacheFu 1.1.2
- Improved proxy cache configs for Squid and Varnish.
- Some bug fixes.
New Features in CacheFu 1.1.1
- New improved proxy cache configs for Squid, Varnish, and Apache (yes, Apache can be used as a proxy cache server -- although it doesn't support PURGE requests). Look in the 'cachefu-proxy-configs' folder for more information.
- Added an VirtualHostMonster 'inside-out' example to the custom rewritePurgeUrls script. The rewritePurgeUrls script is found in the 'cache_setup' skins folder.
- Added support for 'stale-while-revalidate' and 'stale-if-error'. See http://www.mnot.net/blog/2007/12/12/stale
- Added kss registry to resource cache rule.
- Added a cache rule for RSS feeds.
- Lots of bug fixes.
New Features in CacheFu 1.1
- An "off" switch. Previously, you had to uninstall in order to turn off caching. Now you can turn it off without losing your configuration.
- Multiple cache policies. A cache policy is a container for cache rules and header-sets so you can now have multiple sets of rules and headers for different occasions or site development purposes.
- Caching of Zope 3 views.
- Customizable purge urls.
- Improved Last-Modified dates.
- Simplified Squid configs.
- Varnish configs.
New CacheFu Manual and Web Caching Reference
A new CacheFu Manual and a Web Caching Reference is nearing completion. Stay tuned for an announcement.
Installing CacheFu
Installing CacheFu for the first time:
- Copy CacheSetup, PageCacheManager, CMFSquidTool, and PolicyHTTPCacheManager into your Products directory.
- Restart Zope.
- Install the CacheFu product via the Plone "Add/Remove Products" page.
- Optional: Configure via the "Cache Configuration Tool" (see Configuring CacheFu in the Manual).
- Optional: Install Squid or Varnish (see Reverse-Proxy Cache Servers in the Manual).
Upgrading from CacheFu, versions 1.0 - 1.1.1:
- Copy CacheSetup, PageCacheManager, CMFSquidTool, and PolicyHTTPCacheManager into your Products directory.
- Restart Zope.
- Click on the reinstall
link next to the CacheSetup product in the Plone "Add/Remove Products"
page.
- Note: A reinstall keeps your old pre-1.1 configuration in a Cache Policy named "Old Cache Policy". Any other cache policies with ids that conflict with the new ones will be backed up and relabeled appropriately.
- Optional: Configure via the "Cache Configuration Tool" (see Configuring CacheFu in the CacheFu Manual).
- Optional: Install Squid or Varnish (see Reverse-Proxy Cache Servers in the CacheFu Manual).
Upgrading from a pre-1.0 version of Cachefu:
- Uninstall your existing CacheSetup and CMFSquidTool via the Plone "Add/Remove Products" page.
- Continue with the instructions for a "first time" install above.
Extras
Config files for Squid, Varnish, and Apache can be found in the 'cachefu-proxy-configs' directory.
There is also a Squid buildout recipe at http://pypi.python.org/pypi/plone.recipe.squid and a Varnish buildout recipe at http://pypi.python.org/pypi/plone.recipe.varnish
Change log
CacheFu 1.1.2
- Release manager: Ricardo Newbery, ric@digitalmarbles.com. Compatible with: Plone 3.0 and Plone 2.5+
- Removed some deprecated tests. [newbery]
- Synced up the squid and varnish configs with the changes in plone.recipe.squid and plone.recipe.varnish. Mostly removed the special handling of cookie-authenticated requests and in the varnish case, added some handling of cache-control tokens. [newbery]
- Added a default_ttl of zero seconds to the varnish runner. [newbery]
- Unauthorized requests now do not trigger a full CacheFu disable. CacheFu is still disabled but no objects are actually removed. A temporary fix for http://plone.org/products/cachefu/issues/134 [newbery]
- Removed no-cache from the default cache policies and added a warning to the noCache and noStore fields about the IE/SSL bug. Fixes http://plone.org/products/cachefu/issues/117 [newbery]
- Fixed reordering UI. http://plone.org/products/cachefu/issues/131 [newbery]
- Removed lazy expression cleanup routine since we don't do macro caching anymore. [newbery]
- Fixed UnicodeDecodeError in PT_pt_render(). http://plone.org/products/cachefu/issues/126 [newbery]
- Fixed rewritePurgeUrls.py. Was referencing the method before its definition. [newbery]
- Cleaned up the descriptions of some cache rules. [newbery]
- Removed RSS from the container rule since we do this in a separate rule now. [newbery]
- Fixed typo in getHeaderSetIdForCSSAndJs.py which would throw an error if still using the old cache policy (pre-1.1.1). [newbery]