Glossary

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

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

Archetypes

The deprecated framework for building content types in Plone.

AWS

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

Babel

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

Barceloneta

The default theme for Plone 5.

block

Blocks display a chunk of HTML which can be inserted in your Plone pages.

Chef

A configuration management tool written in Ruby and Erlang.

CloudFormation

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

CMS

Content Management System

CommonJS

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.

CSS

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

Dexterity

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

Diazo

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

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

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, etc.), as well as physical resources such as books or CDs, and objects like artworks.

element

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.

ES6

ECMAScript 6, a newer version of the JavaScript language.

Express

A JavaScript HTTP server with a simple API to build custom applications. Volto uses it as its server.

fence

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.

````{warning}
There be dragons!
```{important}
Dragons have feelings, too!
```
````

Warning

There be dragons!

Important

Dragons have feelings, too!

Grunt

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.

JSX

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

Less

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

Linode

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

Markdown

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.

mrs-developer

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.

MyST

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

NFS

Network File System.

NPM

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.

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.

Razzle

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

React

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

record

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

reStructuredText

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.

S3

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

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

TALES

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

Transpilation

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 travis-ci.org.

TTW

Through-The-Web, changes in the browser.

Webpack

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. It can contain code to automatically trigger the load of other JavaScript code files called "chunks".

XML

The Extensible Markup Language.

XPath

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

XSLT

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

Yarn

A popular JavaScript package manager similar to NPM.

Yeoman

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

ZCML

The Zope Configuration Mark-up Language.

ZMI

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.

ZODB

A native object database for Python.