Skip to main content

Latest Version Tests Status Supported - Python Versions License

collective.big.bang

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.

Why not use collective.recipe.plonesite?

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.

Environment variables

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=True

PLONE_EXTENSION_IDS

A list of GenericSetup profiles to install. Default: plone.app.caching:default,plonetheme.barceloneta:default

DEFAULT_LANGUAGE

The default language of the Plone site. Default: en

ADMIN_PASSWORD

The password for the Zope "admin" user. Note: No default. If not set, the admin password will not be updated.

ACTIVE_BIGBANG

Create a Plone site on this instance. Used to avoid conflict errors; should be True on only one instance. Default: False

ACTIVE_BIGBANG_EXPANSION

Expansion of the Plone universe, it run all pending upgrades. Used to avoid conflict errors; should be True on only one instance. Default: False


Features

  • 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.

Run Scripts

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.

bin/create-site

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
ADDITIONAL_PROFILES="my.addon:default,another.addon:default" ./bin/create-site parts/instance/etc/zope.conf

Environment 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
ADDITIONAL_PROFILES Comma-separated GenericSetup profiles to install
ADMIN_PASSWORD Password for Zope admin user (optional)

bin/upgrade-steps

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.conf

Environment Variables:

Variable Default Description
SITE_ID Plone Site ID in Zope

Installation

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/buildout

Contribute

Support

If you're having issues, please let us know by opening an issue.

License

The project is licensed under the GPLv2.

Contributors

Changelog

1.2.0 (2026-07-06)

  • Add ensure_admin_user() to ensure Zope admin user exists on fresh Data.fs (container environments). [bsuttor]

  • Add console script entry points create-site and upgrade-steps. [bsuttor]

  • Refactor test suite to use pytest and uv. [bsuttor]

1.1.0 (2025-10-14)

  • Added expansion feature, which allows to perform all pending upgrade steps in one operation. [bsuttor]

  • Upgrade dev environment to Plone 6.1 [remdub]

1.0.3 (2022-05-13)

  • Do not notify DarwinStartedEvent if site doesn't exist. [odelaere]

1.0.2 (2022-05-13)

  • Fix mountpoints break bid.bang execution. [odelaere]

1.0.1 (2022-04-15)

  • Notify an event after bang. [odelaere]

1.0 (2022-03-01)

  • Do not set "admin" password if ADMIN_PASSWORD env variable is not set. [bsuttor]

1.0b2 (2022-01-27)

  • Ignore mountpoint configurations in site creation. [odelaere]

1.0b1 (2022-01-25)

  • Added tests and better support for plone from 4.3 to 6.0. [odelaere]

1.0a3 (2021-10-04)

  • Strip extension ids. [odelaere]
  • Do not attempt to do anything if ACTIVE_BIGBANG id not True. [odelaere]

1.0a2 (2021-08-17)

  • Fix package after renaming from collective.bigbang to collective.big.bang [laulaz]

1.0a1 (2021-08-13)

  • Initial release. [bsuttor]

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective_big_bang-1.2.0.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

collective_big_bang-1.2.0-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file collective_big_bang-1.2.0.tar.gz.

File metadata

  • Download URL: collective_big_bang-1.2.0.tar.gz
  • Upload date:
  • Size: 33.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for collective_big_bang-1.2.0.tar.gz
Algorithm Hash digest
SHA256 044a6bf3a549ae1d1f3a95445698636a70ee0d921425b745cbba1eccaba7c1cc
MD5 9f424604a90eff7d81f60ce45a0e42d3
BLAKE2b-256 95f8c52bff534ceae4756a063bb902bab0afd91b5d48fbc8a5bd6930579ec704

See more details on using hashes here.

File details

Details for the file collective_big_bang-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for collective_big_bang-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79bcf33a0326796631b5e459d2a2bfbf4b36c702936b3eb35793ea09ce51ce54
MD5 63630b2bccc0bc82aedb656e18922fa1
BLAKE2b-256 930a13a68a61242a6c2aca5c843c765d0030451d6143bb7015be99bd287cdab2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page