Metadata-Version: 1.0
Name: Products.CacheSetup
Version: 1.2.1
Summary: Control caching of Plone sites
Home-page: http://svn.plone.org/svn/collective/Products.CacheSetup
Author: Geoff Davis
Author-email: plone-developers@lists.sourceforge.net
License: ZPL
Description: Introduction
        ============
        
        CacheFu speeds up Plone sites transparently using a combination
        of memory, proxy, and browser caching. Can be used by itself or
        with Squid, Varnish, and/or Apache. Once installed, your site
        should run much faster (about 10x faster by itself or
        about 50x faster with Squid).
        
        CacheFu is a collection of products and recipes.  The central
        product is ``Products.CacheSetup`` which when installed via
        easy_install or buildout takes care of pulling in the rest of
        the products from the bundle.
        
        The full bundle includes:
        
        * http://pypi.python.org/pypi/Products.CacheSetup
        
        * http://pypi.python.org/pypi/Products.CMFSquidTool
        
        * http://pypi.python.org/pypi/Products.PageCacheManager
        
        * http://pypi.python.org/pypi/Products.PolicyHTTPCacheManager
        
        Additional optional components include some Squid, Varnish, and
        Apache configuration helpers.  See the installation instructions
        for more info about these.
        
        The latest information about releases can be found at
        http://plone.org/products/cachefu
        
        CacheFu has been tested with Plone 2.5+ and Plone 3.0.
        For earlier Plone versions, try the CacheFu 1.0.3 bundle
        instead.
        
        
        Products.CacheSetup Installation
        ================================
        
        ``Products.CacheSetup`` is the python egg version of the old
        ``CacheSetup`` product.  The egg version automatically takes
        care of installing all the dependancies that make up the
        CacheFu bundle.  However, the proxy cache configs must
        still be downloaded and configured separately.
        
        References to the "Manual" below refer to the new CacheFu
        manual nearing completion as of this release.  Visit the
        official CacheFu site, http://plone.org/products/cachefu,
        for the latest instructions.
        
        There are three options for installation, and then some
        post-installation steps:
        
        
        (1) Global Install
        ------------------
        
        To install ``Products.CacheSetup`` into the global Python
        environment (or a workingenv) using a traditional Zope 2
        instance:
        
        * Run ``easy_install Products.CacheSetup``.
        Find out how to install setuptools (and EasyInstall) here:
        http://peak.telecommunity.com/DevCenter/EasyInstall
        
        * If you are using Zope 2.9 (not 2.10), get `pythonproducts`_
        and install it into your Zope instance via::
        
        python setup.py install --home /path/to/instance
        
        .. _pythonproducts: http://plone.org/products/pythonproducts
        
        
        (2) Local Install (standard buildout install)
        ---------------------------------------------
        
        To install ``Products.CacheSetup`` into the local zope instance
        if you are using ``zc.buildout`` and the ``plone.recipe.zope2instance``
        recipe to manage your project:
        
        * Add ``Products.CacheSetup`` to the list of eggs to
        install::
        
        [buildout]
        ...
        eggs =
        ...
        Products.CacheSetup
        
        * Re-run buildout::
        
        $ ./bin/buildout
        
        
        (3) Local Install (old style Product install)
        ---------------------------------------------
        
        Because its top level python namespace package is called
        ``Products``, this package can also be installed in Zope 2
        as an old style *Zope 2 Product*.
        
        For an old style Product install, move (or symlink) the
        ``CacheSetup`` folder of this project
        (``Products.CacheSetup/Products/CacheSetup``) into the
        ``Products`` directory of the Zope instance, and restart
        the server.
        
        Note that in this case, dependancies are not automatically
        installed so you will have to repeat this process for
        the rest of the CacheFu bundle: ``Products.CMFSquidTool``,
        ``Products.PageCacheManager``, and ``Products.PolicyHTTPCacheManager``.
        
        
        Post-Installation Steps
        -----------------------
        
        If installing for the first time:
        
        * After starting up Zope, install the CacheSetup product
        via the Plone "Add/Remove Products" page
        
        * Optional: Configure via the "Cache Configuration Tool"
        (see "Configuring CacheFu" in the Manual)
        
        * Optional: Install and configure Squid or Varnish
        (see below)
        
        
        If upgrading from a pre-1.2 version:
        
        * Remove the previous version from the Products
        directory of the instance.  ``CacheSetup``, ``CMFSquidTool``,
        ``PageCacheManager``, and ``PolicyHTTPCacheManager`` have all
        been replaced by ``Products.CacheSetup``, ``Products.CMFSquidTool``,
        etc.  If CacheFu was previously installed in a buildout
        via ``plone.recipe.distros``, then remove the old CacheFu
        settings from this section and re-run buildout.
        
        * 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 Manual)
        
        * Optional: Install and configure Squid or Varnish
        (see below)
        
        * IMPORTANT: There is no upgrade path from the pre-1.0
        versions of CacheFu.  In this case, the old CacheFu
        products should be completely uninstalled via the Plone
        "Add/Remove Products" page and then deleted from the
        Products directory of the instance BEFORE installing
        the new version.
        
        
        Proxy Cache Installation and Configuration
        ------------------------------------------
        
        Buildout recipes for building and configuring Squid, Varnish,
        and Apache are available:
        
        * http://pypi.python.org/pypi/plone.recipe.squid
        
        * http://pypi.python.org/pypi/plone.recipe.varnish
        
        * http://pypi.python.org/pypi/plone.recipe.apache
        
        Previously, the CacheFu bundle also included a collection of
        auto-generated proxy configs for Squid, Varnish, and Apache.
        Starting with version 1.2, this collection is now maintained
        as a separate download found at http://plone.org/products/cachefu
        
        
        
        Changelog
        =========
        
        Changelog for the current CacheFu release.  For a history of changes
        prior to this release, see docs/HISTORY.txt
        
        
        1.2.1 - released 2009-05-17
        ---------------------------
        
        Release manager:
        Ricardo Newbery, ric@digitalmarbles.com
        Compatible with:
        Plone 3.2, 3.1, 3.0, and 2.5
        
        - Convert view name to string type before looking up matching cache rules.
        Also fix up base_cache_rule._associateTemplate to ignore NotFound errors.
        Thanks to Silvio Tomatis for the report.
        [newbery]
        
        - Fixed a Plone 2.5 incompatibility in exportimport/atcontent.py.
        Thanks to Kai Lautaportti for the patch.
        [newbery]
        
        - Added a workaround to fix creating GenericSetup snapshots.
        [rossp]
        
        - Added at_download purge URLs for files and images.  Fixes a problem
        with stale file downloads.
        [rossp]
        
        - Changed over to a "version-less" naming of policies to make GenericSetup
        updates more sane.
        [newbery]
        
        - Don't throw an error in Plone 2.5 if all the 'folder_buttons' actions
        have been deleted/hidden.  That's an odd configuration since it makes
        folder_contents views useless but we should still not throw an error.
        Fixes http://plone.org/products/cachefu/issues/141
        [newbery]
        
        - Fixed a bug where Accept-Encoding was showing up twice in the Vary
        header.  Also made setVaryHeader a bit smarter about what values
        are required so instead of throwing a validation error we now just
        quietly fix the obvious omissions.
        [newbery]
        
        - Added a free-form, syntax-checked field to the list of headers
        that a headerset can apply.  We now support surrogate cache control.
        [newbery]
        
        - A CMFQuickInstaller uninstall/install after a GenericSetup install
        appears broken somehow. It's as if GS-installed tools do not get
        properly unregistered by QI (this is unconfirmed), but oddly a zope
        restart after a QI uninstall fixes this.  But if a restart is not done,
        one consequence is that setTitle never gets called because getToolByName
        says the cachetool exists already.  Since title is a required field
        but hidden in the edit form, this makes it impossible to enable CacheFu.
        QI is going away soon anyway so we punt on this bug and just call
        setTitle unconditionally.
        [newbery]
        
        - Added missing workflow binding for CachePolicy entry in the
        GenericSetup workflow.xml settings.
        [newbery]
        
        - Added missing title for RuleFolder/HeaderSetFolder entries in the
        GenericSetup cache settings.
        [newbery]
        
        - Fixed a GS setuphandlers issue where importing ObjectInitializedEvent
        breaks in Plone 2.5.  Thanks to Kai Lautaportti for the report.
        [newbery]
        
        - Fixed a boolean issue seen in Plone 2.5 where setEnabled() fails due
        to an inappropriate type comparison.  Thanks to Kai Lautaportti for
        the report.  Fixes http://plone.org/products/cachefu/issues/143
        [newbery]
        
        - Fixed up the version checking.  We now no longer rely on quickinstaller
        to keep track of the installed version since qi is unreliable on
        product path changes and during some GS installs.  We also now no
        longer do a "full" disable during version mismatches -- we don't need
        need to anymore since everything now respects the 'enabled' flag.
        [newbery]
        
        - Fixed up the CacheFu Caching Policy Manager so that it respects the
        CacheSetup 'enabled' field.  We don't have to delete this tool now
        in order to turn off caching behavior.
        [newbery]
        
        - Use the FasterStringIO from CMFPlone/patches/unicodehacks instead of the
        standard StringIO to avoid issues due to a mix of strings and unicode.
        [fschulze]
        
        - Improve the GenericSetup export code:
        
        - Also export the title field for header and rule sets.
        - PolicyHTTPCacheManagerCacheRule also needs the basic header set fields.
        - Import sub-items before importing the object itself so references
        work correctly.
        
        [wichert]
        
        - Add missing title for entries in the GenericSetup cache settings.
        [wichert]
        
        
        - If we silently ignore the 'enable CacheFu' option when the user is changing
        the cache tool settings show a very clear warning.
        [wichert]
        
        - Fixed two return values in patch_cmf.py. In Plone 3 you need to return
        Unicode all the time. Otherwise PageTemplate files in the ZODB would generate
        an assertion error in pt_render, complaining about the empty string not being
        Unicode.
        [hannosch]
        
        - Add a vocabulary which lists all header sets.
        [wichert]
        
        
Keywords: cache caching
Platform: UNKNOWN
Classifier: Framework :: Plone
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
