Personal tools
You are here: Home Plone
Document Actions


by Nicolas Bossut last modified 2008-07-14 16:11

Plone is an open source content management system (/CMS.html) that can be used to build corporate web sites, news sites, extranet servers or intranet, publishing system and documents repository, groupware tool, e-commerce, etc.

Article inspired by Roberto Allende, "Mambo, Lenya and Plone CMS: a comparison", (Menttes), Joël Burton, "What is Plone ?" (


“Plone is rather unique in that everything in Plone is an object.”

Plone is an open source CMS developed with the Python programming language on the powerful and free Zope application server wich is an object oriented web application.

The Plone project was started in 1999 by Alan Runyan, Alexander Limi, and Vidar Andersen. At the SolutionsLinux 2003 conference, the Plone Team released Plone 1.0, supporting 22 languages. In 2004, the Plone Foundation was formed to protect and promote the use of Plone. Hundreds of worldwide references about Plone can be found on

Reasons to adopt Plone

  • Plone is easy to install. You can install Plone with a click and run installer, and have a content management system running on your computer in just a few minutes.
  • Plone is easy to use. The Plone Team includes usability experts who have made Plone easy and attractive for content managers to add, update, and maintain content.
  • Plone is international. The Plone interface has more than 35 translations, and tools exist for managing multilingual content.
  • Plone is standard. Plone carefully follows standards for usability and accessibility. Plone pages are compliant with US Section 508, and the W3C's AAA rating for accessibility.
  • Plone is Open Source. Plone is licensed under the GNU General Public License, the same license used by Linux. This gives you the right to use Plone without a license fee, and to improve upon the product.
  • Plone is supported. There are close to a hundred developers in the Plone Development Team around the world, and a multitude of companies that specialize in Plone development and support.
  • Plone is extensible. There is a multitude of add-on products for Plone to add new features and content types. In addition, Plone can be scripted using web standard solutions and Open Source languages.
  • Plone is technology neutral. Plone can interoperate with most relational database systems, open source and commercial, and runs on a vast array of platforms, including Linux, Windows, Mac OS X, Solaris and BSD.

Working with Plone

Technical overview

To use Plone, you don't need to learn anything about Zope; to develop new Plone content types, a small amount of Zope knowledge is helpful, and it is covered in the documentation available on Plone website.

By default, Plone stores its contents in Zope's built in transactional object database, the ZODB. There are products and techniques, however, to share information with other sources, such as relational databases, LDAP, filesystem files, etc.

Plone runs on Windows, Linux, BSD, Mac OS X, and many other platforms; double-click installers are available for Windows and Mac OS X, and RPM packages are available for Linux.

Zope itself is written in Python, an easy-to-learn, widely used and supported Open Source programming language. Python can be used to add new features to Plone, and used to understand or make changes to the way that Zope and Plone work.


There are four ways to view and interact with a site made with Plone. The live view, is the on line site made up of documents that have been published. The site and authoring view are the ones which are accessed by those who manage the content. Finally, the admin view is from where users and groups are administered.

Each user that sails within a Plone site can access a given content, depending of the user role and the state of the content. The content has one of the previously defined workflow states.

  • Admin who has access only to that area
  • Editor can only add and edit content but cannot publish it
  • Reviewer is the only one who can change a document state to "published" and therefore visible in the live site.

The roles are defined by access levels. A site reader is a user that only has permission to read; the editors, programmers and administrators' roles are defined in a similar way.

The content administration is extremely simple because the environment is oriented to documents and folders. In the Plone site a user with edition permission has, by default, the site tree to the left and the content area in the center. In the upper part of the latter four tabs contents, view, edit and sharing are shown. Contents shows the current folder contents, the size of each component in kilobytes, modification date and state in the workflow. View is a preliminary view, Edit edits content, Properties defines the value of such attributes as Allow Discussion or not, Effective Date, Expiration Date, Language, document goal information and Keywords i.e. Document Metadata. Finally sharing allows for Sharing, it is a way to allow others' access to collaborate with you on the content. To share an item, search for the person's name or email address in a form, and assign them an appropriate role. The most common use is to give people Manager permissions, which means they have full control of this item and its contents (if any).

Editing content

In the Plone default configuration, instead of choosing the editor, you must choose the format in which you are editing which are structured text, plain text and html (source code). Structured text is a group of conventions to write plain text and to obtain text with format.

Another alternative is to install Kupu. It is is a publishing wysiwyg for zope multiplatform that is integrated with plone. Kupu has formatting font and paragraphing tools, undo tool, numbering and bullets and manipulation of tables and images that enables you to change the images size using the mouse, replacing them by dragging.


Kupu environment

Content types

Some of the contents provided by Plone are:

  • Document: It presents statistic information to the user. This is most common type and it is very similar to the typical web page.
  • News item: This is a document that possesses special fields, as a date and it is shown automatically within the news tab of the site.
  • Links: It is a burl links; it has a title field, description and burl, which can be an internal or external link.
  • Events: An event to be carried out, as meetings, conferences, etc.
  • Folder: Similar to a filing system, that is, a folder to store content and provide a mechanism to organize the same.
  • Files: It allows to storage contents such as movies, sounds, texts, calculation sheet, compressed file, or any other thing that you may want to upload to the Plone site.
  • Smart folders: Similar to the folders being different in that instead of storing contents in them it shows resulting contents from a search with a predefined criteria.


Some of the portlets that posses a pole site are:

  • Calendar: The calendar shows the almanac of the present month. It generally outlines the present days ant it is possible to show days in which there are associated events.
  • Events: When a user creates an event, it appears created in the events portlet. The portlet of events can be configured to show the upcoming events, within a time interval, etc.
  • Authentification: If a user has not been authentificated, the authentification portlet appears.
  • Navigation: It shows a tree style directory of filing system with the sections within the site. When you click in a folder is shows its contents.

Portlets can be personalized and it is even possible to create new portlets.


A workflow provides a local way to administer content within a Plone site. It initially possesses 2 workflows, the workflow in itself and the folders workflow.

Workflow in itself establishes the states and transitions for each type of content except the folders that has its own workflow.

A state is the information about a kind of content in a moment in particular. Examples of states are public, private, pending and draft. A transition is an action that modifies the state.

Besides these two workflows, it is possible to define a new workflow from the ZMI, defining states, transitions and to program scripts to manipulate it.

Plone integrated applications

In Plone applications are called product. There is big number of products developed for Plone, and there are also products developed for Zope, that work in Plone or that can be integrated with small effort.

In the plone site there is a list of Plone products that range from weblogs, to export PDFs, bookmarks handling, etc. Most of the products are developed by a third party / externals and although it is common to find more than one alternative for a given task, many of them are not stable or documented enough as to be integrated to a site effortlessly. However there are interesting, well developed products as Plone Desktop which provides integration with Windows Explorer allowing for Drag and drop files into Plone through Windows Explorer, Cut and paste files into Plone through Windows Explorer, Edit files in your local programs (MS Office, Open Office, etc...).



You can watch some screencasts (Plone CMS search, Plone authoring, Plone CMS collaboration) on the Zea website.

You can download tutorials, howto documents and FAQs from the Plone site freely. At the moment there are four books published about plone:

  • Plone Live, by Michel Pelletier, Munwar Shariff
  • Building Websites With Plone, by Cameron Cooper
  • Plone Content Management Essentials, by Julie C. Meloni
  • Content management with Plone, Handbook for authors and editors, by Thomas Lotze and Christian Theune
  • The Definitive Guide to Plone, by Andy McKay (The Guide is published with Creative Commons license and it can be accessed freely)

Plone has 12 mail lists, for example users, developers, announcement, documentation, Plone User Interface and Design list, Plone Educational list which discusses Plone as a Learning Management System, use of Plone in University and College settings and other educational areas.