{ "info": { "author": "Nathan Van Gheem", "author_email": "vangheem@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Plone :: 4.0", "Framework :: Plone :: 4.1", "Framework :: Plone :: 4.2", "Framework :: Plone :: 4.3", "Framework :: Plone :: 5.0", "Programming Language :: Python" ], "description": "Introduction\r\n============\r\n\r\nThis package provides a mechanism to easily have clients set to\r\nwork with readonly.\r\n\r\nThis is mostly useful for preventing ReadOnlyError from cropping up\r\nfrom write on read operations for a public read only site.\r\n\r\n\r\nWarning\r\n-------\r\n\r\nAlso make sure to set your zeo client zope.conf `read-only true` setting::\r\n\r\n \r\n \r\n ...\r\n read-only true\r\n ...\r\n \r\n \r\n\r\n\r\nTo make this work along with buildout, use the `read-only` recipe config option.\r\nAlso, make sure to disable product installation in your client configuration,\r\notherwise you'll get errors on startup. Make sure to use\r\nplone.app.zeoclient >= 4.2.12 as it includes the read-only config option::\r\n\r\n [client1]\r\n recipe = plone.recipe.zope2instance\r\n ...\r\n read-only = true\r\n enable-product-installation = off\r\n ...\r\n\r\n\r\nUsage\r\n-----\r\n\r\nAbort all transactions\r\n~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nAborts transaction on IPubBeforeCommit event.\r\n\r\nAdd this to the zcml-additional option for your client::\r\n\r\n [client1]\r\n recipe = plone.recipe.zope2instance\r\n ...\r\n zcml-additional =\r\n \r\n ...\r\n\r\n\r\nDoom all transactions\r\n~~~~~~~~~~~~~~~~~~~~~\r\n\r\nDooms the transaction on the IPubAfterTraversal event.\r\n\r\nAdd this to the zcml-additional option for your client::\r\n\r\n [client1]\r\n recipe = plone.recipe.zope2instance\r\n ...\r\n zcml-additional =\r\n \r\n ...\r\n\r\n\r\nConditionally abort transactions\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nUseful when aborting all transactions prevents emails from getting sent out.\r\nFor instance, if you're using PloneFormGen in your setup, dooming and aborting\r\nwill prevent mail from getting sent.\r\n\r\nAdd this to the zcml-additional option for your client::\r\n\r\n [client1]\r\n recipe = plone.recipe.zope2instance\r\n ...\r\n zcml-additional =\r\n \r\n ...\r\n\r\n\r\nHandling sending mail\r\n~~~~~~~~~~~~~~~~~~~~~\r\n\r\nSince mail is tied to transaction management, aborting all transactions will\r\nalso prevent sending mail on the site.\r\n\r\nAdd this to the zcml-additional option for your client::\r\n\r\n [client1]\r\n recipe = plone.recipe.zope2instance\r\n ...\r\n zcml-additional =\r\n \r\n ...\r\n\r\nChangelog\r\n=========\r\n\r\n1.0 (2014-02-26)\r\n----------------\r\n\r\n- be able to patch mail host to still send out emails\r\n\r\n1.0a2 (2012-07-29)\r\n------------------\r\n\r\n- fix packaging\r\n\r\n1.0a1 (2012-06-14)\r\n------------------\r\n\r\n- Initial release", "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/wildcard.readonly", "keywords": "", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "wildcard.readonly", "package_url": "https://pypi.org/project/wildcard.readonly/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/wildcard.readonly/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/collective/wildcard.readonly" }, "release_url": "https://pypi.org/project/wildcard.readonly/1.0/", "requires_dist": null, "requires_python": null, "summary": "Easily setup readonly zeo clients", "version": "1.0" }, "last_serial": 2803693, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "44c2f5a62749a7496799421b789e5108", "sha256": "af5e4191343fe569e85d9160ea9bf7166547b4cf3f375156757b8c83d27cb472" }, "downloads": -1, "filename": "wildcard.readonly-1.0.zip", "has_sig": false, "md5_digest": "44c2f5a62749a7496799421b789e5108", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19951, "upload_time": "2014-02-27T14:21:15", "url": "https://files.pythonhosted.org/packages/0a/3c/9a9395dfd57626d374251f0db99340fcf7d65995b81802c8bb3bb5859924/wildcard.readonly-1.0.zip" } ], "1.0a1": [ { "comment_text": "", "digests": { "md5": "14d87e08a077deedb3532846101b08df", "sha256": "dc78d5f766e432f922093eb5772b2372ab11a32d6a531147d6015c6d0eb44333" }, "downloads": -1, "filename": "wildcard.readonly-1.0a1.zip", "has_sig": false, "md5_digest": "14d87e08a077deedb3532846101b08df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7169, "upload_time": "2012-06-14T20:04:37", "url": "https://files.pythonhosted.org/packages/fe/9f/1e71cd03df2151dcc5bf7dd01a0bd322286a530c49f7ca2b90b90eef1e60/wildcard.readonly-1.0a1.zip" } ], "1.0a2": [ { "comment_text": "", "digests": { "md5": "1d50be7d7884b4f63893950545e92863", "sha256": "ada45c7d55fab0689b63b961385c164182918c376c894a4bc725b365dc1dde65" }, "downloads": -1, "filename": "wildcard.readonly-1.0a2.zip", "has_sig": false, "md5_digest": "1d50be7d7884b4f63893950545e92863", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17836, "upload_time": "2012-07-29T09:42:21", "url": "https://files.pythonhosted.org/packages/d2/50/5a7bb76311973100bd2e6518b3f9c029828d9c9a7f7fccf2d2f510eced0f/wildcard.readonly-1.0a2.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "44c2f5a62749a7496799421b789e5108", "sha256": "af5e4191343fe569e85d9160ea9bf7166547b4cf3f375156757b8c83d27cb472" }, "downloads": -1, "filename": "wildcard.readonly-1.0.zip", "has_sig": false, "md5_digest": "44c2f5a62749a7496799421b789e5108", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19951, "upload_time": "2014-02-27T14:21:15", "url": "https://files.pythonhosted.org/packages/0a/3c/9a9395dfd57626d374251f0db99340fcf7d65995b81802c8bb3bb5859924/wildcard.readonly-1.0.zip" } ] }