{ "info": { "author": "Andrey Tkachenko", "author_email": "falko.lab@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Zope3", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP" ], "description": "This package provides new flexible zcml directive to inserts a computed by \r\ncontent version info (hash, crc32 or versionfile) into the resource's URL, \r\nso the URL changes whenever the contents change, thereby forcing a browser to \r\nupdate its cache.\r\n\r\n==================================\r\nCache Burster for Zope 3/BlueBream\r\n==================================\r\n\r\nThis package contains the `IVersionedResourceLayer` layer. This layer supports \r\na correct set of component registration and can be used for inheritation in \r\ncustom skins.\r\n\r\nTesting\r\n-------\r\n\r\nFor testing the Cache Burster we use the testing skin defined in the tests \r\npackage which uses the `IVersionedResourceLayer` layer as the only base layer. \r\nThis means, that our testing skin provides only the views defined in the minimal \r\npackage and it's testing views defined in tests.\r\n\r\nLogin as manager first:\r\n\r\n >>> from zope.testbrowser.testing import Browser\r\n >>> browser = Browser()\r\n >>> browser.addHeader('Authorization', 'Basic mgr:mgrpw')\r\n \r\nWe have page template file that looks as:\r\n \r\n >>> print getTemplateContent('page.pt')\r\n
\r\n \r\n