{ "info": { "author": "John Carr", "author_email": "john.carr@isotoma.com", "bugtrack_url": null, "classifiers": [ "Framework :: Buildout", "Intended Audience :: System Administrators", "License :: OSI Approved :: Zope Public License", "Operating System :: POSIX" ], "description": "Introduction\n============\n\nThis recipe is based on `collective.recipe.plonesite`_. It provides recipes for creating and updating Plone sites, running scripts against Plone sites and for setting their properties. If you use zeoserver, all the recipes will start and stop zeo appropriately (not stopping it if it wasnt the process that started it, for example). When combined with `isotoma.recipe.zope2instance` it can properly deal with errors, ending the buildout run rather than continuing and succeeding.\n\n.. _`collective.recipe.plonesite`: http://pypi.python.org/pypi/collective.recipe.plonesite\n.. _`isotoma.recipe.zope2instance`: http://pypi.python.org/pypi/isotoma.recipe.zope2instance\n\n\nManaging plone sites\n====================\n\nThis recipe enables you to create and update a Plone site as part of a buildout run. This recipe only aims to run profiles and Quickinstall products. It is assumed that the install methods, setuphandlers, upgrade steps, and other recipes will handle the rest of the work.\n\nTo use it, add something like this to your recipe::\n\n [plonesite]\n recipe = isotoma.recipe.plonetools:site\n products =\n LinguaPlone\n iw.fss\n you.YourProduct\n\nParameters\n----------\n\n.. [1] Profiles have the following format: ``:`` (e.g. ``my.package:default``). The profile can also be prepended with the ``profile-`` if you so choose (e.g. ``profile-my.package:default``).\n\n.. [2] The product name is typically **not** the package name such as `Products.MyProduct`, but just the product name `MyProduct`. Quickest way to find out the name that is expected is to 'inspect' the Quickinstaller page and see what value it is passing in.\n\nsite-id\n The id of the Plone site that the script will create. This will also be used to update the site once created. Default: Plone\n\nadmin-user\n The id of an admin user that will be used as the 'Manager'. Default: admin\n\nproducts-initial\n A list of products to quickinstall just after initial site creation. See above for information about the product name format [2]_.\n\nprofiles-inital\n A list of GenericSetup profiles to run just after initial site creation. See above for informaion on the expected profile id format [1]_.\n\nproducts\n A list of products to quickinstall each time buildout is run. See above for information about the product name format [2]_.\n\nprofiles\n A list of GenericSetup profiles to run each time buildout is run. See above for informaion on the expected profile id format [1]_.\n\ninstance\n The name of the instance that will run the script. Default: instance\n\nzeoserver\n The name of the zeoserver part that should be used. This is only required if you are using a zope/zeo setup. Default: not set\n\nbefore-install\n A system command to execute before installing Plone. Optional. You could use this to start a Supervisor daemon to launch ZEO, instead of launching ZEO directly. You can use this option in place of the zeoserver option.\n\nafter-install\n A system command to execute after installing Plone. Optional.\n\nsite-replace\n Replace any existing plone site named site-id. Default: false\n\nenabled\n Option to start up the instance/zeoserver. Default: true. This can be a useful option from the command line if you do not want to start up Zope, but still want to run the complete buildout.\n\n $ bin/buildout -Nv plonesite:enabled=false\n\npre-extras\n An absolute path to a file with python code that will be evaluated before running Quickinstaller and GenericSetup profiles. Multiple files can be given. Two variables will be available to you. The app variable is the zope root. The portal variable is the plone site as defined by the site-id option. NOTE: file path cannot contain spaces. Default: not set\n\npost-extras\n An absolute path to a file with python code that will be evaluated after running Quickinstaller and GenericSetup profiles. Multiple files can be given. Two variables will be available to you. The app variable is the zope root. The portal variable is the plone site as defined by the site-id option. NOTE: file path cannot contain spaces. Default: not set\n\nproperties\n The name of a part that provides propert name value mappings.\n\n\nSetting properties\n==================\n\nYou can set properties on your plone site object from buildout::\n\n [portal-properties]\n somestring = some string\n somebool = True\n somelist =\n 1\n 2\n 3\n\n [plonesite]\n recipe = isotoma.recipe.plonetools:site\n \n properties = portal-properties\n\nProperties set in this way are set at the same time as the Plone Site object is\nupdated, during the same zope instance invocation so is more efficient than\nusing a seperate recipe.\n\n\nCalling Setters On Plone Objects\n================================\n\nAs a last resort you can call setters directly from buildout. This is meant\nfor things like CacheSetup where your cached domains might vary between\nenvironments.\n\nJust add::\n\n [mutators]\n some.object.setFoo = True\n some.object.setList =\n 1\n 2\n 3\n some.other.object.setBar = some string\n\n [plonesite]\n recipe = isotoma.recipe.plonetools:site\n \n mutators = mutators\n\nAgain, these are set at the same time as the portal properties are applied\nand as GenericSetup is run - no extra zope invocations are required.\n\n\nThe migration script\n====================\n\nIf you have a plonesite:site stanza in your buildout you will get a plonesite\nscript in your bin directory.\n\nRunning this script with no arguments will apply run the same processes that\nrun during buildout.\n\nRunning the script with the ``-r`` argument will cause it to rebuild the site,\ndeleting your Plone site object and recreating it. Great for sandboxes that\nreset nightly.\n\n\nCreating wrapper scripts\n========================\n\nThis recipe lets you create a script in your buildouts bin-directory to run a\nscript for you under the correct zope instance.\n\nIf you have a script in mypackage.myscript::\n\n def run():\n print \"This is my test script\n\nthen add something like this to your recipe::\n\n [instance]\n recipe = isotoma.recipe.zope2instance\n otherprops = here\n\n [wrappers]\n recipe = isotoma.recipe.plonetools:wrapper\n instance = instance\n entry-points =\n myscript=mypackage.myscript:run\n\nMandatory parameters\n--------------------\n\nentry-points\n These are like the entry-points used in setuptools, in the form of wrappername=your.product.module:function\n\nOptional parameters\n-------------------\n\ninstance\n The name of a zope2instance part that is used to run the script. Default: instance.\n\narguments\n Some arguments to be passed to the entry points, as python. Default: app\n\nChangelog\n=========\n\n0.0.17 (2014-11-20)\n-------------------\n\n- Ignore existing PYTHPONPATH when calling sub-scripts.\n\n\n0.0.16 (2012-10-09)\n-------------------\n\n- The most sensible process is:\n\n * Create empty site\n * Run initial profiles\n * Run main profiles\n * Migrate mount points\n\n I think.\n\n\n0.0.15 (2012-10-05)\n-------------------\n\n- Fix regression in migrate script.\n\n\n0.0.14 (2012-10-03)\n-------------------\n\n- Automatic migration to split Data.fs when mount points are declared in zope.conf\n\n\n0.0.13 (2011-09-29)\n-------------------\n\n- Add a new 'rootify' option. It's only available to virtualenv peeps atm.\n\n\n0.0.12 (2011-09-23)\n-------------------\n\n- Fix Plone 3 support (creating new site was impacted by the 4.1/2.5 changes)\n\n\n0.0.11 (2011-09-22)\n-------------------\n\n- The properties and script helper are no longer supported\n- Write a script that can run migrations without running the rest of buildout\n- This script supports a '-r' flag for rebuild the /portal object from scratch.\n- Don't hang if CMFSquidTool has a purge queue that is unending\n- Drop JSON dependency\n- Better 2.5 and 4.1 support\n\n\n0.0.10 (2011-09-21)\n-------------------\n\n- Use savepoint() instead of subtransaction\n- More useful output when quick installing and applying profiles\n\n\n0.0.9 (2011-09-03)\n------------------\n\n- Add support for calling any setters from buildout.\n- If a transient error occurs, retry up to ``${:attempts}`` times.\n\n0.0.8 (2011-08-30)\n------------------\n\n - Support subtransactions (stops CacheSetup hanging)\n - Allow the Site recipe to set properties without a seperate properties part\n\n0.1 (2010-04-24)\n----------------\n\n- Created friendly fork of collective.recipe.plonesite\n- Catch non-zero exit codes\n- Added a test to see if zeo is running before starting it\n- Only shutdown zeo if we started it", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/isotoma.recipe.plonetools", "keywords": "buildout plone", "license": "Apache Software License", "maintainer": null, "maintainer_email": null, "name": "isotoma.recipe.plonetools", "package_url": "https://pypi.org/project/isotoma.recipe.plonetools/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/isotoma.recipe.plonetools/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/isotoma.recipe.plonetools" }, "release_url": "https://pypi.org/project/isotoma.recipe.plonetools/0.0.17/", "requires_dist": null, "requires_python": null, "summary": "Buildout recipes for setting up a plone site.", "version": "0.0.17" }, "last_serial": 1314638, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "af7abfb46c2153c31f7d7f913a2e1952", "sha256": "66db4f85dd3d61edebc70e9c56336136958a2a35a98df960002663db88a48e37" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.1.tar.gz", "has_sig": false, "md5_digest": "af7abfb46c2153c31f7d7f913a2e1952", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8659, "upload_time": "2010-05-25T15:37:33", "url": "https://files.pythonhosted.org/packages/fd/c2/ae5a8e68ff3450510abe5c9d5899ce4cd2552eb4531c7dcad9bc73adda36/isotoma.recipe.plonetools-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "522fa695d9471cbb835026c58fecaf7c", "sha256": "61ff4811bdf71ace30faaf249367c07e21b49ca06336f18589b9b99cddbf5223" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.10.zip", "has_sig": false, "md5_digest": "522fa695d9471cbb835026c58fecaf7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21239, "upload_time": "2011-09-21T13:02:13", "url": "https://files.pythonhosted.org/packages/e0/65/433aab619a78e9c3693778b9eb221b02fbf6dbecadef4f20862c83bfe691/isotoma.recipe.plonetools-0.0.10.zip" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "07b3210630e53d52cf1f96fabfa368f6", "sha256": "97f5c73e488aa0f07e8362be227a64eee0e233dbc64fd86851a20591b86abf31" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.11.zip", "has_sig": false, "md5_digest": "07b3210630e53d52cf1f96fabfa368f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21190, "upload_time": "2011-09-22T22:45:31", "url": "https://files.pythonhosted.org/packages/e9/c8/13b851f1e307e8c094eb43f6c4f736474a747d5ca5c253e15cebaa705f1e/isotoma.recipe.plonetools-0.0.11.zip" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "219baaf232a469a8353c63d6a43146c4", "sha256": "157ad559ebc5173cdbef178d9519100e106f3c39c547bb718d4a9ede7c27c08c" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.12.zip", "has_sig": false, "md5_digest": "219baaf232a469a8353c63d6a43146c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21369, "upload_time": "2011-09-23T09:39:25", "url": "https://files.pythonhosted.org/packages/bf/c1/2ee6c71c579ad55e5b583f2eae74e55472d5d6a7798c4784facb86620a5a/isotoma.recipe.plonetools-0.0.12.zip" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "ced7200a93b902110983d1d271656b15", "sha256": "c2bdd30b5a23ae9313a84b7f8c17378a12940c1bb59cc39dfe18807df51e97e1" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.13.zip", "has_sig": false, "md5_digest": "ced7200a93b902110983d1d271656b15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21935, "upload_time": "2011-09-29T23:32:36", "url": "https://files.pythonhosted.org/packages/fa/fd/000ab9c5e77ac2bf1883a8f031b3bc6ab68611be6642d052ab48578c721e/isotoma.recipe.plonetools-0.0.13.zip" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "9689afdba9809bdfbcbb445736cfc372", "sha256": "582dea9745bdb8b80dc93eaceecd942a8cd2928221a7f3589139c1ac749915ef" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.14.zip", "has_sig": false, "md5_digest": "9689afdba9809bdfbcbb445736cfc372", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22879, "upload_time": "2012-10-03T16:03:01", "url": "https://files.pythonhosted.org/packages/2b/3e/b73e5cb99aa9df12b55400d9b4dcc37907945aab731d22d6ba3afbab33e9/isotoma.recipe.plonetools-0.0.14.zip" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "f9016b38389ac734c936f025ab97d03c", "sha256": "acdde429e2e565f691493a45263cfb9d48aa850eb7707f86b066d0b4720c9181" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.15.zip", "has_sig": false, "md5_digest": "f9016b38389ac734c936f025ab97d03c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22930, "upload_time": "2012-10-05T10:41:51", "url": "https://files.pythonhosted.org/packages/76/a9/144e06c1212e60b79e5f0dda548c65043535a39b9da90b16e8b159a892d5/isotoma.recipe.plonetools-0.0.15.zip" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "bef9e65ac3896631098ff0e5c817c41e", "sha256": "60838d14de261fc06133a7a7c2dd4bb440cdcff1f4ae3da5eb94d89184c2c7f5" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.16.zip", "has_sig": false, "md5_digest": "bef9e65ac3896631098ff0e5c817c41e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23124, "upload_time": "2012-10-09T14:49:45", "url": "https://files.pythonhosted.org/packages/80/3e/b200de242d1cab9ac37c1c40ec8c086b2dd51e68563a811d170c3566a4ae/isotoma.recipe.plonetools-0.0.16.zip" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "1d63b5d24eb8fdd9d84af8c7b64a8c09", "sha256": "23f09077bc7888e48e6effa7e574c0334f4b2ef8afdda1e2d1c9b5bdc20eada8" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.17.zip", "has_sig": false, "md5_digest": "1d63b5d24eb8fdd9d84af8c7b64a8c09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23322, "upload_time": "2014-11-20T16:41:00", "url": "https://files.pythonhosted.org/packages/7e/51/fe121b1b228c3601b94c7613cb312bdf7fdd260178a470d054f298b6a04e/isotoma.recipe.plonetools-0.0.17.zip" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "dfdc0aae6808e0b23761be57ef6a6d91", "sha256": "fd6c6a9f76ada4c71c3d77f4735bb92a9fc585bb0d00d841581a19a5e3e52155" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.2.tar.gz", "has_sig": false, "md5_digest": "dfdc0aae6808e0b23761be57ef6a6d91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9333, "upload_time": "2010-05-25T16:03:18", "url": "https://files.pythonhosted.org/packages/67/07/1ffbf1b9d662f703a222a0f7a93ba23f8bdcc43d6373627d3c09ff94aa4c/isotoma.recipe.plonetools-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "6403d438e2b6bf9ab67f4927fd509fb3", "sha256": "d732fd5c977d2f6ebc3f75eb1f5cb61b5b579a59e81954502f56e2503da96c38" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.3.tar.gz", "has_sig": false, "md5_digest": "6403d438e2b6bf9ab67f4927fd509fb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9409, "upload_time": "2010-05-25T16:24:03", "url": "https://files.pythonhosted.org/packages/40/c4/03f8cacf93295f0c2ab6b3598093e501a085a9488d44272657f9925277e0/isotoma.recipe.plonetools-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "a8118c6aaf4db17c3de20793ee175d6b", "sha256": "bc936fb23eaedd178eaf1491cca1bc3dc551cbf479320bf3d2f0bbdaefadf3b8" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.4.tar.gz", "has_sig": false, "md5_digest": "a8118c6aaf4db17c3de20793ee175d6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9408, "upload_time": "2010-05-26T15:19:34", "url": "https://files.pythonhosted.org/packages/58/ef/697619851aadab28d719e7b52fb7f067ef242fe33ee9bb4f95603b6de431/isotoma.recipe.plonetools-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "f661966173692fbc9da7f1a1e4d4cf94", "sha256": "06a3968b935a5baf2e0ce0ab33b94eacfdfc958820982ef27e1c6d77f8989086" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.5.tar.gz", "has_sig": false, "md5_digest": "f661966173692fbc9da7f1a1e4d4cf94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9416, "upload_time": "2010-06-22T11:25:50", "url": "https://files.pythonhosted.org/packages/03/a4/1e6faa6ee376aad527a472edbdab8ef77601524cbaf8a1cde96f67719611/isotoma.recipe.plonetools-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "c99d9d6df6f37362a66455f254b50eb4", "sha256": "5563bcc7cb6ab3d4b228c3788b4cedd0adcb81769e943593848413b428ad2ab7" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c99d9d6df6f37362a66455f254b50eb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9413, "upload_time": "2010-06-22T16:17:44", "url": "https://files.pythonhosted.org/packages/4e/b1/6df40b63665aad37bae9248991a5b6abc4d4aaaa30e81b80ba84fc8bbaaa/isotoma.recipe.plonetools-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "681019b9d90f8adfd852f499a4ce7fc9", "sha256": "77a84dc8ee9588679fdd80eb1271ee19b0eb5d461da7451ac320d7a8e7c4a019" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.7.zip", "has_sig": false, "md5_digest": "681019b9d90f8adfd852f499a4ce7fc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18456, "upload_time": "2010-12-20T13:26:16", "url": "https://files.pythonhosted.org/packages/70/a6/89cd2b16cd553875548d3c347f986e65967617a86850d5ceec3f8d09739c/isotoma.recipe.plonetools-0.0.7.zip" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "0e5e147cdf06ac89a98277d3383f8b61", "sha256": "9218cb5be90f66b868d938bb744bd9dbec91836d7c53222686208feb2b3892c1" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.8.zip", "has_sig": false, "md5_digest": "0e5e147cdf06ac89a98277d3383f8b61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19895, "upload_time": "2011-08-30T14:05:14", "url": "https://files.pythonhosted.org/packages/97/59/57cd60a7195b3ce1cdbb51974fa843b0ed9f51d885d22acd11985e79655b/isotoma.recipe.plonetools-0.0.8.zip" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "cf0dfcd3e34d1b7a5047162e91592c2d", "sha256": "aeb4b8a228f71e6d0ef6e384e68dc524d3b4e8be9f5b0bda1303895ef85926fb" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.9.zip", "has_sig": false, "md5_digest": "cf0dfcd3e34d1b7a5047162e91592c2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20979, "upload_time": "2011-09-03T13:54:56", "url": "https://files.pythonhosted.org/packages/e1/51/49bbd43d22aeb8432ed9cfc5e845b1bb6b5a7b4caff861ff25cb9161352e/isotoma.recipe.plonetools-0.0.9.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1d63b5d24eb8fdd9d84af8c7b64a8c09", "sha256": "23f09077bc7888e48e6effa7e574c0334f4b2ef8afdda1e2d1c9b5bdc20eada8" }, "downloads": -1, "filename": "isotoma.recipe.plonetools-0.0.17.zip", "has_sig": false, "md5_digest": "1d63b5d24eb8fdd9d84af8c7b64a8c09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23322, "upload_time": "2014-11-20T16:41:00", "url": "https://files.pythonhosted.org/packages/7e/51/fe121b1b228c3601b94c7613cb312bdf7fdd260178a470d054f298b6a04e/isotoma.recipe.plonetools-0.0.17.zip" } ] }