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.
.. contents::
- Code repository: http://svn.plone.org/svn/collective/buildout/collective.recipe.plonesite
- Report bugs at https://bugs.launchpad.net/collective.buildout/
Detailed Documentation
**********************
Options
=======
.. [1] Profiles have the following format: ``<package_name>:<profile>``
(e.g. ``my.package:default``). The profile can also be prepended
with the ``profile-`` if you so choose
(e.g. ``profile-my.package:default``).
.. [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.
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
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.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
********
============
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.
.. contents::
- Code repository: http://svn.plone.org/svn/collective/buildout/collective.recipe.plonesite
- Report bugs at https://bugs.launchpad.net/collective.buildout/
Detailed Documentation
**********************
Options
=======
.. [1] Profiles have the following format: ``<package_name>:<profile>``
(e.g. ``my.package:default``). The profile can also be prepended
with the ``profile-`` if you so choose
(e.g. ``profile-my.package:default``).
.. [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.
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
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.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
Close
Hashes for collective.recipe.plonesite-1.6.3.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | a26c59fa7bdd4ce8ea9a9e6e0cef84b5528dad938679396efc10998955b4dc35 |
|
MD5 | 8d10f9127d19f709fc671bb72398ffa3 |
|
BLAKE2b-256 | 4cb886923d582f44f8ae324c33ea58320823cbfe79f950cb8e513a37b0a0aaba |