{ "info": { "author": "eleddy", "author_email": "elizabeth.leddy@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python" ], "description": "============\nIntroduction\n============\n\nA set of behaviors that are assignable to custom dexterity types for complex system setups. Assign the behavior\nto a specific type to have it purge parents, children, siblings, or site root each time it is edited. This is \nan advanced product, so please do not use unless you fully understand the implications of caching.\n\nNOTE: The purge behaviors are additive. If you purge something that has a purge behavior on it, it will be\ntriggered. If you are not careful, this could end in an infinite loop (e.g. purging parents on and item \nthat purges siblings). There is no support to stop this use case at the moment. If someone wanted to add this, \nit would be very awesome of you. Otherwise, this will manifest as a max recursion error. \n\n\nUsage\n-----\n\nTo use, add collective.purge_behaviors to the list of eggs in your plone site and then activate the behavior\nin the dexterity control panel for the type that should exhibit the purge behavior. \n\nHINT: If these instructions don't make sense to you, you shouldn't be using this product.\n\n\nPurge Behaviors\n---------------\n\nThis package provides 4 different kinds of purge behaviors. They are all triggered when an item is\nedited, NOT when they are added for the first time. \n\n*Parents*: When this item is edited, purge its parents, one level up. This calls the adapter for each parent\nso if the parents have the purge parent enabled as well, then it will keep going up the chain. This would be\nideal for a situation where you have a folder view that you want to aggressively cache, and anytime you add \na new item to the folder you want that cache to be cleared. Think: news items.\n\n*Siblings*: When this item is edited, purge anything in the same folder as the item. If those items have \npurge behaviors as well, they will be persisted. This is ideal for a custom view that lists the contents of\na parent folder in a portlet or something of that nature. Think: portlet and folder listings.\n\n*Contents*: When this item is edited, purge anything it is containing. If that item is not folderish (that \nis, it implements IFolderish) then it will be bypassed for your safety. This is ideal for a custom view on \nthe contents of a folder that rely on properties from the containing folder.\n\n*Site Root*: When this item is edited, purge the site root. This is ideal for editing items that affect a \nfront page display. For example, you add a custom donor type and there is a view on the front page that \nlists new donors. This will purge the plain views and the folder_listing of root.\nChangelog\n=========\n\n0.2 (Unreleased)\n----------------\n \n\n0.1 (2013-08-12)\n----------------\n\n- Initial release.\n [eleddy]\n\n\ncollective.purge_behaviors Copyright (c) 2012, eleddy\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions\nare met:\n1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n3. The name of the author may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR\nIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\nIN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\nNOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\nTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/collective/collective.purge_behaviors", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "collective.purge_behaviors", "package_url": "https://pypi.org/project/collective.purge_behaviors/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.purge_behaviors/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/collective/collective.purge_behaviors" }, "release_url": "https://pypi.org/project/collective.purge_behaviors/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "A set of dexterity behaviors for Plone that are assignable to custom dexterity types for complex system setups", "version": "0.1.1" }, "last_serial": 839434, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "c537c2bde069768019031b83dacc3ceb", "sha256": "d2c32d6c23956f3954369c90fa24b08d744a4262714cf9ab6d42a820ace8fe8b" }, "downloads": -1, "filename": "collective.purge_behaviors-0.1.tar.gz", "has_sig": false, "md5_digest": "c537c2bde069768019031b83dacc3ceb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9404, "upload_time": "2013-08-13T22:31:13", "url": "https://files.pythonhosted.org/packages/2c/ce/f777fa0f7e2f40c00de150f69268a73e3366550c44e8d79e06c4d4aee5b8/collective.purge_behaviors-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6f3e039e240937438bbb355195bc0855", "sha256": "41590da72b14840d18913429c24e346376901e2034a452ead482e4f8b7b37af1" }, "downloads": -1, "filename": "collective.purge_behaviors-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6f3e039e240937438bbb355195bc0855", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9404, "upload_time": "2013-08-13T22:42:08", "url": "https://files.pythonhosted.org/packages/08/4b/4328de7f8c211c16c4be12cfa0ca65a283e1b980e910783078100aac98e8/collective.purge_behaviors-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6f3e039e240937438bbb355195bc0855", "sha256": "41590da72b14840d18913429c24e346376901e2034a452ead482e4f8b7b37af1" }, "downloads": -1, "filename": "collective.purge_behaviors-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6f3e039e240937438bbb355195bc0855", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9404, "upload_time": "2013-08-13T22:42:08", "url": "https://files.pythonhosted.org/packages/08/4b/4328de7f8c211c16c4be12cfa0ca65a283e1b980e910783078100aac98e8/collective.purge_behaviors-0.1.1.tar.gz" } ] }