Readablewiki

Zope

Content sourced from Wikipedia, licensed under CC BY-SA 3.0.

Zope is a family of free, open‑source web application servers and frameworks written in Python. It was one of the first systems to publish Python objects on the web, a concept called object publishing. Over the years, Zope spawned several related projects that share a common philosophy, code, and community.

What Zope is and does
- Zope is both a web server and a framework for building web applications. It maps web requests to Python objects, stores data in an object database, and provides tools to manage and present that data.
- The core ideas include a strong emphasis on modular components, reuse, and an architecture that makes it easy to build complex web apps by combining small parts.

Key parts of the Zope family
- Zope 2: The most widely used branch, especially as the foundation for the Plone content management system. It has a long track record in building large, enterprise-like sites.
- BlueBream (formerly Zope 3): A complete rewrite aimed at being more developer-friendly and flexible. It uses a component architecture and a model/view approach but is not backward-compatible with Zope 2.
- Grok: Aimed at making Zope 3 technology easier to use, Grok provides a friendlier layer on top of the Zope 3/BlueBream ideas.
- Zope Toolkit (ZTK): A collection of reusable Python packages that underlie the Zope frameworks. ZTK helps developers build or extend Zope-based projects without being tied to a single monolithic server.
- Zope 4 and Zope 5: Later generations that continue the evolution of Zope, focusing on modern web development practices and better integration with the Zope Toolkit and related projects.

Core technologies you’ll hear about in Zope
- ZODB (Zope Object Database): The built-in database that stores Python objects directly, rather than relying on tables and rows. This makes it easy to work with complex data structures in Python.
- Templating: Zope uses two templating approaches:
- DTML (Document Template Markup Language): An older, tag-based system that can mix logic with HTML, but is generally discouraged for new development.
- Zope Page Templates (ZPT): The preferred approach, using XML or HTML documents with a TAL (Template Attribute Language) namespace. ZPT templates are easy to edit with standard HTML tools and support internationalization (i18n).
- TAL, TALES, METAL: The template languages and attributes that power ZPT templates, allowing conditional content, content insertion, and attribute manipulation in a clean way.
- ZCML (Zope Configuration Markup Language): An XML-based configuration system used to wire components together in the Zope architecture.
- Zope Component Architecture: The framework’s core for composing software from reusable parts, enabling clean interfaces and easy extension.

Organization and community
- Licensing: Zope software is released under the Zope Public License, a free and open-source license.
- Zope Foundation: An organization established to promote and support the Zope platform and its community. It manages community resources, infrastructure, and events.
- Community practices: The Zope community has long used sprints—intensive, collaborative coding sessions that bring developers together to work, pair-program, and share knowledge.

How Zope is used today
- Plone and ERP5 are notable applications built on Zope 2, demonstrating Zope’s capability to handle large, complex sites.
- BlueBream (Zope 3) provides a modern, modular foundation for building web applications with a strong focus on component reuse and clean separation between data, presentation, and logic.
- The Zope Toolkit and related projects promote reusability, allowing developers to pick and choose the parts they need for new projects or to improve existing ones.

In short
Zope is a long-running, Python-based ecosystem for web development built around publishing Python objects to the web, a robust object database, and a flexible component architecture. It has evolved into a family of related projects—Zope 2, BlueBream, Grok, and the Zope Toolkit—that aim to provide powerful, scalable tools for building web applications, with Plone as one of its best-known beneficiaries. The community continues to maintain and extend Zope under the Zope Public License, keeping sprints and collaboration at the heart of its development.


This page was last edited on 3 February 2026, at 01:05 (CET).