Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Zope
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Zope versions== {{Infobox software | name = Zope | logo = | screenshot = Zope-screenshot.png | screenshot size = frameless | caption = Zope management interface in a Web browser window. | collapsible = yes | developer = Zope Corporation | released = {{Start date and age|1998}} | latest_release_version = {{Zope version}} | latest_release_date = {{Zope version|releasedate}} | latest_preview_version = | latest_preview_date = | operating_system = [[Cross-platform]] | size = | programming_language = [[Python (programming language)|Python]] | genre = Web [[application server]] | license = [[Zope Public License]] | website = }} ===Zope 2=== 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 server]]s. This allows users to harness the advantages of object technologies, such as [[Information hiding|encapsulation]]. Zope maps [[Uniform Resource Locator|URL]]s 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 can be problematic: DTML tags interspersed with HTML form non-valid HTML documents, and its use requires care when including logic into templates, to retain code readability. The use of DTML is discouraged by many leading Zope developers. ZPT is a technology that addresses the shortcomings of DTML. 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 and localization|internationalization]]. Zope 2 underlies the [[Plone (content management system)|Plone]] [[content management system]], as well as the [[ERP5]] open source [[enterprise resource planning]] system. ===BlueBream=== {{Infobox software | name = BlueBream | logo = | collapsible = yes | developer = Zope Corporation | released = {{Start date and age|2004}} | latest_release_version = 1.0 | latest_release_date = {{Start date and age|2011|01|18}}<ref name="release">{{cite web | url=https://pypi.python.org/pypi/bluebream | title=bluebream 1.0 | publisher=pypi.python.org | date=2011-01-18 | access-date=2020-11-04}}</ref> | latest_preview_version = | latest_preview_date = | operating_system = [[Cross-platform]] | size = | programming_language = [[Python (programming language)|Python]] | genre = Web [[application server]] | license = [[Zope Public License]] | website = {{URL|http://bluebream.zope.org/}} }} BlueBream is a rewrite by the Zope developers of the [[#Zope 2|Zope 2]] web [[application server]]. It was created under the name "Zope 3", but the existence of two incompatible frameworks with the same name caused much confusion, and Zope 3 was renamed "BlueBream" in January 2010.<ref name="rename">{{cite web|url=http://bluebream.zope.org/doc/1.0/introduction.html#overview|title=1. Introduction β BlueBream v1.0b4 documentation|website=bluebream.zope.org|access-date=2010-01-17|archive-date=2010-01-22|archive-url=https://web.archive.org/web/20100122133319/http://bluebream.zope.org/doc/1.0/introduction.html#overview|url-status=dead}}</ref><ref>{{cite web | url=http://foundation.zope.org/minutes/zfbod-minutes-20100114 | title=Zope.dev - zope Resources and Information }}</ref> BlueBream is distributed under the terms of the [[Zope Public License]]<ref>{{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). |access-date=2012-08-17 |archive-date=2009-08-22 |archive-url=https://web.archive.org/web/20090822055707/http://wiki.zope.org/zope3/FAQGeneral#what-is-the-license-of-zope-3 |url-status=dead }}</ref> and is thus [[free software]]. Zope 2 has proven itself as a useful framework for Web applications development, but its use revealed some shortcomings.{{citation needed|date=August 2011}} 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 was a rewrite of the software that attempts to address these shortcomings while retaining the advantages of Zope that led to its popularity. BlueBream is based on a [[component architecture]]<ref>{{cite web|url=http://wiki.zope.org/zope3/ComponentArchitecture|archive-url=https://web.archive.org/web/20080509165741/http://wiki.zope.org/zope3/ComponentArchitecture|url-status=dead|archive-date=9 May 2008|title=Zope 3 wiki Component Architecture|date=9 May 2008}}</ref> that makes it easy to mix software components of various origins written in [[Python (programming language)|Python]]. Although originally intended as a replacement for Zope 2, the Zope Component Architecture has instead been backported to Zope 2, starting with Zope 2.8. Many Zope platforms such as [[Plone (software)|Plone]] are going through the same type of piece-by-piece rewriting. The first production release of the new software, Zope X3 3.0.0, was released on November 6, 2004. ====History==== The Zope 3 project started in February 2001 as an effort to develop a new version of Zope as an almost complete rewrite, with the goal to retain the successful features of Zope 2 while trying to fix some of its shortcomings. The goal was to create a more developer-friendly and flexible platform for programming web applications than Zope 2 is. The project began with the development of a [[component architecture]], which allows the structuring of code into small, composable units with introspectable interfaces. The interfaces are supported by an interface package in order to provide the functionality of explicitly declared interfaces to the [[Python language]]. The first production release of the software, Zope X3, was released on November 6, 2004. In January 2010 Zope 3 was renamed BlueBream.<ref name="rename"/> ====Technology==== The goal of the project was to enable programmers to use Zope in order to expose arbitrary Python objects as model objects to the web without the need to make these objects fulfill particular behavior requirements. In Zope 2 there had been many behavior requirements to allow objects to participate in the framework, which resulted in a large amount of [[mixin]] base classes and special attributes. BlueBream uses a model/view architecture, separating the presentation code from the problem domain code. Views and models are linked together by the component architecture. The libraries underlying BlueBream have been evolving into a collection of useful libraries for web application development rather than a single, monolithic application server. BlueBream includes separate packages for interfaces, component architecture, HTTP server, publisher, Zope Object Database (ZODB), Zope Page Templates, [[I18N]], security policy, and so on. The component architecture is used to glue these together. The component architecture is configured using a ZCML (Zope Configuration Markup Language), an XML based configuration file language. The Zope 3 project pioneered the practice of [[code sprint|sprints]] for [[open source software]] development.<ref name="sprints">{{cite web|url=http://wiki.zope.org/zope3/SprintSchedule |title=Zope 3 wiki SprintSchedule |access-date=August 17, 2012 |url-status=dead |archive-url=https://web.archive.org/web/20120814030504/http://wiki.zope.org/zope3/SprintSchedule |archive-date=August 14, 2012 }}</ref> Sprints are intensive development sessions when programmers, often from different countries, gather in one room and work together for a couple of days or even several weeks. During the sprints various practices drawn from [[agile software development]] are used, such as [[pair programming]] and [[test-driven development]]. Besides the goal of developing software, sprints are also useful for geographically separated developers to meet in person and attracting new people to the project. They also serve as a way for the participants to learn from each other. BlueBream is considered a stable framework, used on production projects worldwide, most notably [[Launchpad (website)|Launchpad]]. ===Zope Toolkit=== {{Infobox software | name = Zope Toolkit | logo = | collapsible = yes | other_names = ZTK | developer = Zope Foundation | released = {{Start date and age|2010|06|26}} | latest_release_version = 1.1.6 | latest_release_date = {{Start date and age|2013|05|01}} | latest_preview_version = 2.0a1 | latest_preview_date = {{Start date and age|2013|05|01}} | repo = {{URL|https://github.com/zopefoundation/zopetoolkit}} | operating_system = [[Cross-platform]] | size = | programming_language = [[Python (programming language)|Python]] | genre = [[Web framework]] | license = [[Zope Public License]] | website = {{URL|https://zopetoolkit.readthedocs.io/}} }} As a result of the development of Zope 3 / BlueBream, there are now many independent Python packages used and developed as a part of BlueBream, and although many of these are usable outside of BlueBream, many are not. The Zope Toolkit (ZTK) project was started to clarify which packages were usable outside BlueBream, and to improve the re-usability of the packages. Thus the Zope Toolkit is a base for the Zope frameworks. Zope 2.12 is the first release of a web framework that builds on Zope Toolkit, and Grok and BlueBream were set to have releases based on the ZTK during 2010. ===Grok=== In 2006 the Grok project was started by a number of Zope 3 developers who wanted to make Zope 3 technology more agile in use and more accessible to newcomers. Grok has since then seen regular releases and its core technology (Martian, grokcore.component) is also finding uptake in other Zope 3 and Zope 2 based projects. ===Zope 4=== In late 2017, development began on Zope 4.<ref>{{cite web |title=Changelog β Zope 4 |url=https://github.com/zopefoundation/Zope/blob/4.x/CHANGES.rst |website=github.com}}</ref> Zope 4 is a successor to Zope 2.13, making many changes that are not backwards compatible with Zope 2. ===Zope 5=== Zope 5 was released in 2020.<ref>{{Cite web |title=Change log - Zope 5 |url=https://zope.readthedocs.io/en/latest/changes.html |website=zope.readthedocs.io}}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Zope
(section)
Add topic