{ "info": { "author": "Danilo G. Botelho", "author_email": "danilogbotelho@yahoo.com", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\r\n============\r\n\r\nContent rules are a powerfull feature in Plone 3. But create a filesystem product for every single little action\r\nwe'd like to perform seems a little overkill. To help those integrators and administrators out there, RunScript \r\nbrings the ability to register a condition that once matched will perform whatever the action you state in a \r\nscript configured in the Rule configuration form.\r\n\r\nJust to meet a few use cases, the product brings a some sample scripts that might come in handy:\r\n\r\ntag_after_parent\r\n\r\n Adds the parent's title as a tag to the item (appends to the subject field).\r\n E.g.::\r\n \r\n Given the structure: Plone/Folder1/Folder2/Folder3/object\r\n >> object.Subject()\r\n ()\r\n After Plone/Folder1/Folder2/Folder3/object/tag_after_parent\r\n >> object.Subject()\r\n ('Folder3',)\r\n \r\n\r\ntag_after_parents\r\n Conditionally adds parent's title as tags to the item (appends to the subject field).\r\n Recursively tests whether title_as_tag property is set on each part of the object's parent's path and adds that \r\n part's title as a tag on the object.\r\n E.g.:: \r\n \r\n Given the structure: Plone/Folder1/Folder2/Folder3/object\r\n Plone.title_as_tag is undefined\r\n Folder1.title_as_tag is False\r\n Folder2.title_as_tag is True\r\n Folder3.title_as_tag is True\r\n >> object.Subject()\r\n ()\r\n After Plone/Folder1/Folder2/Folder3/object/tag_after_parents \r\n >> object.Subject()\r\n ('Folder2','Folder3')\r\n\r\nset_property\r\n Adds a new property to the context object or just sets an existing one.\r\n Types must be the same in the latter case.\r\n Parameters are name,value,type.\r\n E.g.::\r\n \r\n Given the structure: Plone/Folder1/Folder2/Folder3\r\n After Plone/Folder1/Folder2/Folder3/set_property?name=title_as_tag&value=True&type=boolean\r\n >> Plone.Folder1.Folder2.Folder3.getProperty('title_as_tag') == True\r\n True\r\n \r\nothers_might_come_in_the_future\r\n\r\n You can give your suggestions.\r\n\r\nOne could easily write a new script that just needs to be traversable from the object that will trigger \r\nthe condition.\r\n\r\n\r\nInstallation\r\n============\r\n\r\nAdd collective.contentrules.runscript to your buildout as an egg or\r\nfrom source. No (generic setup) installation is necessary, the action is \r\nregistered using ZCML. So do add the package to the zcml slug list of your\r\n[instance] section.\r\n\r\nIf you'd like to use any of the available sample scripts then you should install the product by the \r\nAddons configlet.\r\n\r\n\r\nUsage\r\n=====\r\n\r\nGo to the Plone Control Panel, select Content Rules and add a new Rule. \r\nUnder 'actions' you now have a new option: Run Script.\r\n\r\nIn the 'Configure element' form, point to a script that knows how to perform the desired action upon the object \r\nthat will trigger the rule.\r\n\r\nIf you installed the sample scripts, you could use the 'tag_after_parent' script and have every object matching \r\nthe rule's condition categorized by their parent's title.\r\n\r\nIf the script you inform at the configuration form is not traversable from the object that triggered the rule \r\nan exception will or will not be thrown depending on the state of the 'Fail on script not found' flag.\r\n\r\nIf you set the rule to an 'add to container' event, not finding the script means not fullfilling the add.\r\n\r\n\r\nCredits\r\n=======\r\n\r\nThis package has been highly based on collective.contentrules.mailtolocalrole.\r\n\r\n\nChangelog\n=========\n\n0.4 (2011-02-22)\n----------------\n\n* Added z3c.autoinclude.plugin entry point\n* Fixed reference to .runscript.RunscriptAction factory in\n configure.zcml (thanks to Sascha Gresk)\n\n0.3 (2009-07-27)\n-----------------\n\n* Added option to pass parameters to scripts\n* Added tag_after_parents and set_property sample scripts\n\n0.2 (2009-07-23)\n----------------\n\n* Added restricted/unrestricted traversal option\n* Fixed packaging problems\n\n\n0.1.1 (2009-07-23)\n------------------\n\n* Fixed packaging problems\n\n\n0.1 (xxxx-xx-xx)\n----------------\n\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": "http://plone.org/products/collective.contentrules.runscript", "keywords": "plone contentrules action addon", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "collective.contentrules.runscript", "package_url": "https://pypi.org/project/collective.contentrules.runscript/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.contentrules.runscript/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://plone.org/products/collective.contentrules.runscript" }, "release_url": "https://pypi.org/project/collective.contentrules.runscript/0.4/", "requires_dist": null, "requires_python": null, "summary": "An action for the contentrules framework to run a script on the object that triggered the rule", "version": "0.4" }, "last_serial": 744803, "releases": { "0.1": [], "0.1.1": [], "0.1.1beta": [ { "comment_text": "", "digests": { "md5": "45338c3939a03af7e2a5d88d259209f4", "sha256": "79c017a3b79f32edcedd9e10d0f4e301e5d74d7e142c1ab191926a7696796123" }, "downloads": -1, "filename": "collective.contentrules.runscript-0.1.1beta.zip", "has_sig": false, "md5_digest": "45338c3939a03af7e2a5d88d259209f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25879, "upload_time": "2009-07-23T22:46:03", "url": "https://files.pythonhosted.org/packages/34/3a/5aadb189ef1ac8915cb7d5401f1c9508548b4b304c841af96f79c5dc5e67/collective.contentrules.runscript-0.1.1beta.zip" } ], "0.1beta": [ { "comment_text": "", "digests": { "md5": "6b5eda170208dfe6f5620a3b3f3b5414", "sha256": "8756583499457439df529728d6cc95f7bf5efe9d0d650e2af66585409899b7d0" }, "downloads": -1, "filename": "collective.contentrules.runscript-0.1beta.zip", "has_sig": false, "md5_digest": "6b5eda170208dfe6f5620a3b3f3b5414", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11579, "upload_time": "2009-07-23T21:18:24", "url": "https://files.pythonhosted.org/packages/b8/c7/19d6669466ee3114054c8871aa2af8048e1b01559e5df80da945727ceb94/collective.contentrules.runscript-0.1beta.zip" } ], "0.2": [], "0.2beta": [ { "comment_text": "", "digests": { "md5": "fa155dd9cf0deddbca28a7cee1689efd", "sha256": "696321eb3de572bf73a388e0cb598e648588a73fd3d592ecfb9f28d7e7c13cc7" }, "downloads": -1, "filename": "collective.contentrules.runscript-0.2beta.zip", "has_sig": false, "md5_digest": "fa155dd9cf0deddbca28a7cee1689efd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26078, "upload_time": "2009-07-23T23:32:51", "url": "https://files.pythonhosted.org/packages/7c/f2/46c7cc1e43db425854c780b9b72912ddd5d4b7e83b87909fcac45648c387/collective.contentrules.runscript-0.2beta.zip" } ], "0.3": [], "0.3beta": [ { "comment_text": "", "digests": { "md5": "49eb339f322a3f4f14bf3593cb6b8f61", "sha256": "21911777737be8fc5aef4766b9a65c8af1734fe0507414417bc14c39fa7fc80f" }, "downloads": -1, "filename": "collective.contentrules.runscript-0.3beta.tar.gz", "has_sig": false, "md5_digest": "49eb339f322a3f4f14bf3593cb6b8f61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10063, "upload_time": "2009-08-03T16:56:48", "url": "https://files.pythonhosted.org/packages/ce/3e/6e059d4288ae701d70c1b2538f23d859b1d399125a708df1d5df522edaa9/collective.contentrules.runscript-0.3beta.tar.gz" }, { "comment_text": "", "digests": { "md5": "0820c00c82a4bb242c0e536b426362d1", "sha256": "cb6a1c78faa5c5003f6ea530869282be85bb4364e4e332f030df41dc9a57f5fc" }, "downloads": -1, "filename": "collective.contentrules.runscript-0.3beta.zip", "has_sig": false, "md5_digest": "0820c00c82a4bb242c0e536b426362d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24800, "upload_time": "2009-08-03T16:56:46", "url": "https://files.pythonhosted.org/packages/f0/7b/25e9c97c05d186601eb3b4ef1c818d1a7f5cdd8d8b918dc68deb37c772de/collective.contentrules.runscript-0.3beta.zip" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "74a82496bc38c3be1c0bc5c1c9e83809", "sha256": "d52fa83bf813c33763eade60c9faa33ced261a8ef71a858f10cf70d5b4c81431" }, "downloads": -1, "filename": "collective.contentrules.runscript-0.4.tar.gz", "has_sig": false, "md5_digest": "74a82496bc38c3be1c0bc5c1c9e83809", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10663, "upload_time": "2011-02-23T01:58:33", "url": "https://files.pythonhosted.org/packages/0e/6a/319208908515f6e74a9e52b24801d2ebe99d5695a143982d26c13d9d04ab/collective.contentrules.runscript-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "74a82496bc38c3be1c0bc5c1c9e83809", "sha256": "d52fa83bf813c33763eade60c9faa33ced261a8ef71a858f10cf70d5b4c81431" }, "downloads": -1, "filename": "collective.contentrules.runscript-0.4.tar.gz", "has_sig": false, "md5_digest": "74a82496bc38c3be1c0bc5c1c9e83809", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10663, "upload_time": "2011-02-23T01:58:33", "url": "https://files.pythonhosted.org/packages/0e/6a/319208908515f6e74a9e52b24801d2ebe99d5695a143982d26c13d9d04ab/collective.contentrules.runscript-0.4.tar.gz" } ] }