Skip to main content

 












Plone Documentation v6
 






Overview

Get started

Admin guide


Install Plone with Cookieplone

Install Plone with Buildout

Install Plone with pip

Run Plone

Add a Plone site

Zope manager users

Configure Zope

Install Plone add-ons

Export and import site data

Override core Plone packages

Back up and restore a Plone buildout

Upgrade Plone

Containers


Official Images


plone/plone-backend

plone/plone-frontend

plone/plone-zeo


Examples of Plone 6 using containers


nginx, Frontend, Backend container example

nginx, Frontend, Backend, ZEO container example

nginx, Frontend, Backend, PostgreSQL container example

nginx, Plone Classic container example

HAProxy, Backend, ZEO container example

Traefik Proxy, Frontend, Backend, ZEO, Varnish container example


Docker recipes



Developer guide


Develop Volto add-ons

Create a Plone distribution

Standardize Python project configuration

Native namespace


Deployment


Components

Server environment

Continuous integration and deployment

Orchestration

Optimize and tune

Caching


Installation

Control panel

Caching profiles

Rulesets and caching operations

Caching proxies

RAM cache

ETags

Composite views

REST API support



Volto UI


Development


Overview

Create a Volto project without a backend

Develop Volto add-ons


Install an add-on in Volto

Install an add-on in development mode in Volto 18 and 19

Install an add-on in development mode in Volto 17

Load configuration from add-ons

Create an add-on for Volto 18 and 19

Create an add-on for Volto 17

Theme add-ons

Test add-ons in Volto 19

Test add-ons in Volto 18

Test add-ons in Volto 17

Extend webpack setup from an add-on

Extend ESLint configuration from an add-on

Troubleshoot untranspiled add-on dependencies

Add-on internationalization

Best practices for add-ons

Add static files from your add-on to your build


Folder structure

How to use environment variables

Shadow a component or module

Customizing components

Customizing Volto Views

Creating Volto Views

Images

Internationalization

Custom Express middleware

Lazy loading

AppExtras component

Context navigation component

Pluggables framework

Forms and widgets

How to restrict blocks

Color picker widget


Configuration


The configuration registry

Settings reference guide

Experimental features

Zero configuration builds

Component registry

Internal proxy to content backend API

Backend configuration

Programmatically define the active add-ons and theme

volto-slate


volto-slate API

Editor Configuration

How to write a Slate editor plugin


Multilingual

Working copy support

Environment variables

API expanders

Locking support

Slots

Client side form field validation


Theming


About Semantic UI

Semantic UI Theming

How does the theming engine work?

Theming Strategy

Create a Volto theme add-on

Semantic UI custom styling

Using third party libraries and themes other than semantic-ui

Customize a base theme


Blocks


Blocks Introduction

Blocks anatomy

Blocks settings

Blocks - Edit components

Block style wrapper

Block extensions mechanism

Server-side rendering for async blocks

Core Blocks developer notes


Listing block

Teaser Block

Grid block

Container


Volto block examples


Block with a custom schema

Block with a custom schema and edit components

Block with a custom schema and variations

Block with a custom schema, variations, and a schema enhancer in a variation



Integration with the backend

Deploying


Simple deployment

Deployment using a Node.js process manager (PM2)

Seamless mode

Apache

Integration with Sentry

critical.css (above the fold) optimizations

Serve Volto on a subpath


Upgrade Guide

Plone REST API JavaScript client


Quick Start

Endpoint actions


Actions

Add-ons

Aliases

Breadcrumbs

Comments

Content

Context Navigation

Control Panels

Copy and Move

Database

Email Notification

Email Send

Groups

History

Link Integrity

Locking

Login

Navigation

Navigation root

Principals

Querysources

Querystring

Querystring Search

Registry

Relations

Roles

Rules

Search

Site

Sources

System

Transactions

Translations

Types

Upgrade

Users

User schema

Vocabularies

Workflow

Working Copy


Miscellaneous considerations

Future improvements


User Manual


Edit content using blocks

Copy, Cut, and Paste blocks in Volto

Finding links and references to the current page


Learning resources

Contributing to Volto


Develop Volto core

Design principles

Style Guide

JavaScript language features and browser support

Linting

Testing

Acceptance tests

Documentation

React

Redux

Routing

Icons

Accessibility guidelines

Bundle size optimization

TypeScript

Volto core add-ons

Version policy


Volto Release Notes

Release management notes

Conceptual guides


Volto add-on concepts


Reference guides


Widgets

Typing utilities



Classic UI


Cross-site request forgery (CSRF)

Forms

Icons

Image handling

Layers

Module Federation in Mockup

Mockup and Patternslib

Portlets

Recipes

Static resources

Template global variables

Templates

Theming Classic UI


Change theme settings TTW

Create a theme add-on

Color modes

Classic UI theming with Diazo

Theme structure

CSS custom properties


TinyMCE customization

Viewlets

Views

What's new in Plone 6 Classic UI


REST API


Introduction

Usage


Authentication

Batching

Content Manipulation

Customizing the API

Expansion

Explore the API using Postman

i18n: internationalization of screen messages

Serialization

Types Schema

Volto Blocks support


Endpoints


Add-ons

Aliases

Breadcrumbs

Comments

Content Types

Content Rules

Context Navigation

Control Panels

Copy and Move

Database

Email Notification

Email Send

Groups

History

Inherit behaviors

Link Integrity

Locking

Login for external authentication links

Navigation

Navigation root

Portal Actions

Portraits

Principals

Querystring

Querystring Search

Registry

Relations

Roles

Search

Sharing

Site

System

Transactions

Translations

TUS resumable upload

Types

Upgrade

Users

User schema

Vocabularies and Sources

Workflow

Working Copy


Upgrade Guide

Contribute to plone.restapi


Conventions



Backend


Annotations

Behaviors

Configuration Registry

Content Types


Creating content types

Factory Type Information (FTI)


Control panels

Fields

Global utilities and helpers

Indexing

Plone Upgrade Guide


Introduction

Preparations

Upgrade add-on products

Troubleshooting an upgrade

Version-specific migration procedures and tips


Upgrading Plone 4.x to 5.0

Upgrade a custom add-on to Plone 5.0

Upgrading Plone 5 within 5.x.x series

Upgrading Plone 5.0 to 5.1

Upgrade a custom add-on to Plone 5.1

Upgrading Plone 5.1 to 5.2

Migrating Plone 5.2 to Python 3

Migrate a ZODB from Python 2.7 to Python 3

Upgrading Plone 5.2 to 6.0

Upgrade Plone 6.0 to 6.1

Upgrade Plone 6.1 to 6.2

Migrating from Plone Classic UI to Volto



plone.api


About

Add-ons

Content

Environment

Groups

Portal

Relations

Users

API methods and descriptions


plone.api.addon

plone.api.content

plone.api.env

plone.api.exc

plone.api.group

plone.api.portal

plone.api.relation

plone.api.user


Contribute to plone.api


Portal Actions

Relations

Schemas

Search

Security

Sending Email

Subscribers (event handlers)

Traversal and Acquisition

Users and Groups

Vocabularies

Widgets

Workflows

Zope Object Database (ZODB)


Internationalization and Localization


Translating text strings

Language negotiation in Classic UI

Language negotiation in Volto

Translating content

Contributing Plone Core Translations

Resync translations

Use an external translation service to translate content


Conceptual guides


Choose a user interface

Compare Buildout and pip

Plone distributions

Package management

Architecture: packages and dependencies

make backend-build

Component architecture


Contributing to Plone


First-time contributors

Contribute to documentation


Set up, build, and check the quality of documentation

Authors guide

MyST reference

Themes and extensions

Administrators guide


Contribute to Plone 6 core


Write documentation

Continuous integration

mr.developer

Plone Improvement Proposals (PLIPs)

PLIP review

Plone release process


Contributing to plone.api

Contributing to plone.restapi

Contributing to Volto

GitHub administration


Reference guide


Cookieplone make commands

Volto configuration settings

Plone REST API JavaScript client endpoints

Plone REST API usage

Plone REST API endpoints

Plone API methods


User guide


Editor guide



Appendices


Glossary

Index


Tutorials


Plone Training

 





















Repository

Open issue
 




.md


 






Plone 6 Documentation

 





Plone 6 Documentation#


This is the community-maintained documentation for the Plone content management system.






Get started



This part of the documentation describes how to get started with Plone. Choose from trying a demo of Plone or installing Plone.



Go to Get started

Get started





User guide



This part of the documentation describes how to use Plone effectively, covering tasks for site editors and administrators.



Go to User guide

User guide





Developer guide



This part of the documentation describes how to develop a Plone project.



Go to Developer guide

Developer guide





Reference guide



This part of the documentation describes the APIs, functions, modules, and objects included in Plone.



Go to Reference guide

Reference guide





Conceptual guides



This part of the documentation provides explanation of concepts to deepen and broaden your understanding of Plone.



Go to Conceptual guides

Conceptual guides





Contributor guide



This part of the documentation describes how to contribute to Plone, including all its projects and repositories under the Plone GitHub organization.



Go to Contributor guide

Contributing to Plone





See also

Read the documentation for the previous version, Plone 5.