Glossary#
Terms and definitions used throughout the Cookieplone documentation.
- add-on#
A package that extends Plone. A backend add-on is a Python package, and a frontend add-on is a JavaScript package for Volto or Aurora. The
backend_addon,frontend_addon,aurora_addon, andmonorepo_addontemplates generate add-ons.- answers file#
A JSON file with answers to the questions of a template. Cookieplone writes
.cookieplone.jsoninto each generated project, and reads an answers file that you pass with--answers-file. See Use an answers file.- Aurora#
Plone Aurora, a Plone frontend in alpha. The
aurora_cmfplone,aurora_nick,aurora_nick_embedded, andaurora_addontemplates generate projects and add-ons for it.- Classic UI#
The Plone user interface that the backend renders, without a separate JavaScript frontend. The
projecttemplate generates a Classic UI project when you answer no to "Use Volto as frontend?".- computed field#
A field with
"format": "computed"in thecookieplone.jsonof a template. Cookieplone doesn't ask it. It renders the default of the field, a Jinja2 expression, from the answers. See Computed defaults.- constant field#
A field with
"format": "constant"in thecookieplone.jsonof a template. Cookieplone doesn't ask it, and uses its default as written, without rendering it.- Cookiecutter#
Cookiecutter is a command line utility that creates projects from templates. Cookieplone uses it to render the files of a template. A Cookieplone template describes its questions in
cookieplone.jsoninstead ofcookiecutter.json.- Cookieplone#
Cookieplone generates Plone codebases from templates. On top of Cookiecutter, it adds template repositories with groups, a question wizard, validators, Jinja2 filters, and sub-templates. Run it with
uvx cookieplone.cookieplone-templates is the template repository that Cookieplone uses by default. The Plone community maintains it. It has templates for Plone projects, add-ons, and documentation. See Official templates.
- extends#
A key of
cookieplone-config.jsonthat builds a template repository on top of an upstream repository. The downstream repository inherits the upstream templates, and can add or replace templates, or overlay them. See Extend an upstream template repository.- group#
A named set of templates in
cookieplone-config.json. When you run Cookieplone without a template ID, it lists the groups first, then the templates of the group you choose.A template marked
"hidden": trueincookieplone-config.json. Cookieplone leaves it out of the menu unless you pass--all, and runs it when you pass its ID.- hook#
A script in the
hooksfolder of a template that Cookieplone runs at a fixed point of a generation:pre_prompt,pre_gen_project, orpost_gen_project. See Hooks.- Markedly Structured Text#
- MyST#
Markedly Structured Text (MyST) is a flavor of Markdown for Sphinx. The Cookieplone documentation uses it.
- Nick#
A Plone backend written in Node.js. The
volto_nick,aurora_nick, andaurora_nick_embeddedtemplates use it.- overlay#
A downstream template with a
path, in a repository thatextendsan upstream repository. Cookieplone copies the files of the upstream template first, then the downstream files on top. See Extend an upstream template repository.- Plone#
Plone is an open source content management system for websites, intranets, and custom applications.
- post_gen_project#
The hook that runs in the generated project after Cookieplone renders the files. The official templates use it to run sub-templates and post-generation actions.
- pre_prompt#
The hook that runs before the first question, in a temporary copy of the template. The official templates use it to check for the tools they need.
- renderer#
The tui_forms component that draws the questions. Cookieplone uses the renderer named by
COOKIEPLONE_RENDERER, then the one inconfig.rendererof the repository, and falls back tocookiecutter.cookieplone-templatessetsrich. With--no-input, Cookieplone uses thenoinputrenderer, which asks nothing.- replay file#
A JSON file with the full context of a generation, including computed values.
--replayand--replay-filegenerate a project again from it. See Answers and replay.- Sphinx#
Sphinx builds documentation from reStructuredText or MyST sources. The Cookieplone documentation and the
documentation_startertemplate use it.- sub-template#
A template that another template runs from its
post_gen_projecthook, to generate part of a project. Sub-templates are usually hidden. See Sub-templates.- template#
A folder with a
cookieplone.jsonfile, which describes the questions, and the files and folders to render. A template repository lists its templates incookieplone-config.json, each under an ID.- template repository#
A directory, git repository, or zip archive with a
cookieplone-config.jsonfile at its root, and the templates that the file lists. See Template repositories.- tui_forms#
The Python library that turns the questions of a template into a form, and asks them through a renderer.
- uv#
- uvx#
uv is a Python package and project manager.
uvxruns a Python tool without installing it. Runninguvx cookieploneis the recommended way to use Cookieplone. See Install Cookieplone.- versions namespace#
The version pins that a template reads as
{{ versions.<key> }}. They come fromconfig.versionsincookieplone-config.json, and from the template's ownconfig.versions, which takes precedence.- Volto#
The React frontend of Plone 6. The
projecttemplate generates a Volto frontend when you answer yes to "Use Volto as frontend?", andfrontend_addongenerates Volto add-ons.