Photo:1 Photo:2 Photo:3 Photo:4 |
| History | |
| 2>
The Zope Corporation was formed in 1995 in Fredericksburg, Virginia under the name Digital Creations, as a joint venture with InfiNet (a joint newspaper chain venture). The company developed a classified advertisement engine for the Internet, then in 1997 became an independently owned private company. The company's software engineers are led by CTO Jim Fulton. PythonLabs, creators of Python, became part of the company in the year 2000. Python founder Guido van Rossum left Zope Corp in 2003.[6]
What is now known as Zope 2 began with the merging of three separate software products – Bobo, Document Template, and BoboPOS – into the Principia application server. At the behest of its largest investor, Opticality Ventures, Principia was re-released as free software under the name Zope in 1998. Bobo, and therefore Zope, was the first Web object publishing solution.[2][3]
In November 2004, Zope 3 was released. Zope 3 is a complete rewrite that preserves only the original ZODB object database. 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. It was originally intended to introduce a backwards-compatibility layer so that Zope 2 software would run on Zope 3. Instead a module known as Five introduced the new Zope 3 paradigms into Zope 2, although full compatibility isn't possible that way either.
The existence of two incompatible Web frameworks called Zope has caused a lot of confusion. In response Zope 3 was in January 2010 renamed "BlueBream".[7][8]
[edit] Tags:Template,Python,Application Server,Free,Web,Object,Fredericksburg, Virginia,Complete Rewrite, | |
| Technical features | |
| 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 other Web server systems. 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: Dynamic 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 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 underlies the Plone content management system, as well as the ERP5 open source enterprise resource planning system.
[edit] Tags:Plone,Website,File System,Web Server,Xml,Template Attribute Language,Content Management System,Erp5,Enterprise Resource Planning,Content Management, | |
| Zope 3 / BlueBream | |
| 2>
Main article: BlueBream
Zope 2 has proven itself as a useful framework for Web applications development, but its use revealed some shortcomings.[citation needed] 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 that makes it easy to mix software components of various origins written in 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. Also many Zope platforms such as 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.
[edit] Tags:Written In,Type, | |
| Zope Toolkit | |
| 2>
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. To make it clearer which ones are independently usable, and also improve the re-usability of the packages the Zope Toolkit (ZTK) project was started. Thus the Zope Toolkit works as the base where each of the Zope-world frameworks builds on. Zope 2.12 is the first release of a Web framework that builds on Zope Toolkit, and Grok and BlueBream are set to have releases based on the ZTK during 2010.
[edit] Tags:Grok, | |
| Grok | |
| 2>
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.
[edit] Tags: | |
| Zope Page Templates | |
| 2>
As mentioned previously, Zope Page Templates are themselves XHTML documents, which means they can be viewed and edited using normal HTML editors or XHTML compliant tools (a big advantage compared to other template languages used for Web applications). Templates can also be checked for XHTML compliance so you can be fairly confident that they will automatically expand into proper XHTML.
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="href python:'http://someurl.com/%s'%someobject">...</a>
This is 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:
Template Attribute Language (TAL),
Template Attribute Language Expression Syntax (TALES),
Macro Expansion Template Attribute Language (METAL).
[edit] Tags:Tales,Metal, | |
| See also | |
| 2>
Free software portal
Content management
Django
web2py
ERP5
Plone
Web content management
Zope Content Management Framework
Zwiki
v
d
e
Web application frameworks
ASP.NET
ASP.NET MVC
ASP.NET Web Forms
ASP.NET Dynamic Data
BFC
DotNetNuke
MonoRail
OpenRasta
Umbraco
ColdFusion
ColdSpring
Fusebox
Mach-II
Model-Glue
onTap
on Wheels
Common Lisp
CL-HTTP
SymbolicWeb
UnCommon Web
Weblocks
C++
CppCMS
Wt
Java
Apache Struts
AppFuse
Flexive
GWT
Grails
Vaadin
ItsNat
JavaServer Faces
Jspx
Makumba
OpenXava
Play
Eclipse RAP
Reasonable Server Faces
RIFE
Seam
Spring
Stripes
Tapestry
WebWork
Wicket
ZK
ICEfaces
WaveMaker
JavaScript
Ample SDK
Prototype JavaScript Framework
Rico
script.aculo.us
SproutCore
jQuery
Dojo Toolkit
Perl
Catalyst
Interchange
Mason
Maypole
Mojolicious
WebGUI
Dancer
PHP
AppFlower
CakePHP
CodeIgniter
Drupal
e107
Horde
Joomla!
Lithium
Midgard
MODX
Qcodo
Seagull
SilverStripe
Symfony
TYPO3
Xaraya
Yii
Zend Framework
Zeta Components
Python
Django
Flask
Nevow
TurboGears
Plone
Pyjamas
Pylons
web2py
Zope
Tornado
Ruby
Ruby on Rails
Merb
Sinatra
Hobo
Camping
Nitro
Ramaze
Smalltalk
AIDA/Web
Seaside
Other languages
Application Express (PL/SQL)
Fusebox (ColdFusion and PHP)
HAppS (Haskell)
Kepler (Lua)
Lift (Scala)
OpenACS (Tcl)
SproutCore (JavaScript/Ruby)
Yaws (Erlang)
[edit] Tags:Free Software Portal,Django,Web2py,Web Content Management,Zwiki,Web Application Frameworks,Asp.net,Asp.net Mvc,Asp.net Web Forms,Asp.net Dynamic Data,Bfc,Dotnetnuke,Monorail,Openrasta,Umbraco,Coldfusion,Coldspring,Fusebox,Mach-ii,Model-glue,Ontap,On Wheels,Common Lisp,Cl-http,Symbolicweb,Uncommon Web,Weblocks,C++,Cppcms,Wt,Java,Apache Struts,Appfuse,Flexive,Gwt,Grails,Vaadin,Itsnat,Javaserver Faces,Jspx,Makumba,Openxava,Play,Eclipse Rap,Reasonable Server Faces,Rife,Seam,Stripes,Tapestry,Webwork,Wicket,Zk,Icefaces,Wavemaker,Javascript,Ample Sdk,Prototype Javascript Framework,Rico,Script.aculo.us,Sproutcore,Jquery,Dojo Toolkit, | |
| References | |
| 2>
^ http://pypi.python.org/pypi/Zope2
^ a b Reuven M. Lerner. "At the Forge - Assessing Ruby on Rails". Linux Journal. http://www.linuxjournal.com/article/8662. Retrieved 2010-03-26. "Zope also pioneered the idea of object publishing, in which a URL describes the method that should be called on a particular object."
^ a b Philip J Eby (2003-12-11). "Comment on "Lisp and Productivity"". Joel on Software. http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=94006. Retrieved 2010-03-26. "In 1997, Jim Fulton (the CTO at Zope Corp) developed a technique he called "Object Publishing", and implemented in a library called the Python Object Publisher (aka Bobo). The object publishing metaphor is found in many Python toolkits today; in other languages it's found only in crippled form, at best."
^ Lutz, Mark (2006). "18: Advanced Internet Topics". Programming Python (3 ed.). O'Reilly Media. http://books.google.com/books?id=5zYVUIl7F0QC&lpg=PA1130&pg=PA1130#v=onepage&q=&f=false. Retrieved 2010-03-27. "The use of Zope has spread so quickly that many Pythonistas have looked to it as a Python Killer Application - a system so good that it naturally pushes Python into the development spotlight."
^ Jon Udell. "Zope Is Python's Killer App.". BYTE. Archived from the original on 2000-03-02. http://web.archive.org/web/20000302033606/http://www.byte.com/feature/BYT20000201S0004. Retrieved 2011-06-04.
^ Guido van Rossum Leaves Zope.com
^ "BlueBream documentation". http://bluebream.zope.org/doc/1.0/introduction.html#overview. Retrieved 2010-01-17.
^ "Zope Foundation Board of Directors meeting 2010-10-14". http://foundation.zope.org/minutes/zfbod-minutes-20100114. Retrieved 2010-01-17.
[edit] Tags:Killer App, | |
| External links | |
| 2>
Wikibooks has a book on the topic of
Zope
Zope website
Zope 2 wiki
Zope 3 wiki
Zope Corporation
The Zope Book
template (ZPT) Examples
more Zope wikis
Retrieved from "http://en.wikipedia.org/w/index.php?title=Zope&oldid=472883676"
Categories: Cross-platform free softwareFree software programmed in PythonFree content management systemsPython web application frameworksZopeHidden categories: Articles needing cleanup from April 2011All articles needing cleanupCleanup tagged articles without a reason fieldAll articles with unsourced statementsArticles with unsourced statements from August 2011
Personal tools
Log in / create account
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
Actions
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact Wikipedia
Toolbox
What links here
Related changes
Upload file
Special pages
Permanent link
Cite this page
Print/export
Create a bookDownload as PDFPrintable version
Languages
Azərbaycanca
Česky
Dansk
Deutsch
Español
Euskara
Français
Italiano
Magyar
日本語
Polski
Português
Русский
Suomi
Svenska
Türkçe
Українська
中文
This page was last modified on 23 January 2012 at 23:16.
Text is available under the Creative Commons Attribution-ShareAlike License;
additional terms may apply.
See Terms of use for details.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.Contact us
Privacy policy
About Wikipedia
Disclaimers
Mobile view
if ( window.isMSIE55 ) fixalpha();
if ( window.mediaWiki ) {
mw.loader.load(["mediawiki.user", "mediawiki.util", "mediawiki.page.ready", "mediawiki.legacy.wikibits", "mediawiki.legacy.ajax", "mediawiki.legacy.mwsuggest", "ext.gadget.wmfFR2011Style", "ext.vector.collapsibleNav", "ext.vector.collapsibleTabs", "ext.vector.editWarning", "ext.vector.simpleSearch", "ext.UserBuckets", "ext.articleFeedback.startup", "ext.articleFeedbackv5.startup", "ext.markAsHelpful"]);
}
if ( window.mediaWiki ) {
mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"disablesuggest":0,"editfont":"default","editondblclick":0,"editsection":1,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":0,"extendwatchlist":0,"externaldiff":0,"externaleditor":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"highlightbroken":1,"imagesize":2,"justify":0,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nocache":0,"noconvertlink":0,"norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"quickbar":5,"rcdays":7,"rclimit":50,"rememberpassword":0,"rows":25,"searchlimit":20,"showhiddencats":false,"showjumplinks":1,"shownumberswatching":1,"showtoc":1,"showtoolbar":1,"skin":"vector","stubthreshold":0,"thumbsize":4,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":1,"watchdefault":0,"watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0,
"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,"flaggedrevssimpleui":1,"flaggedrevsstable":0,"flaggedrevseditdiffs":true,"flaggedrevsviewdiffs":false,"vector-simplesearch":1,"useeditwarning":1,"vector-collapsiblenav":1,"usebetatoolbar":1,"usebetatoolbar-cgd":1,"wikilove-enabled":1,"variant":"en","language":"en","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"searchNs100":false,"searchNs101":false,"searchNs10 Tags:Cleanup,Cross-platform,License, | |
zote monety |