Chapter 1. Background
In the past few years, the Plone community has experienced some dramatic changes in the way Plone sites are being developed, deployed, and maintained:
Once upon a time, add-ons to Zope 2 were distributed as specialized Python packages (called Products); nowadays they are distributed as generic Python packages (called Eggs)
Originally, the Zope 2 application server was distributed as a single monolithic package; nowadays many parts of Zope 2 have been factored out into smaller packages, which comprise a portion of a larger set of reusable Zope packages (called the Zope Toolkit)
To make things more challenging, the Zope community has recently renamed various projects and has redefined the Zope ecosystem in the process:
The web framework formerly known as Zope 3 is now called Bluebream (http://bluebream.zope.org/)
The set of libraries formerly known as Zope 3 is now called the Zope Toolkit (http://docs.zope.org/zopetoolkit/)
While this influx of new technology alongside the old has presented a challenge for many, it represents a fundamental step in the forward direction for Plone:
With the adoption of Eggs, Plone joins the rest of the Python community in sharing a common packaging framework with a rich set of features, including the ability to specify version dependencies
With the adoption of the Zope Toolkit, Plone joins the rest of the Zope community in using the Zope Component Architecture to manage application complexity
Unfortunately, there is a price to pay for all of this progress—confusion. Many people are confused about the best way to develop, deploy, and maintain their Plone site. This is very much expected with a complex system like Plone, but is not ideal.
Note
Although not quite there yet, Plone is moving rapidly towards a better development, deployment, and maintenance story. Every day the situation improves, and there has never been a better time to start using Plone! The author truly believes in the Plone software and community, and hopes this book will inspire others to feel the same.
By presenting clear instructions and using best practices and techniques from the Python and Zope communities, this book aims to eliminate any remaining confusion.
In this chapter, you will learn:
Site administration essentials
What you need to get started
About the Plone installers
About Python software distributions
How to install Distribute—a framework for managing Python packages
How to install PIP—a more user friendly Python package installer
How to install Buildout—a tool for building software
More about Python software distributions
How to install a C compiler
How to install Subversion—a version control system
How to install Python with Buildout