Plone 5 buildout

Buildout is a tool which automatically downloads, installs and configures Python software. Plone developers prefer uses buildout based installation method - it makes it easy to work with source code and developing your own Plone add-ons.

What you need in order to use developer buildout with Plone 5:

  • Experience using command line tools
  • Experience using a text editor to work with configuration files (buildout.cfg)
  • GCC compiler suite to build native Python extensions (Zope contains C code for optimized parts)
  • Python 2.7

Read below from operating system specific instructions how to install these dependencies.

This buildout provides

  • Zope start up scripts (one instance)
  • mrbob command for creating Plone add-ons (different from system-wide installation)
  • test command for running automatic test suites
  • i18ndude for managing text string translations in Python source code
  • mr.developer command for managing source code checkouts and updates with buildout repeatable manner

You need to run (please see remarks regarding your operating system below):

$ virtualenv --system-site-packages venv
$ cd venv
$ ./bin/pip install zc.buildout
$ cd ../
$ git clone https://github.com/veit/vs_buildout.git
…
$ cd vs_buildout
$ git checkout -t origin/5.0
…
Switched to a new branch '5.0'
$ ../venv/bin/buildout -c devel.cfg

This will download all Python packages (.egg files) and create parts/ and var/ folder structure.

If this succesfully completes you can start innstance in foreground mode (Press ctrl+c to terminate):

$ ./bin/instance fg

Now you can login to your site:

http://localhost:8010

The default user is admin with password admin. After initial start-up admin password is stored in Data.fs databse file and the value in buildout.cfg is ignored. Please follow these instructions to change the admin password.

Plone 4 buildout comes with bin/mrbob command for creating Plone add-ons.

Create theme

$ cd src
$ ../bin/mrbob -O my.theme bobtemplates:plone_addon
…
--> What kind of packagewould you like to create? Choose between 'Basic', 'Dexterity', and 'Theme'. [Basic]: Theme

Create Archetypes based content types package:

$ ../bin/mrbob -O my.type bobtemplates:plone_addon
…
--> What kind of packagewould you like to create? Choose between 'Basic', 'Dexterity', and 'Theme'. [Basic]: Theme

More info

mr.developer buildout extension command which can be used with buildout to manage your source code repositories mr.developer makes source code checkout from multiple repositores a repeatable task.

Tested for Ubuntu 14.04.

Install prerequisitements:

$ sudo apt-get install python2.7 wget build-essential python2.7-dev python-setuptools

Install OSX development tools (XCode) from Apple.

Install Macports.

Then the following installs dependencies:

$ sudo port install python27 wget

When you run bootstrap.py use the following command to make sure you are using Python interpreter from Macports:

$ python2.7 bootstrap.py -dc devel.cfg

Microsoft Windows systems is problematic because it does not provide the Microsoft Visual C compiler (commercial) which is required to build native Python extensions.

Please read