Zope

From Academic Kids

Missing image
Zope-screenshot.png
Zope management interface in Mozilla Firefox

Zope is an Open Source object oriented web application server written in the programming language Python. Zope stands for "Z Object Publishing Environment". It can be almost fully managed with a web-based user interface. Zope publishes on the web Python objects that are typically persisted in an object database, ZODB. Basic object types, such as documents, images, page templates, are available for the user to create and manage through the web. Specialized object types, such as wikis, blogs, photo galleries are available as third party add-ons (called products), and there is a thriving community of small businesses creating custom web applications as Zope products.

There are two major generations of the software in use today. As of May 2005, Zope 2.7.6 is the latest stable release of Zope 2 codebase, and Zope X3 1.0.0 is the latest release of Zope 3.

Contents

History

Zope, as it is today, appeared when its creator company, Digital Creations (now Zope Corporation), opensourced their flagship products, Bobo and then Principia, in 1998, influenced by their venture capitalist, Hadar Pedhazur. The combination of Bobo and Principia got renamed to Zope with this release. This move transformed Digital Creations into a services company, and got Zope much more publicity and momentum than Principia enjoyed ever before.

Technical features

A Zope website is composed of objects in an object database as opposed to files, as is usual with many other web server systems. This approach allows 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.

Zope comes with the Zope Object Database (ZODB), which transparently persists (Python) objects in a transactional database.

One particularly innovative feature of Zope is its widespread use of acquisition. Acquisition is a technique parallel to class inheritance, in which objects 'inherit' behavior from their context in a composition hierarchy, as opposed to 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, as it enables many unexpected behaviours. The use of acquisition has been severely narrowed in Zope 3.

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 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 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. ZPT also offers direct support for internationalization.

Zope 2 is the base behind the Plone, Silva and Nuxeo CPS content management systems.

Zope 3

A new version of Zope, Zope 3, has been in development for some years. Zope 2 has proven itself as a useful framework for web applications development, but its use revealed some shortcomings. To name a few, creating Zope 2 products involves copying a lot of boilerplate code, "magic" code that just has to be there, and the domain logic is highly coupled with the presentation logic, so creating and maintaining tailored versions is difficult. Zope 3 is a rewrite of the software that attempts to address these shortcomings while retaining the advantages of Zope that got it its popularity. Zope 3 is based on a component architecture. A first production release of the new software, Zope X3, was released on November 6, 2004.

See also

External links

de:Zope fr:Zope ja:Zope pl:Zope zh:Zope

Navigation

Academic Kids Menu

  • Art and Cultures
    • Art (http://www.academickids.com/encyclopedia/index.php/Art)
    • Architecture (http://www.academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (http://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (http://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)

Information

  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Toolbox
Personal tools