Our whole universe was in a hot, dense state
Then nearly fourteen billion years ago expansion started, wait
The earth began to cool, the autotrophs began to drool
Neanderthals developed tools
We built a wall (we built the pyramids)
Math, science, history, unraveling the mysteries
That all started with the big bang! Hey!
So all started with the Plone site! Hey!
This package is used to create a Plone site when Zope is started (just before the Ready to handle requests sentence).
You can use environment variables to create the Plone site and choose which packages you would like to install. See "Environment variables".
You can also expand your Plone site by starting automaticaly all pending upgrade steps when database opened.
The goal is to create the Plone site when you deploy a new Plone in a containerized environment. We think it's easier to create the Plone site on start-up, without an entrypoint or extra commands. It's simpler in a containerized environment than starting a buildout part to create a Plone site.
Fun fact:
This package is now called collective.big.bang instead of the original collective.bigbang, because the name collective.bigbang was rejected by PyPI.
You can add environment variables into your buildout under the instance part using environment-vars:
...
[instance]
...
environment-vars =
PLONE_EXTENSION_IDS plone.app.caching:default,plonetheme.barceloneta:default
DEFAULT_LANGUAGE fr
ADMIN_PASSWORD mysuperpa$$w0rd
ACTIVE_BIGBANG True
ACTIVE_BIGBANG_EXPANSION True
Or use tools like direnv (example .envrc file):
export PLONE_EXTENSION_IDS=plone.app.caching:default,plonetheme.barceloneta:default
export DEFAULT_LANGUAGE=fr
export ADMIN_PASSWORD=mysuperpa$$w0rd
export ACTIVE_BIGBANG=True
export ACTIVE_BIGBANG_EXPANSION=TrueA list of GenericSetup profiles to install.
Default: plone.app.caching:default,plonetheme.barceloneta:default
The default language of the Plone site.
Default: en
The password for the Zope "admin" user. Note: No default. If not set, the admin password will not be updated.
Create a Plone site on this instance.
Used to avoid conflict errors; should be True on only one instance.
Default: False
Expansion of the Plone universe, it run all pending upgrades.
Used to avoid conflict errors; should be True on only one instance.
Default: False
- Creates Plone site when Zope is started.
- Run all pending upgrade steps when database is open.
- Run scripts to create sites and run upgrade steps on demand.
In addition to automatic site creation on startup, collective.big.bang provides run scripts for manual execution. These are useful when you want more control over when sites are created or upgrades are run.
Creates a Plone site using the modern plone.distribution API, supporting distributions like default, classic, or volto.
Usage:
# Create site with defaults
SITE_ID=Plone DISTRIBUTION=classic ./bin/create-site parts/instance/etc/zope.conf
# Recreate existing site
DELETE_EXISTING=True ./bin/create-site parts/instance/etc/zope.conf
# With additional profiles
PLONE_EXTENSION_IDS="my.addon:default,another.addon:default" ./bin/create-site parts/instance/etc/zope.confEnvironment Variables:
| Variable | Default | Description |
|---|---|---|
DISTRIBUTION |
classic |
Distribution name (default, classic, volto) |
SITE_ID |
Plone |
Site ID in Zope |
DEFAULT_LANGUAGE |
en |
Default language code |
SETUP_CONTENT |
True |
Create example content |
TIMEZONE |
Europe/Brussels |
Portal timezone |
DELETE_EXISTING |
False |
Delete existing site if present |
PLONE_EXTENSION_IDS |
Comma-separated GenericSetup profiles to install (on top of the distribution's own profiles) | |
ADMIN_PASSWORD |
Password for Zope admin user (optional) |
Note: ADDITIONAL_PROFILES is deprecated in favor of PLONE_EXTENSION_IDS.
It is still read (with a warning) when PLONE_EXTENSION_IDS is not set; if both are set, PLONE_EXTENSION_IDS wins.
Unlike the startup hook (ACTIVE_BIGBANG), create-site does not notify DarwinStartedEvent.
Runs all pending GenericSetup upgrade steps for all installed profiles.
Usage:
# Run upgrade steps on default site
SITE_ID=Plone ./bin/upgrade-steps parts/instance/etc/zope.conf
# Run upgrade steps on specific site
SITE_ID=Plone ./bin/upgrade-steps parts/instance/etc/zope.confEnvironment Variables:
| Variable | Default | Description |
|---|---|---|
SITE_ID |
Plone |
Site ID in Zope |
Install collective.big.bang by adding it to your buildout:
[buildout]
...
eggs +=
collective.big.bang
...
[instance]
...
environment-vars =
PLONE_EXTENSION_IDS plone.app.caching:default,plonetheme.barceloneta:default
DEFAULT_LANGUAGE fr
ADMIN_PASSWORD mysuperpa$$w0rd
ACTIVE_BIGBANG True
ACTIVE_BIGBANG_EXPANSION True
Then run:
bin/buildoutIf you're having issues, please let us know by opening an issue.
The project is licensed under the GPLv2.