Zope 3

Zope 3

Zope 3 is the new generation of the popular Zope web application server, rewritten from scratch with a component architecture and which has evolved into a large library of reusable Python components. The first production release of the software, Zope X3, was released on November 6, 2004. Zope 3 is distributed under the terms of the Zope Public License [cite web
url=http://wiki.zope.org/zope3/FAQGeneral#what-is-the-license-of-zope-3
title=FAQ - General 5: What is the license of Zope 3?
quote=Zope 3 is licensed under Zope Public License, Version 2.1 (ZPL).|
] and is thus free software.

History

The Zope 3 project started in February 2001 as an effort to develop a new version of Zope as a complete rewrite, retaining the successful features of Zope 2 and fixing its shortcomings, thus making it an easier and powerful platform for programming web applications. The project began with the development of a component architecture, allowing to factor software into clean reusable units with introspectable interfaces. Zope 3 introduced an interface package in order to provide the functionality of explicitly declared interfaces to the Python language.

Technology

The goal of the project was to enable programmers to use Zope in order to publish Python objects without imposing any restrictions on them, such as special base classes, magic attributes and such. The presentation code is separated from the problem domain code, and is linked together by the component architecture.

Zope 3 is considered by some people more of a collection of useful libraries for web application development rather than a monolithic application server. Zope 3 includes separate packages for interfaces, component architecture, HTTP server, publisher, Zope Object Database (ZODB), Zope Page Templates, I18N, security policy, and so on. All these components are glued together with ZCML, an XML based configuration file language, and can be used separately from other parts of Zope.

The project rigorously follows the test-driven development method; all the code is covered with unit tests. A practice of documenting the software designs with doctests has emerged. Doctests are text documentation with included executable snippets of code that look like transcripts of interactive Python sessions. In comparison with the conventional unit tests, doctests are much more readable and narrative-oriented, while retaining the benefits of automated unit tests.

The Zope 3 project pioneered the practice of sprints for open source software development. The sprints are intensive development sessions when programmers from different countries gather in one room and work together for a couple of days or even several weeks. The sprints are usually organized in a way which draws a lot from the Extreme Programming discipline of software development. Sprints are good for attracting new people to the project, getting some work done, and getting geographically separated developers to meet in person.

Current status

Zope 3 is in active development and is now considered a stable framework, used on production projects worldwide. After 3.3, the Zope 3 project has moved towards making the whole project small separately installed modules, and 3.4 will be the last release of Zope downloadable as one big file. Instead user of Zope 3 will install only those modules needed for the product using the new Python egg technology for package distribution.

In the year 2006, development on the Grok web framework was started. Grok makes extensive use of Zope 3 technologies and aims to make Zope 3 more easy to use. To ease the transition from current projects using Zope 2 to the Zope 3 component architecture, the Five project makes the core functionalities of Zope 3 available to Zope 2 developers. The Zope 2.8 and later include Five. Several open source projects, including the Plone and Silva content management systems have started using Five to provide a migration path for their developers to Zope 3.

External links

* [http://dev.zope.org/Zope3 The Zope 3 project]
* [http://grok.zope.org The Grok project] ]
* [http://codespeak.net/z3/five/ Five] (Zope 3 in Zope 2)
* [http://code.google.com/p/zope3demos Zope 3 demos]

References


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Zope — est un serveur d application web orienté objet, libre, écrit en langage de programmation Python et gérable à partir d une interface Web. Zope publie sur le réseau des objets Python enregistrés dans une base de données objet, ZODB. Des types d… …   Wikipédia en Français

  • Zope — 2 Интерфейс управления Zope в окне веб браузера. Тип Сервер приложений …   Википедия

  • Zope — 2 Zope management interface en la ventana de un navegador Web. Desarrollador Zope Corporation …   Wikipedia Español

  • Zope — m. *Aura (ave rapaz). * * * zope. m. Am. Cen. y Col. aura2. || 2. El Salv. vómito. || amarrar el zope …   Enciclopedia Universal

  • zope — 1. m. Am. Cen. y Col. aura2. 2. El Salv. vómito. amarrar el zope. fr. Hond. vomitar (ǁ lo contenido en el estómago). amarrar zope. fr. Guat. vomitar (ǁ lo contenido en el estómago) …   Diccionario de la lengua española

  • Zope — ope, n. [G.] (Zo[ o]l.) A European fresh water bream ({Abramis ballerus}). [1913 Webster] …   The Collaborative International Dictionary of English

  • Zope — Zope, 1) (Schwuppe, Dünneke, Cyprinus ballerus, Abramis b.), Art aus der Fischgattung Karpfen, hat kleinen, stumpfen Kopf, dünnen, breiten Leib, lange Afterflosse mit 21 Strahlen, wiegt bis drei Pfund, lebt in der Ostsee, hat sehr grätiges… …   Pierer's Universal-Lexikon

  • Zope — Zope, Fisch, s. Brasse …   Meyers Großes Konversations-Lexikon

  • Zope — Zope, s. Brachsen …   Kleines Konversations-Lexikon

  • Zope — Infobox Software name = Zope caption = Zope management interface in a web browser window. collapsible = yes developer = Zope Corporation status = Active latest release version = 3.3.1 latest release date = release date|2007|01|14 latest preview… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”