An open API service indexing awesome lists of open source software.

https://github.com/zopyx/eteaching.org


https://github.com/zopyx/eteaching.org

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

================================
Plone 4 buildout for developers
================================

.. contents ::

Introduction
------------

`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.

For production site installations please use `standard Plone installer `_.

Prerequisitements
-----------------

What you need in order to use developer buildout with Plone 4

* 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.6 (other versions are *not* ok for Plone 4)

* Python Imaging Library installed for your Python interpreter (more below)

* Python `Distribute `_ installation tool, provided by your operating system
or installed by hand

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

Features
--------

This buildout provides

* Zope start up scripts (one instance)

* ``paster`` 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

* `omelette `_ buildout recipe which makes Python egg source code more browseable by using symlinks

* `mr.developer `_ command for managing source code checkouts and updates with buildout repeatable manner

* `collective.developermanual `_ - community managed developer manual for Plone
in source code form, ready for contributions

Creating Plone 4 buildout installation
------------------------------------------

Install ZopeSkel template package for your system-wide Python using Distribute::

easy_install ZopeSkel

... or upgrade existing installation::

easy_install -U ZopeSkel

You probably got here by running something like (replace *myplonefoldername* with the target folder where you want to Plone to be installed)::

zopeskel plone4_buildout myplonefoldername

Now, you need to run (please see remarks regarding your operating system below)::

python bootstrap.py

This will create ``bin`` folder and ``bin/buildout`` script. If you any time want to change Python interpreter
associated with buildout, or you need to update ``buildout`` script itself to newer version please rerun ``bootsrap.py``.

Now you can run buildout script which will download all Python packages
(.egg files) and create ``parts/`` and ``var/`` folder structure ::

bin/buildout

If this succesfully completes you can start buildout in foreground mode (Press *CTRL+C* to terminate)::

bin/instance fg

Now you can login to your site

http://localhost:8080

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

Next steps
----------

Creating your first add-on
==========================

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

.. note ::

When working with Plone add-ons, use paster command from buildout bin folder, not the system wide paster command.

Create theme (applies for Plone 4 also)::

bin/zopeskel plone3_theme plonetheme.mythemeid

Create Archetypes based content types package::

bin/zopeskel archetype mycompanyid.content

Create other Plone customizations::

bin/zopeskel plone mycompanyid.mypackageid

More info

* `Instructions how to use Paster command to create your own add-ons `_

Managing source code checkouts with buildout
=============================================

`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.

Operating system specific instructions
-------------------------------------------

Ubuntu/Debian
==============

Tested for Ubuntu 10.10.

Install prerequisitements::

sudo apt-get install python2.6 python-imaging wget build-essential python2.6-dev python-setuptools
easy_install ZopeSkel

OSX
====

Install `OSX development tools (XCode) `_ from Apple.

Install `Macports `_.

Then the following installs dependencies::

sudo port install python26 py26-pil py26-distribute wget
easy_install ZopeSkel

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

python2.6 bootstrap.py

Windows
========

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

Please read

* http://plone.org/documentation/kb/using-buildout-on-windows

Other
-----

The orignal copy of these instructions is available at

* https://svn.plone.org/svn/collective/ZopeSkel/trunk/zopeskel/templates/plone4_buildout/README.txt