Zopede:Zope fr:Zope ja:Zope zh:Zope Zope is an object oriented web application server written in the programming language Python. It can be almost fully managed with a web-based user interface. A Zope website is composed of objects as opposed to files, as is usual with many other web server systems. The advantage of using objects instead of files is that objects:
Zope maps URLs to objects using the containment hierarchy of such objects; methods are considered to be contained in their objects as well. Zope comes with the Zope Object Database (ZODB), which transparently persists (Python) objects in a transactional database. One particular innovative feature of Zope is its real world use of acquisition, a programming technique parallel to inheritance in object oriented programming. In acquisition, objects 'inherit' behavior from their context in a composition hierarchy, as opposed their class in a class hierarchy. This allows certain ways to structure source code that are otherwise harder to accomplish, and can encourage application decomposition. A common use is in structuring the way layout elements are used in a web page. Acquisition as implemented in Zope 2 is also perceived as a source of bugs, however. Zope provides several mechanisms for HTML templating: Dynamic Template Markup Language (DTML), and Zope Page Templates (ZPT). DTML is a tag-based language which allows to implement 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 are valid XML documents, in which all special markup is presented as attributes in the TAL (Template Attribute Language) namespace. ZPT offers just a very limited set of tools for conditional inclusion and repetition of XML elements, thus 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. A new version of Zope, Zope 3, has been in development for some time. It is a rewrite of Zope and features a component architecture. Zope 2 is the base behind the Plone and Nuxeo CPS content management system. See alsoExternal links
Zope User Groups
Categories: Content management systems | Free software | Zope | Python programming language |
|
This article is licensed under the GNU Free Documentation License. It uses material from Wikipedia article. Browse Wikipedia for more information. |