Zope - Zope 2

Zope 2
Screenshot
Zope management interface in a Web browser window.
Developer(s) Zope Corporation
Initial release 1998 (1998)
Stable release 2.13.16 / August 11, 2012; 3 months ago (2012-08-11)
Development status Active
Written in Python
Operating system Cross-platform
Type Web application server
License Zope Public License
Website zope2.zope.org

A Zope website is usually composed of objects in a Zope Object Database, not files on a file system, as is usual with most web servers. This allows users to harness the advantages of object technologies, such as encapsulation. Zope maps URLs to objects using the containment hierarchy of such objects; methods are considered to be contained in their objects as well. Data can be stored in other databases as well, or on the file system, but ZODB is the most common solution.

Zope provides two mechanisms for HTML templating: Document Template Markup Language (DTML) and Zope Page Templates (ZPT). DTML is a tag-based language that allows implementation of simple scripting in the templates. DTML has provisions for variable inclusion, conditions, and loops. However, DTML has major drawbacks: DTML tags interspersed with HTML form non-valid HTML documents, and careless inclusion of logic into templates results in very unreadable code. ZPT is a technology that fixes these shortcomings. ZPT templates can be either well-formed XML documents or HTML documents, in which all special markup is presented as attributes in the TAL (Template Attribute Language) namespace. ZPT offers a very limited set of tools for conditional inclusion and repetition of XML elements. Consequently, the templates are usually quite simple, with most logic implemented in Python code. One significant advantage of ZPT templates is that they can be edited in most graphical HTML editors. ZPT also offers direct support for internationalization.

Zope 2 underlies the Plone content management system, as well as the ERP5 open source enterprise resource planning system.

Read more about this topic:  Zope