paab 0.1

paab, acronym for Plone As A Blog, is a project to build a collection of Products to use Plone as a Weblog.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!
send us
an update
GPL (GNU General Public License) 
ROOT \ Internet \ HTTP (WWW)
paab, acronym for Plone As A Blog, is a project to build a collection of Products to use Plone as a Weblog. The main goal of the project is to provide a simple plone installer that includes a set of products that modify the plone default behavior to be more blogish.

Using a custom buildout

Note: If you are using Windows, if you do not have PIL installed, or you are
not using Python 2.4 as your main system Python, please see the relevant
sections below.

You probably got here by running something like:

$ paster create -t plone3_buildout

Now, you need to run:

$ python

This will install zc.buildout for you.

To create an instance immediately, run:

$ bin/buildout

This will download Plone's eggs and products for you, as well as other
dependencies, create a new Zope 2 installation (unless you specified
an existing one when you ran "paster create"), and create a new Zope instance
configured with these products.

You can start your Zope instance by running:

$ bin/instance start

or, to run in foreground mode:

$ bin/instance fg

To run unit tests, you can use:

$ bin/instance test -s my.package

Installing PIL

To use Plone, you need PIL, the Python Imaging Library. If you don't already
have this, download and install it from

Using a different Python installation

Buildout will use your system Python installation by default. However, Zope
2.10 (and by extension, Plone) will only work with Python 2.4. You can verify which version of Python you have, by running:

$ python -V

If that is not a 2.4 version, you need to install Python 2.4 from If you wish to keep another version as your main system
Python, edit buildout.cfg and add an 'executable' option to the "[buildout]"
section, pointing to a python interpreter binary:

executable = /path/to/python

Working with buildout.cfg

You can change any option in buildout.cfg and re-run bin/buildout to reflect
the changes. This may delete things inside the 'parts' directory, but should
keep your Data.fs and source files intact.

To save time, you can run buildout in "offline" (-o) and non-updating (-N)
mode, which will prevent it from downloading things and checking for new
versions online:

$ bin/buildout -Nov

Creating new eggs

New packages you are working on (but which are not yet released as eggs and uploaded to the Python Package Index, aka PYPI) should be placed in src. You can do:

$ cd src/
$ paster create -t plone my.package

Use "paster create --list-templates" to see all available templates. Answer
the questions and you will get a new egg. Then tell buildout about your egg
by editing buildout.cfg and adding your source directory to 'develop':

develop =

You can list multiple packages here, separated by whitespace or indented

You probably also want the Zope instance to know about the package. Add its package name to the list of eggs in the "[instance]" section, or under the
main "[buildout]" section:

eggs =

Leave the ${buildout:eggs} part in place - it tells the instance to use the
eggs that buildout will have downloaded from the Python Package Index

If you also require a ZCML slug for your package, buildout can create one
automatically. Just add the package to the 'zcml' option:

zcml =

When you are finished, re-run buildout. Offline, non-updating mode should

$ bin/buildout -Nov

Developing old-style products

If you are developing old-style Zope 2 products (not eggs) then you can do so by placing the product code in the top-level 'products' directory. This is
analogous to the 'Products/' directory inside a normal Zope 2 instance and is scanned on start-up for new products.

Depending on a new egg

If you want to use a new egg that is in the Python Package Index, all you need to do is to add it to the "eggs" option under the main "[buildout]" section:

eggs =

If it's listed somewhere else than the Python Package Index, you can add a link telling buildout where to find it in the 'find-links' option:

find-links =

Using existing old-style products

If you are using an old-style (non-egg) product, you can either add it as an
automatically downloaded archive or put it in the top-level "products" folder. The former is probably better, because it means you can redistribute your buildout.cfg more easily:

recipe = plone.recipe.distros
urls =

If someproduct-1.3.tar.gz extracts into several products inside a top-level
directory, e.g. SomeProduct-1.3/PartOne and SomeProduct-1.3/PartTwo, then add it as a "nested package":

recipe = plone.recipe.distros
urls =
nested-packages =

Alternatively, if it extracts to a directory which contains the version
number, add it as a "version suffix package":

recipe = plone.recipe.distros
urls =
version-suffix-packages =

You can also track products by adding a new bundle checkout part. It
doesn't strictly have to be an svn bundle at all, any svn location will do,
and cvs is also supported:

parts =

Note that "myproduct" comes before the "instance" part. You then
need to add a new section to buildout.cfg:

recipe = plone.recipe.bundlecheckout
url =

Finally, you need to tell Zope to find this new checkout and add it to its
list of directories that are scanned for products:

products =

Without this last step, the "myproduct" part is simply managing an svn
checkout and could potentially be used for something else instead.

Last updated on November 22nd, 2007

#plone installer #Plone weblog #web blog #Plone #weblog #blog #website

Add your review!