Introduction

Zope is an open source web application framework. Zope has three distinct audiences: users, developers, and administrators. This guide is intended to document Zope for the second audience, developers. If you are a user, or an administrator, or are looking for documentation about either of those audiences, you should check out The Zope Book or The Zope Administrator's Guide.

Throughout this guide, it is assumed that you know how to program in the Python programming language. Most of the examples in this book will be in Python. There are a number of great resources and books for learning Python; the best online resource is the Python.org web site and many books can be found on the shelves of your local bookstore.

Zope is a large, mature framework that provides many services to web application developers. This book describes these services from a hands on, example-oriented standpoint. This book is not a complete reference to the Zope API, but rather a practical guide to applying Zope's services to develop and deploy your own web applications built on Zope. This book covers the following topics:

Components and Interfaces
Zope is moving toward a component-centric development model. This chapter describes the new component model in Zope and how Zope components are described through interfaces.
Object Publishing
Developing applications for Zope involves more than just creating a component, that component must be publishable on the web. This chapter describes publication, and how your components need to be designed to be published.
Zope Products
New Zope components are distributed and installed in packages called Products. This chapter explains Products in detail.
Persistent Components
Zope provides a built-in, transparent Python object database called ZODB. This chapter describes how to create persistent components, and how they work in conjunction with the ZODB.
Acquisition
Zope relies heavily on a dynamic technique called acquisition. This chapter explores acquisition thoroughly.
Security
When your component is used by many different people through the web, security becomes a big concern. This chapter describes Zope's security API and how you can use it to make security assertions about your object.
Debugging and Testing
Zope has built in debugging and testing support. This chapter describes these facilities and how you can debug and test your components.