A buildout recipe to create and update a plone site
Project description
Introduction
This 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.
Code repository: http://svn.plone.org/svn/collective/buildout/collective.recipe.plonesite
Report bugs at https://bugs.launchpad.net/collective.buildout/
Detailed Documentation
Options
This recipe honors the log-level buildout-level config value, and the verbosity setting, overriding the running Zope instance’s eventlog level. This allows you to get more logging output when running the part, but have less verbosity when the site is actually running.
- site-id
The id of the Plone site that the script will create. This will also be used to update the site once created. Default: Plone
- container-path
The path (relative from Zope root) to the container that should hold the Plone site. Default: \
- admin-user
The id of an admin user that will be used as the Manager. Default: admin
- default-language
The default language of the Plone site. Default: en
- products-initial
A list of products to quick install just after initial site creation. See above for information about the product name format [2].
- profiles-initial
A list of GenericSetup profiles to run just after initial site creation. See above for information on the expected profile id format [1].
- products
A list of products to quick install each time buildout is run. See above for information about the product name format [2].
- profiles
A list of GenericSetup profiles to run each time buildout is run. See above for information on the expected profile id format [1].
- instance
The name of the instance that will run the script. Default: instance
- zeoserver
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
- before-install
A system command to execute before installing Plone. 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. Default: not set
- after-install
A system command to execute after installing Plone. Default: not set
- site-replace
Replace any existing plone site named site-id. Default: false
- enabled
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.
$ bin/buildout -Nv plonesite:enabled=false
- pre-extras
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
- post-extras
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
- host
A hostname used in VirtualHostMonster traversal. This will set the root URL for the portal variable in any pre-extras or post-extras scripts. Default: not set
- protocol
Either ‘http’ or ‘https’ for a VirtualHostMonster path. Requires the host option be set. Default: http
- port
Port for the Zope site used in a VirtualHostMonster path. Requires the host option be set. Default: 80
- use-vhm
Signals whether Plone site should use VirtualHostMonster or ordinary Zope traversal when generating a request. Useful for setting up instances that will not be proxied behind Apache or Nginx, such as local development. Default: True
Example
Here is an example buildout.cfg with the plonesite recipe:
[buildout] parts = zope2 instance zeoserver plonesite [zope2] recipe = plone.recipe.zope2install ... [instance] recipe = plone.recipe.zope2instance ... eggs = ... my.package my.other.package zcml = ... my.package my.other.package [zeoserver] recipe = plone.recipe.zope2zeoserver ... [plonesite] recipe = collective.recipe.plonesite site-id = test instance = instance zeoserver = zeoserver profiles-initial = my.package:initial profiles = my.package:default my.other.package:default post-extras = ${buildout:directory}/my_script.py pre-extras = ${buildout:directory}/my_other_script.py host = www.mysite.com protocol = https port = 443
Example with Plone 4 content enabled
Here is another example buildout.cfg with the plone4site recipe:
[buildout] parts = ... plone4site [plone4site] recipe = collective.recipe.plonesite site-id = test instance = instance zeoserver = zeoserver # Create default plone content like News, Events... profiles-initial = Products.CMFPlone:plone-content my.package:initial profiles = my.package:default my.other.package:default
Contributors
Clayton Parker [claytron], Author
Andrew Burkhalter [andrewb]
JeanMichel FRANCOIS [toutpt]
Andreas Jung [ajung]
Jeff Kowalczyk [jeffk]
Pelle Krogholt [pelle]
Michael Davis [davismr]
Nolan Brubaker [nrb]
David Blewett [davidblewett]
Change history
1.8.1 (2012-11-16)
Add changelog entry for 1.8.90 [nrb]
1.8.0 (2012-11-16)
Add the use-vhm option to select traversal mode. Setting use-vhm to False will cause the traversal to use regular Zope traversal when running the recipe. [nrb]
1.7.3 (xxxx-xx-xx)
Use _delObject(site_id, suppress_events=True) to delete the site. This ignores all events and just removes the site completely when using the site-replace option. [claytron]
1.7.2 (2012-08-06)
Fixed typo on logger when removing existing Plone site. [hvelarde]
1.7.1 (2012-07-13)
Add support for changing the logging level used when the part runs, honoring the buildout log-level and verbosity. [davidblewett]
Update version check to correctly differentiate between Plone 4.1.x and Plone 4.0 and below. [davidblewett]
1.6.3 (2012-07-03)
Update VirtualHostMonster support to correct loss of elevated security context. [davidblewett]
1.6.1 (2012-06-27)
Fix reST formatting. [nrb]
Correct some doc oversights. [nrb]
1.6 (2012-06-26)
Add VirtualHostMonster path support for the ‘portal’ variable available in pre-extras and post-extras scripts. [nrb]
host recipe option specifices a hostname to be used in a VirtualHostMonster path for extra recipe scripts. [nrb]
port recipe option specifies a port to be used in a VirtualHostMonster path for extra recipe scripts. [nrb]
protocol recipe option specifies a protocol to be used in a VirtualHostMonster path from extra recipe scripts. [nrb]
1.5.1 (Unreleased)
Fixed typo in documentation. [hvelarde]
container-path recipe option specifies the path to the container where the Plone site will be added. [gotcha]
default-language recipe option specifies the default language of the Plone site. [sgeulette]
1.5 (2011-09-22)
Support for zope.globalrequest. [gotcha]
Support Plone 4.1 [gotcha]
1.4.3 (2011-07-07)
Minor doc updates. [claytron]
1.4.2 (2011-07-07)
Released to plone.org [claytron]
Doc updates. [claytron]
1.4.1 (2011-02-15)
Minor doc updates [claytron]
1.4 (2011-02-15)
PEP8 cleanup [claytron]
Handle new zeoserver recipe on windows which changes the name of the executable. [claytron]
Use the plone variable not portal otherwise plonesite.py raises NameError: global name 'portal' is not defined on a new install. [pelle]
Enable GS profiles to work in plone 2.5 [davismr]
Use setSite in the initial creation as well. [claytron]
1.3 (2010-02-11)
Use setSite in the plonesite`.py` script so that the component architecture gets initialized properly. This will allow the installation of a product like ``plone.app.dexterity [clayton]
1.2 (2010-02-10)
Update docs with info about how to add a Product [claytron]
Adjusted the support for Plone4 since the addPloneSite() has changed slightly. [pelle]
1.1 (2009-11-10)
Make sure to commit the transaction after adding the plone site to avoid some strange behavior. [claytron]
Add support for Plone4 [toutpt]
1.0 (2009-08-24)
Added a before-install and after-install option to the recipe. this allows you to use something like supervisor to launch the processes. Thanks to Shane Hathaway for the patch. [claytron]
0.9 (2009-08-10)
Fixed the site-id option so that it defaults to Plone properly. Thanks to aclark for the bug report. [claytron]
0.8 (2009-06-24)
Subversion 1.6 and setuptools are not friends yet. Fixed upload. [claytron]
0.7 (2009-06-23)
Clarification to docs. Cleaning up copy/paste error to post-extras [andrewb]
Fixed the instance option so that it defaults to instance properly [claytron]
0.6 (2008-12-16)
Make admin-user configuration option truly optional per the documentation. Fallback to admin which would be the common default per ZopeSkel’s plone3_buildout template [andrewb]
Added new options pre-extras and post-extras. The two options are files that can be run before and after the quickinstaller and profiles have been run. [claytron]
Add condition so that the script can be used on older versions of plone [claytron]
0.5 (2008-11-11)
Fixed a bug where already installed Products would not be re-installed [claytron]
Added example buildout config and updated the READMEs [claytron]
Re-factored the plonesite.py script [claytron]
A dash of PEP 8 [claytron]
0.4 (2008-11-11)
Added a enabled option so that you can switch the part off from the command line. (buildout:parts-=plonesite doesn’t work yet) [claytron]
Change the script so that profiles prefixed with profile- can also be given. [claytron]
Added some docs to the recipe [claytron]
0.3 (2008-10-30)
Added site-replace option to the readme [claytron]
The site-replace option is no longer required [claytron]
0.2 (2008-10-30)
new Plone sites will be created with a datetime suffix which is helpful if you need to re-run new instances over and over again e.g. for migration purposes. If you need a fixed site id then explictely set the id using the site-id option. [ajung]
Fixed error with uninitialized variable [jeffk]
Add buildout recipe option site-replace, defaults to off. Use with site-id.
New recipe option site-replace = on will remove any existing object in app named site-id. A new plone site will be created to replace it.
Default option setting site-replace = off will not remove existing objects in app named site-id. [jeffk]
0.1 (2008-10-11)
Created recipe with ZopeSkel [claytron]
Download
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for collective.recipe.plonesite-1.8.1.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1f27aec1c7990cc8015df5909048a40b250278eb0bb937e8b19f7bb82e95fc7 |
|
MD5 | 2dd675658669479f7178e87627581f73 |
|
BLAKE2b-256 | 2fd88ef6569386f76400a2e6412c60c336abe438c301ab70eb03a7ab3a2df276 |