Plone Developer Documentation

This document is a community maintained manual for Plone content management system. The target audience of the documentation includes

  • Integrators: installing Plone, add-ons and setting up the site
  • Theme authors: changing Plone's visual appearance
  • Developers: customizing Plone's content types and forms for a specific use case
  • System administrators: hosting Plone on a server

This documentation does not have the end user (content editor) documentation for Plone. For the editor documentation please go to documentation.

Table of Contents

Installing and maintaining Plone sites

See the Plone Upgrade Guide for detailed instructions on version upgrade procedures, including changes required to update add-ons to work with newer versions of Plone.


These manuals apply to the current best practices of Plone development. They are in their own separate section due to the length of narrative explanation or having the documentation source code hosted in an external package.



See cross-documentation linking how to get your documentation here.

Old manuals

Beyond this point lie the ancient dragons


The following sections of developer documentation are no longer under active maintenance. They are included here as reference for older technologies (Plone 2.x, Plone 3.x). Some of the practices described in these documents may still work, but are not recommended to be used in your active Plone development.

More information about the documentation deprecation process.

Documentation style guide

Instructions and style guide to maintain this and other Plone related developer documentation.

Table Of Contents

About Plone

This is documentation for Plone®. Plone is a popular, open source, content management system written in Python programming language.


This documentation page was brought you by these awesome persons:

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Go to Plone Developer Documentation on GitHub.
  2. Press the Fork button. This will create your own personal copy of the documentation.
  3. Edit files using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press the Propose file change button next to it when done.
  5. Then head to the Send a pull request page (you won't need to fill in any additional text). Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on Github.

For basic information about updating this manual and Sphinx format please see Writing and updating the manual guide.