CacheFu 1.1
Up to Product page
For additional information about this project, please visit the
project page.
Available downloads
Release Notes
| Tested with | Plone 3.0, Plone 2.5 |
|---|---|
| State | Final release |
| License | GPL |
| Release Manager | Ricardo Newbery |
| Released | 2007/08/16 |
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, or Varnish-behind-Apache (if you are using 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 has been tested on Plone 3.0 and Plone 2.5.3. May also work with other 2.5.x versions but these haven't been rigorously tested.
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.0.3, and retaining current configuration:
- 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 configuration in a Cache Policy named "Old Cache Policy".
- 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.
Feature enhancements in this release
The following features are associated with this release:
- #1: Expand support for Squid configuration generation
- Support for optional features in squid.conf should be added / expanded.
Change log
CacheFu 1.1
- Added an INSTALL.txt [newbery]
- Fixed http://plone.org/products/cachefu/issues/69 [newbery]
- Applied patch from http://plone.org/products/cachefu/issues/57 [newbery]
- Removed CacheSetup content items from catalog [newbery]
- Unadvertised the GenericSetup profile since it's currently broken [newbery]
- Archived some old docs and updated a couple [newbery]
- Added cache policies framework (and some alternative policies) [newbery]
- Added subscription adapters: getRelativeUrls, getAbsoluteUrls [wichert]
- Overhauled and simplified Squid configs [newbery]
- Added Varnish configs [newbery]
- Added a bunch of tests [hvelarde]
- Refactored Install.py [hvelarde]
- Removed CookierCrumbler setup since it's deprecated in Plone 2.5 [hvelarde]
- Consolidated interfaces. Both old style and new. Will convert all to new style in next release. [newbery]
- Made 'ids' visible in the UI to ease diagnostics of response headers [newbery]
- Fixed potential cross-site vulnerabilty, http://plone.org/products/cachefu/issues/88 [newbery]
- Added a customizable rewritePurgeUrls.py [newbery]
- Added 'enabler.py' module. An "off" switch. [newbery]
- Fixed caching of Zope 3 views for Plone 2.5 [rafrombrc]
- Added caching of Zope 3 views for Plone 3.0 [optilude]
- Fixed template when in Plone 3 to use deprecated old_folder_contents [optilude]
- Added getFolderButtons.py since folder_button actions are not available as global actions in Plone 3 [newbery]
- Install.py now removes the old unused 'cached_macros' folder during upgrade [newbery]
- Added lastDate() and getLastTransactionDate() functions for better Last-Modified dates [newbery]
- Added an aliases lookup, to find the default view for objects. Fixes caching for PloneHelpCenter types [wichert]
- Added invalidation of file and image fields in content objects [wichert]
- Added some acquisition safety to getRelativeUrlsToPurge in content_cache_rule.py [wichert]
- Added invalidation of content item instead of discussion item [wichert]
- Added 'statusmessages' to 'cachestop' items [reinout]
- Added a check for installed types in installation test in preparation for migration to GS [tomster]
- Removed macro caching code (which doesn't work in v2.5-v3.0) [tomster]
- Fixed bailout when encountering "views" [fschulze]
- Added more stuff to GS profiles [fschulze]
- Merged misc. fixes from sorrento branch [fschulze, reinout, mdziergwa]
- Fixed some bugs in old-style squid configs [justizin]
- Fixed potential AttributeError with getObjectDefaultView in base_cache_rule.py [alecm]
- Updated imports for new Zope [tesdal]
- Fixed fields using StringField when they should be using TextField [witsch]
- Fixed some functional tests in "/tests/cache_manager.txt" and "/tests/test_doctests.py" [witsch]
- Fixed login_form name in /tests/test_functional.py [tesdal]
- Fixed patch_cmf.py so tests work in Plone 3 [tesdal]
- Fixed traceback in patch_cmf.py [tesdal]
- Release manager: Ricardo Newbery, ric@digitalmarbles.com
- Compatible with: Plone 3.0 and Plone 2.5.3
For older change notes, see http://plone.org/products/cachefu/releases/1.0.3