Add-on (Volto)#

A JavaScript package that integrates with Volto's configuration registry.

Add-on configuration loader (Volto)#

A function with signature config => config.

Amazon Opsworks#

AWS OpsWorks is a configuration management service that uses Chef, an automation platform that treats server configurations as code.


Ansible is an open source automation platform. Ansible can help you with configuration management, application deployment, task automation.


The deprecated framework for building content types in Plone.


Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Free to join, pay only for what you use.


A JavaScript compiler that "transpiles" newer standards JavaScript to something that any browser can load.


The default theme for Plone 5.


Blocks display chunks of HTML that can be inserted into your Plone pages.


A configuration management tool written in Ruby and Erlang.


AWS CloudFormation gives developers and systems administrators a way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion.


Content Management System


A JavaScript package standard, the equivalent of a Python wheel or egg. Enables JavaScript modules.

Configuration registry (Volto)#

A singleton object modeled using JavaScript modules, accessible from the Volto project using the ~/config path.


cookiecutter-plone-starter is a cookiecutter template, created by the Plone community, to bootstrap a new Plone 6 project using Volto and a relational database.


Cascading Style Sheets (CSS) is a style sheet language used for describing the (most of the times visual) representation of web pages.


Dexterity, the base framework for building content types, both through-the-web and as filesystem code for Zope.


Diazo theme engine guide. Diazo allows you to apply a theme contained in a static HTML web page to a dynamic website created using any server-side technology.


DigitalOcean, Inc. is an American cloud infrastructure provider headquartered in New York City with data centers worldwide.


Docutils is an open-source text processing system for processing plaintext documentation into useful formats, such as HTML, LaTeX, man-pages, OpenDocument, or XML. It includes reStructuredText, the easy to read, easy to use, what-you-see-is-what-you-get plaintext markup language.

Dublin Core#

The Dublin Core Schema is a small set of vocabulary terms that can be used to describe web resources (video, images, web pages, and other online content). It can also be used to describe physical resources such as books or CDs, and objects like artworks.


Elements are the dynamic components of your blocks. They can be input fields, buttons, or computed HTML. They can also return JSON if you call them from a JavaScript app.

ECMAScript 6#

ECMAScript 6 (ES6) is a scripting language specification on which JavaScript is based. Ecma International is in charge of standardizing ECMAScript.


Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. Volto uses Express.


A method to extend basic MyST syntax. You can define a directive with backticks (`) followed by a reStructuredText directive in curly brackets ({}), and a matching number of closing backticks. You can also nest fences by increasing the number of backticks.

There be dragons!
Dragons have feelings, too!


There be dragons!


Dragons have feelings, too!


GenericSetup is a framework to modify the Plone site during add-on package installation and uninstallation. It provides XML-based rules to change the configuration settings.


The JavaScript Task Runner. Automates the creation and manipulation of static assets for the theme.

hoisting (Yarn)#

An optimization provided by Yarn. By default JavaScript packages will directly include dependencies inside their local node_modules. By hoisting we're "lifting" these inner dependencies to the top level node_modules directory, and thus optimize the generated bundles. In case two dependencies have conflicting version dependencies of the same library, the hoisting will not be possible (for that conflicting dependency) and you'll see multiple instances of the same library in the bundle, or you'll see that the add-on receives its own node_modules folder.

hooks (React)#

Hooks are a React API that allow function components to use React features such as lifecycle methods, states, and so on.

Hot Module Replacement (HMR)#

A development feature provided by Webpack that automatically reloads, in the browser, the JavaScript modules that have changed on disk.

Hydration (SSR)#

After loading an HTML page generated with SSR in the browser, React can "populate" the existing DOM elements, recreate and attach their coresponding components.


A dialect of JavaScript that resembles XML, it is transpiled by Babel to JavaScript functions. React uses JSX as its component templating.


A dynamic style sheet language that can be compiled into CSS (Cascading Style Sheets).

Linode# is an American privately owned virtual private server provider company based in Galloway, New Jersey, United States.


Markdown is a text-to-HTML conversion tool for web writers.

middleware (Redux)#

Custom wrappers for the Redux store dispatch methods. They allow customizing the behavior of the data flow inside the redux store.


Also called "missdev", a tool similar to buildout's mr.developer. It automatically downloads and keeps up to date copies of software and add-ons under development based on definitions stored in mrs.developer.json. As a byproduct of its update operations, it also automatically adjusts jsconfig.json, which is used by Volto to configure webpack aliases.


mxdev [mɪks dɛv] is a utility that makes it easy to work with Python projects containing lots of packages, of which you only want to develop some. It is designed for developers who use stable version constraints, then layer their customizations on top of that base while using a version control system. This design allows developers to override their base package constraints with a customized or newer version.


Markedly Structured Text (MyST) is a rich and extensible flavor of Markdown, for authoring training documentation.


Network File System.


Nginx is a high-performance web server, reverse proxy, and load balancer that is known for its speed, reliability, and flexibility. It can also serve as a mail proxy server and provides features for HTTP and TCP/UDP applications, making it a popular choice for serving web content, optimizing resource utilization, and enhancing web performance and security.


npm is a package manager for the JavaScript programming language. It is the default package manager for the JavaScript runtime environment Node.js. Also a registry of JavaScript packages, similar to PyPI.

Open Graph#

The Open Graph protocol enables any web page to become a rich object in a social graph. For instance, this is used on Facebook to allow any web page to have the same functionality as any other object on Facebook.


A Plone CLI for creating Plone packages. plonecli usage

Project (Volto)#

The product of running create-volto-app, a customizable instance of Volto.

Rapido application#

It contains the features you implement. It is a folder containing templates, Python code, and YAML files.


A tool that simplifies SPA and SSR configuration for React projects.


React is a JavaScript library for building user interfaces. Volto, the frontend for Plone 6, uses React.


A Rapido app is able to store data as records. Records are basic dictionaries.


reStructuredText (rST) is an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax and parser system. The Training documentation was written in reStructuredText originally, then converted to MyST in 2021.


Amazon Web Services S3. Object storage built to store and retrieve any amount of data from anywhere.

Scoped packages#

Namespace for JavaScript packages, they provide a way to avoid naming conflicts for common package names.

Server-Side Rendering (SSR)#

When first loading any Plone page, users will get HTML markup that closely matches the final DOM structure of the React components used to render that page.

Shadowing (Volto)#

Webpack provides an "alias" mechanism, where the path for a module can be aliased to another module. By using this mechanism Volto enables customization (file overrides), similar to z3c.jbot.

Single Page Application (SPA)#

A type of JavaScript application that aims to provide a better user experience by avoiding unnecessary reloading of the browser page, instead using AJAX to load backend information.


Solr is a popular, blazing-fast, open source enterprise search platform built on Apache Lucene.


Sphinx is a tool that makes it easy to create intelligent and beautiful documentation. It was originally created for Python documentation, and it has excellent facilities for the documentation of software projects in a range of languages. Sphinx uses reStructuredText as its markup language, and many of its strengths come from the power and straightforwardness of reStructuredText and its parsing and translating suite, Docutils.


TAL Expression Syntax (TALES) expression, which by default expects a path. Python and string expressions are also allowed.


Traefik is an open-source reverse proxy and load balancer designed to handle HTTP and TCP applications. It simplifies the deployment and routing of services and is particularly well-suited for cloud-native and containerized environments, offering features like automatic service discovery, middleware plugins, and robust security options.


The transformation of JavaScript code that uses advanced language features, unavailable for some browsers, to code rewritten to support them.

Travis CI#

Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub. Open source projects may be tested with limited runs via


Through-The-Web, changes in the browser.


Varnish is a high-performance HTTP accelerator and reverse proxy caching server designed to speed up web applications by caching content in memory. It serves stored content to users quickly, reducing the load on web servers and enhancing the overall user experience by delivering web pages at high speed.


A tool that loads and bundles code and web resources using loaders.

Webpack entrypoint#

The main files generated by webpack as a result. They typically contain the application source code based on modules bundled together, but it can also include other resources, such as static resources. They can contain code to automatically trigger the load of other JavaScript code files called "chunks".


The Extensible Markup Language.


XPath (XML Path Language) is a query language for selecting nodes from an XML document.


The Extensible style sheet language Transformations. A language which defines elements to describe transformations to be applied on a document.


A popular JavaScript package manager similar to NPM.


A popular scaffolding tool similar to Plone's mr.bob or ZopeSkel.


The Zope Configuration Mark-up Language.


The Zope Management Interface. The ZMI is a direct interface into the backend software stack of Plone. While it can still serve as a valuable tool for Plone specialists to fix problems or accomplish certain tasks, it is not recommended as a regular tool for Plone maintenance.


A native object database for Python.