Personal tools
You are here: Home Documentation How-tos What documentation should I read?
Support

Get Help

Join our chat rooms or support forums if you have more specific questions.

Plone Training
Learn how to design, build, and deploy a website in Plone through one of the numerous Plone training sessions around the world.
Find Plone training…
 
Document Actions

What documentation should I read?

This How-to applies to: Any version.
This How-to is intended for: Any audience.

This how-to is intended as a brief overview of what documentation you should read - and when - to get you started.

Plone is a great content management system, and an even better platform for building your own content management solutions, intranets, public-facing web sites and many other systems. Due to this flexibility, however, it can be a little overwhelming for new users. This document shows you the major pieces of documentation you should at least skim through and use as references.

How do I get it up and running?

Before you can start playing, you must get Plone up and running.

Using a buildout
The safest way to set up a stable development environment for Plone 3.
Setting up from source
Aimed at Plone 2.5 and below, this how-to gets you going on a UNIX platform, and is probably your safest (and most easily supported) bet if you are running on Linux, BSD or Mac OS X.
The Plone Installers
Plone may be installed with several installers, found in the download section on plone.org
Package managers
Your operating system may provide packages for Zope and Plone which you can install. Make sure the packages are fairly recent, though - Plone 1.0.x and 2.0.x are no longer in use, and you should make sure that your packages match up with what the current version of Plone and Zope.

Where do I begin?

Here are some documents which will give you an overview.

Play with it!
Plone is designed to be toyed with. Try creating some content, joining the site under a few different names and play with the system to get familiar with it!
Find a book
There are various books written about Plone
learnplone.org
This resource is maintained by the fine folks at One/Northwest and contains thoughtful tutorials and how-tos aimed at new users.
Read the FAQ
Some questions are very common, and the Plone FAQ contains most of them. A recommended read.
Other documentation
The "End Users" section of the documentation area contains some more hints.

There are so many little things I want to do!

There are so many different ways you can take your Plone experience, that it's impossible to give a clear sequence of steps you should take to explore its potential. But there are some repositories of knowledge you should consult first.

The Documentation area on Plone.org
You already know about this, since you're looking at this how-to. You should browse through the How-to and Tutorial sections to get an idea of what Plone can be made to do. Larger manuals are found in the Reference Manual section. The Links section will help you find external resources. The Glossary should be your first point of call when you encounter a term you don't understand, and when you get an error you don't understand, look at the Error reference.
The Zope Book
This book teaches you about Zope, the underlying application server on which Plone runs. The chapters on DTML and inside-the-ZODB development won't be much use to you, but you should at least have an understanding of what Python Scripts, Zope Page Templates, Zope Catalog, Acquisition and the Zope Management Interface (ZMI) are.
Python documentation
If you wish to add or modify the logic behind the Plone user interface, you'll typically do so in Python. The Python project has several resources to get you going. There are more to be found in the Python section of the the links area

I'm still stuck

The Plone community is a very helpful one. If you are polite and patient, you're likely to get help with your problems.

How to ask for help
Please read about how to ask for help first. It will maximise your chances of getting help, by asking questions in a constructive and appropriate manner.
The mailing lists
The mailing list page contains information about the various mailing list available to the Plone community. The "plone-users" list is probably the best place to start. Do not use the "plone-devel" list for general questions - it is for the discussion of the development of Plone itself, not developing with Plone. Also, please search the lists before posting, since your question may well have been answered before.
The chat room
The #plone channel on irc.freenode.net is where most real-time discussion about Plone goes on. Se this page for more information.

I want to add more functionality

There are hundreds of add-on "products" (the Zope word for add-on components) for Plone. Generally, you download them, put their folder in your Products/ folder where Plone is installed, restart Zope and install the product using Plone's Add/remove products control panel. See the how-to on installing add-on products for more information, and refer to individual products' README files and other documentation for specifics.

But where do you find such products?

The Plone.org Products Area
This is where most Plone products list themselves and make releases available. Anyone can submit a product for inclusion, so if you have a product that's not already listed, please add it!
The Collective
The Collective is a source code repository of many Plone add-on components. The more mature products should be cataloged in the products area, but you may want to browse the Collective repository for specific code. You need to use SubVersion to check code out of the repository.

I want to build new add-on products for Plone

Writing a custom "product" is the way to extend Plone. If you wish to make a custom skin to change the look-and-feel of Plone, a new content type to replace or complements Plone's Document, File, Image, Folder, News Item and Event types, or something quite complicated, you will write one or more products. These typically involve both python code and page templates.

The MySite tutorial
Raphael Ritz' excellent tutorial will get you going with Plone development best practice.
The RichDocument tutorial
This tutorial walks through the creation of RichDocument, a new content type extending the built-in Page type, and covers many common and recommended practices along the way.
Archetypes documentation
If you are creating a new content type, you will probably do so using the Archetypes framework, which makes this process as easy as possible. The Developer guide tells you everything you need to know (well, almost). There are plenty to Archetypes-related tips in the how-to area and elsewhere, too.
Using ArchGenXML
ArchGenXML lets you create content types from UML models. Using this tool, you can create new content types with little or no actual coding.

I need to find out how to interact with...

Everything in Plone is a Zope (and therefore a Python) object, with a public interface. But often it's difficult to find out exactly what this interface is. There are three places you should look:

API documentation
You can browse API documentation on api.plone.org. Additionally, most products have an interfaces/ folder containing definitions of its public interfaces. You should read these when you are trying to find out how to use the products' components from your own code.
The Mighty DocFinderTab
There is a tool you need to have. It's called the DocFinderTab and places a new tab in the ZMI called "Doc" on each object, which allows you to view and search the public methods of that object. Invaluable.
Use the Source, Luke!
Python is a highly readable language, and for better or for worse, this means that the documentation is often the code itself. If you are looking for where a certain method is defined, it's often easier just to search the source for it. For example, this UNIX command will tell you where the method generateUniqueId is defined, searching the current folder and all its sub-folders in files with names ending in 'py':
  find . -iname '*py' | xargs grep 'def generateUniqueId'

See the man pages of grep and find for much more information on how you can use these tools. In Windows, a program like TextPad should allow you to do pretty detailed searches.

Some additional tips

Keep a log of your explorations. When you hit a brick wall, go back a step and see if you've overlooked anything. If the documentation you require is not there or is too difficult to find, or if it's there but too difficult to understand, then post to the mailing lists with as much detail as you can with how you think the experience could be improved.

As you progress, you are welcome (and encouraged!) to write new tutorials, FAQs and how-tos in the plone.org documentation area (just join plone.org and login). We will review these and publish as appropriate. Please do look at existing documentation before writing a new item, though, since we can't have duplication.

by Martin Aspeli last modified August 31, 2007 - 22:19
Contributors: Alexander Limi, Dorneles Treméa
All content is copyright Plone Foundation and the individual contributors.

For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by