Zope management interface in a web browser window. 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, and page templates, are available for the user to create and manage through the web. Specialized object types, such as wikis, blogs, and 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. Image File history File links Download high resolution version (867x649, 83 KB)A screenshot of Zope 2. ...
Image File history File links Download high resolution version (867x649, 83 KB)A screenshot of Zope 2. ...
Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ...
This article or section does not cite its references or sources. ...
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ...
Python is a programming language created by Guido van Rossum in 1990. ...
// The Zope Object Database (ZODB) transparently persists Python objects in a transactional database. ...
Look up Wiki in Wiktionary, the free dictionary. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
There are two major generations of the software in use today. As of March 2007, Zope 2.10.2 is the latest stable release of Zope 2 codebase, and Zope 3.3.1 is the latest release of Zope 3. Zope is distributed under the terms of the Zope Public License, a free software license. Zope Public License is a free software license, used primarily for the Zope application server software. ...
Free software is software which grants recipients the freedom to modify and redistribute the software. ...
History
The Zope Corporation was formed in 1995 in Fredericksburg, VA, as a joint venture with InfiNet (a Gannett/ Knight Ridder/ Landmark Communications joint newspaper chain venture.) The Company developed a classified advertisement engine for the Internet, then in 1997 became an independently owned private company. At the behest of its largest investor, Opticality Ventures, Zope Corporation released its software as free software, concentrating on providing premier customization services. The company's software engineers are led by CTO Jim Fulton. PythonLabs, creators of Python, (foundation of Zope), became part of the company in the year 2000. Python founder Guido van Rossum is no longer employed by Zope, however. Guido van Rossum Guido van Rossum is a Dutch computer programmer who is best known as the author of the Python programming language. ...
What is now known as Zope 2 started off with the merger of three separate software products – Bobo, Document Template, and BoboPOS – into the Principia application server. The authoring company, Digital Creations, open-sourced their flagship product in 1998, influenced by their venture capitalist, Hadar Pedhazur. This product was renamed "Zope" with this release. In November 2004, Zope 3 was released. Zope 3 is a complete rewrite that only preserves the original ZODB object database. The design of Zope 3 is driven by the needs of large companies, the clients of Zope Corporation, for complex business schemas. It is directly intended for enterprise web application development using the newest development paradigms. Zope 3 is, however, not compatible with Zope 2, so you cannot run Zope 2 applications on Zope 3. Therefore, an effort (called Five) to merge the new Zope 3 paradigms into Zope 2 has been ongoing since Zope 2.8. Its aim is to allow developers to write applications that run under both Zope 3 and Zope 2. But the history of Zope is much richer than the high-level perspective allows. Literally hundreds of open-source Zope products have been released on the web, and many have been absorbed into the core Zope 2 product. Others have withered away in unmaintained obscurity.
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 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. A website (or Web site) is a collection of web pages, images, videos and other digital assets and hosted on a particular domain or subdomain on the World Wide Web. ...
Wikimedia servers architecture The term Web server can mean one of two things: A computer that is responsible for accepting HTTP requests from clients, which are known as Web browsers, and serving them HTTP responses along with optional data contents, which usually are Web pages such as HTML documents and...
Encapsulation may refer to: information hiding and separation of concerns, in software engineering, the process of enclosing programming elements inside larger, more abstract entities integrated circuit encapsulation, in electronics the design and manufacture of protective packages micro-encapsulation, means to confine material molecular encapsulation, means to confine molecules encapsulation (pharmacology...
A Uniform Resource Locator, URL (spelled out as an acronym, not pronounced as earl), or Web address, is a standardized address name layout for resources (such as documents or images) on the Internet (or elsewhere). ...
Zope comes with the Zope Object Database, which transparently persists (Python) objects in a transactional database. // The Zope Object Database (ZODB) transparently persists Python objects in a transactional database. ...
Python is a programming language created by Guido van Rossum in 1990. ...
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 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 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. HTML, short for HyperText Markup Language, is the predominant markup language for the creation of web pages. ...
The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language that supports a wide variety of applications. ...
Internationalization and localization[1] are means of adapting products such as publications, hardware or software for non-native environments, especially other nations and cultures. ...
Zope 2 is the base behind the Nuxeo CPS, Plone, and Silva content management systems, as well as the base behind ERP5 open source enterprise resource planning. However, in late 2006 Nuxeo announced that future versions of its CMS would be implemented in Java. Nuxeo Collaborative Portal Server (CPS) is a free and open-source content management system written in the Python programming language. ...
Plone is an open-source content management system built on top of the Python application server Zope and its accompanying Zope Content Management Framework. ...
A content management system (CMS) is a computer software system used to assist its users in the process of content management. ...
This article is being considered for deletion in accordance with Wikipedias deletion policy. ...
This article or section does not adequately cite its references or sources. ...
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 built-in management interface is difficult to modify or replace. Zope 3 is a rewrite of the software that attempts to address these shortcomings while retaining the advantages of Zope that led to its popularity. Zope 3 is based on a component architecture that makes it easy to mix software components of various origins written in Python. The first production release of the new software, Zope X3 3.0.0, was released on November 6, 2004. The current production release, Zope 3.3.1, was released on January 14, 2007. Zope 3 is an emergent version of the popular Zope web application server. ...
Python is a programming language created by Guido van Rossum in 1990. ...
November 6 is the 310th day of the year (311th in leap years) in the Gregorian Calendar, with 55 days remaining. ...
2004 (MMIV) was a leap year starting on Thursday of the Gregorian calendar. ...
January 14 is the 14th day of the year in the Gregorian calendar. ...
2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the Anno Domini (common) era. ...
Five and the Future of Zope The Five project is a Zope 2 extension that allows usage of Zope 3 technologies within Zope 2. Originally released separately, Five has become an integral part of the main line of Zope 2 development. Five 1.0 was integrated with Zope 2 starting with Zope 2.8.0. Each successive Zope 2 release has integrated more of the features of Zope 3. The name Five is a bit of a joke: Zope 2 + Zope 3 = five. In one likely future scenario, proposed by Jim Fulton, Zope 3 may re-focus on providing multiple independent infrastructure components, while Zope 2 and Five would become one project focused on providing a web application server framework. (An ancillary goal is to reduce confusion about what exactly "Zope" is.)
Zope Page Templates As mentioned previously, Zope Page Templates are themselves XHTML documents which means they can be viewed and edited using XHTML compliant tools (which is a big benefit compared to other template languages used for web applications). However, these page templates are not meant to be rendered as is. Instead they are marked up with additional elements and attributes in special XML namespaces (see below). This additional information is used to describe how the page template should ultimately be processed. Here are some basic examples. To conditionally include a particular element, like a div element, simply add the tal:condition attribute to the element as follows: <div tal:condition="..."> ... </div> To control what appears inside an element, use the tal:content attribute like this: <h1><span tal:content="..."/></h1> ... Finally, to introduce or replace values of attributes use the tal:attributes attribute as follows: The power of python could also be utilised to dynamically alter the href at runtime. <a href="" tal:attributes="python: 'href http://someurl.com'">...</a> Because Zope Page Templates are themselves XHTML not only can they be edited using normal HTML editors but they can also be checked for XHTML compliance in template form. As a result, you can be fairly confident that these templates will be expanded into proper XHTML automatically. This a very cursory explanation of Zope Page Templates. The behavior of Zope Page Templates is almost completely described by a template language, fixed on TAL, TALES, and METAL specifications: This article or section does not cite its references or sources. ...
- Tag Attribute Language (TAL),
- Template Attribute Language Expression Syntax (TALES),
- Macro Expansion Template Attribute Language (METAL).
See also Image File history File links Portal. ...
The Zope Content Management Framework (CMF) is a series of tools for Zope that forms a framework providing many of the key services a content management system would need. ...
Plone is an open-source content management system built on top of the Python application server Zope and its accompanying Zope Content Management Framework. ...
Nuxeo Collaborative Portal Server (CPS) is a free and open-source content management system written in the Python programming language. ...
Content management, or CM, is a set of processes and technologies that support the evolutionary life cycle of digital information. ...
A content management system (or CMS) is a system used to organise and facilitate collaborative digital content creation. ...
External links |