{ "info": { "author": "Andreas Gabriel", "author_email": "gabriel@hrz.uni-marbug.de", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\n============\n\nTemplateCacheManager is designed to speed up access to content views\nwhile at the same time making sure that stale content is not served\nup. TemplateCacheManager is derived from PageCacheManager.\n\n\nDifferences beetween TemplateCacheManager and PageCacheManager\n==============================================================\n\nTemplateCacheManager \n\n - is independent of the CacheSetup product. \n\n - returns also the ETag to the clients, supports therefore cascading and\n and multiple ETag caching. Client, Proxy (e.g. Squid) and TemplateCacheManager \n can therefore cache individual views of content including header information.\n\n - generates statistic reports\n\n\n\nInstallation\n============\n\nTemplateCacheManager is designed specifically for caching views of content\nobjects. Unlike RAMCacheManager, TemplateCacheManager caches both the\nhtml generated by a view as well as the HTTP headers.\n\nTemplateCacheManager builds upon Zope's standard cache manager machinery. \nAs with RAMCacheManager, you associate some page templates with the cache \nmanager and configure the properties. TemplateCacheManager requires an\nextra step: content to be cached must generate an ETag via a caching\npolicy. TemplateCacheManager looks for a CachingPolicyManager with id\ncaching_policy_manager. If it finds it, it then gets an ETag for the\ncurrent template + content object combination. This ETag is then used\nas the index into the cache. If you don't have an ETag generated for\nyour content, your pages will not be cached.\n\nIf you create an ETag that changes when the content is changed, then\nthe content served up by the cache will stay fresh. There will be a \ncache miss the first time the page is hit after the ETag changes, then\nsubsequent hits to the newly modified content view will reflect the new\nversion. If your content view is personalized, you will want your ETag\nto vary depending on the current user. A good ETag with these properties\nis as follows (s. INSTALL.txt in examples directory):\n\n ETag = id of currently authenticated user + delimiter + last modified time\n for content + delimiter + current time rounded to the nearest hour\n\nThe use of the id in the ETag means that every user's view of a content\nobject will have a different ETag, so everybody will get different\ncached objects. The use of the modification time means that every time\nthe content object changes, it will generate different ETags and hence\nwill result in new copies being pulled from the cache. The use of\nthe current time rounded to the nearest hour means that nothing will be\nserved up by the cache for more than an hour.\n\nAdded bonus: \n\nTemplateCacheManager handles conditional GETs be configured by\nCachingPolicyManager. If the incoming request has an If-None-Match\nheader with an ETag that matches the content object's current ETag,\nTemplateCacheManager will set a status 304 header (Not Modified) and\nwill only return the matching ETag instead of the content. This\nfeature is needed if you are using a proxy with ETag support\n(e.g. squid), which can cache and handle multiple views of content \nindexed by ETag and Vary header.\n\nInformation about ETags\n=======================\n\nBasic info:\n\nhttp://devel.squid-cache.org/etag/etag-header.html\n\nMultiple ETag bug of squid 2.x (patch included):\n\nhttp://www.squid-cache.org/bugs/show_bug.cgi?id=2112\nhttp://www.squid-cache.org/bugs/attachment.cgi?id=1504\n\nFri, 04 Jul 2008 23:46:54 +0200\nConfiguration example added (s. examples/INSTALL.txt)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://svn.plone.org/svn/collective/Products.TemplateCacheManager", "keywords": "caching zope CMF", "license": "ZPL", "maintainer": null, "maintainer_email": null, "name": "Products.TemplateCacheManager", "package_url": "https://pypi.org/project/Products.TemplateCacheManager/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Products.TemplateCacheManager/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://svn.plone.org/svn/collective/Products.TemplateCacheManager" }, "release_url": "https://pypi.org/project/Products.TemplateCacheManager/0.1dev-r67896/", "requires_dist": null, "requires_python": null, "summary": "Cache rendered pages including headers with ETag support", "version": "0.1dev-r67896" }, "last_serial": 785132, "releases": { "0.1dev-r67782": [ { "comment_text": "", "digests": { "md5": "38d92d5fa252e6832a506cdbdd0a659c", "sha256": "b64dfbd41a0f9c662dcb5ae4a25c6998b4496290d7ce550769acaee2f7961585" }, "downloads": -1, "filename": "Products.TemplateCacheManager-0.1dev_r67782-py2.4.egg", "has_sig": false, "md5_digest": "38d92d5fa252e6832a506cdbdd0a659c", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 26484, "upload_time": "2008-07-03T22:55:50", "url": "https://files.pythonhosted.org/packages/80/17/67326e7254de99c96f9f029a96656bebbafc227dda93c2c8831a20872993/Products.TemplateCacheManager-0.1dev_r67782-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "8a20d53622644191c6a291546b392269", "sha256": "d46f5187331edbee1f43ed9770ea6c8dfdf0674915ba92f8bf0e8eef5cfaa274" }, "downloads": -1, "filename": "Products.TemplateCacheManager-0.1dev-r67782.tar.gz", "has_sig": false, "md5_digest": "8a20d53622644191c6a291546b392269", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15221, "upload_time": "2008-07-03T22:56:01", "url": "https://files.pythonhosted.org/packages/82/d7/e2822ee547e68a66d3f2001895dc583b17490a838a95406575a498728475/Products.TemplateCacheManager-0.1dev-r67782.tar.gz" } ], "0.1dev-r67816": [ { "comment_text": "", "digests": { "md5": "66cca34f5d7ff62cc1f8d44bba6004e4", "sha256": "33c699acf40a61e5b631ea8b00ef061de5afc4c37ea6099f1c2f94d0ca8a5c12" }, "downloads": -1, "filename": "Products.TemplateCacheManager-0.1dev_r67816-py2.4.egg", "has_sig": false, "md5_digest": "66cca34f5d7ff62cc1f8d44bba6004e4", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 27714, "upload_time": "2008-07-04T11:55:36", "url": "https://files.pythonhosted.org/packages/63/df/71118681d5bffb1c56375debc88c979c4ad0d2f7b2cc4c2fcea9ad1c031c/Products.TemplateCacheManager-0.1dev_r67816-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "f295a70b35002b40faea7e7eda7b93c6", "sha256": "7ced427b24d85c0c29f9157bbf82543deb526aa75cddebd8c9317901aad0ef1b" }, "downloads": -1, "filename": "Products.TemplateCacheManager-0.1dev-r67816.tar.gz", "has_sig": false, "md5_digest": "f295a70b35002b40faea7e7eda7b93c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16221, "upload_time": "2008-07-04T11:55:42", "url": "https://files.pythonhosted.org/packages/64/fd/bafa112837a2abcf6ba7e5d9c6511b3736c6ca7de65c9522663d53ddaeed/Products.TemplateCacheManager-0.1dev-r67816.tar.gz" } ], "0.1dev-r67896": [ { "comment_text": "", "digests": { "md5": "e9edeb67f43dde714af2edba7d985d24", "sha256": "6cf7e9f1832548cfd89380230cd6b89a5261bac6771abdefb1bedc90ddfc8448" }, "downloads": -1, "filename": "Products.TemplateCacheManager-0.1dev_r67896-py2.4.egg", "has_sig": false, "md5_digest": "e9edeb67f43dde714af2edba7d985d24", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 27761, "upload_time": "2008-07-04T21:52:45", "url": "https://files.pythonhosted.org/packages/6f/75/9519fbb1e1c136cdde1916dde186d0dd0d9b7bcc0f3cab0ef2e6be687c9d/Products.TemplateCacheManager-0.1dev_r67896-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "1a06f4b4d2aa43f32168d25b54ce7d5c", "sha256": "ceac82ab57604f3407c349d5b4c1d61a91b8a7d183791b6199d3597e3f7ae115" }, "downloads": -1, "filename": "Products.TemplateCacheManager-0.1dev-r67896.tar.gz", "has_sig": false, "md5_digest": "1a06f4b4d2aa43f32168d25b54ce7d5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15140, "upload_time": "2008-07-04T21:52:31", "url": "https://files.pythonhosted.org/packages/de/5e/0078162079523be8903fd0eee0b946c51b8d812fe4f46f947f6cf87c331b/Products.TemplateCacheManager-0.1dev-r67896.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e9edeb67f43dde714af2edba7d985d24", "sha256": "6cf7e9f1832548cfd89380230cd6b89a5261bac6771abdefb1bedc90ddfc8448" }, "downloads": -1, "filename": "Products.TemplateCacheManager-0.1dev_r67896-py2.4.egg", "has_sig": false, "md5_digest": "e9edeb67f43dde714af2edba7d985d24", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 27761, "upload_time": "2008-07-04T21:52:45", "url": "https://files.pythonhosted.org/packages/6f/75/9519fbb1e1c136cdde1916dde186d0dd0d9b7bcc0f3cab0ef2e6be687c9d/Products.TemplateCacheManager-0.1dev_r67896-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "1a06f4b4d2aa43f32168d25b54ce7d5c", "sha256": "ceac82ab57604f3407c349d5b4c1d61a91b8a7d183791b6199d3597e3f7ae115" }, "downloads": -1, "filename": "Products.TemplateCacheManager-0.1dev-r67896.tar.gz", "has_sig": false, "md5_digest": "1a06f4b4d2aa43f32168d25b54ce7d5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15140, "upload_time": "2008-07-04T21:52:31", "url": "https://files.pythonhosted.org/packages/de/5e/0078162079523be8903fd0eee0b946c51b8d812fe4f46f947f6cf87c331b/Products.TemplateCacheManager-0.1dev-r67896.tar.gz" } ] }