Monday, October 1, 2007

zc.buildout

http://plone.org/documentation/tutorial/buildout/introduction

Introduction

Or: "What's wrong with a plain old Zope instance"?

Martin Aspeli

Learn about eggs, setuptools and dependency management, and how to use zc.buildout to set up a development environment.
Page 1 of 9.

Prior to Plone 3.0, most developers and users who did not use a GUI installer, would set up a Zope instance, drop in a few products into the Products folder, and be done with it. Unfortunately, this approach has a few problems:

  • Plain old Zope instances are not very well equipped to deal with packages distributed as python eggs or using setuptools namespace packages. Many new packages in Plone 3 are made in this way, and more and more third party modules will be as well.
  • Without access to the metadata that is held in eggs, developers may find it too time-consuming or confusing to factor their work into multiple packages that are more re-usable, preferring monolithic products that are impossible to re-use outside Zope.
  • Without any further tools, it is cumbersome to repeat a setup across different environments.

As eggs become more important, developers should look to employ more appropriate tools for managing their code. zc.buildout, hereafter referred to only as "buildout" is one such tool. This tutorial shows how to use buildout for day-to-day development as well as deployment.

No comments: