Zope is an OpenSource web ApplicationServer that is a little bit like Domino. It is written in PythonLanguage, with performance-critical parts in CeeLanguage.
As of 2014 there has been no release in 4 years, and the web site says: http://zope2.zope.org/
Zope is a legacy framework, which is kept alive to support existing applications built on top of it. It is no longer recommended to start new projects based on it, unless you are intimately familiar with the technology stack.
The "Six reasons for using Zope" page actually recommends against using it.
Find Zope at http://www.zope.org/ and the old version at http://old.zope.org/
Most of the references below altered to old.zope.
From LearningPython, p. 314:
- Zope: A framework for publishing Python object hierarchies on the Web. With Zope, it's easy to set up a powerful interface to a database of web-based applications, by providing support for templates, interfaces to database engines, etc. If you're thinking about developing sophisticated web applications (as opposed to simple forms processing [...]), you should seriously investigate these tools.
"The Zope Book"'' can be found on-line at
Zope and Wiki form a perfect couple!
- Various Versions:
- Specific Versions:
Scope / area of application:
- See ZwiKi. They are both extremely collaborative creatures that capture the true spirit of the Web.
Performance / Scalability:
- Zope provides a nice way to handle code templating, distributed page authoring, dynamic content and access control.
- It doesn't really help you design pages as such.
- Co-authoring is an integral part of Zope, making it a good choice for content management systems.
- PloNe is the star OpenSource CMS based on Zope.
- ZwiKi can also be added either with or without PloNe.
- CollaborativePortalServer (CPS) is another product built on ZopeApplicationServer.
Ease of learning:
- The basic Zope uses one machine and one filestore, so it has scale limits.
- You can move content into a separate RDBMS, to extend the scale somewhat.
- There is an add-on called ZEO which is the fully scalable version. In a recent announcement (Spring 2000) the authors of ZEO have announced that it is being released as OpenSource after a short testing program.
Comparison to competitors (e.g. WebObjects, AllaireColdFusion, ActiveServerPages, PHP)
- You can do some neat things with it very easily, but there is a lot of functionality, and so it takes a lot of time to become proficient.
- The documentation is spotty--there is a fair bit of it, but it is spread out and not always well-organized. Digital Creations has published the Zope Book online to help remedy this;
- Although you can do a lot with the built-in DTML language and with add-on Products (as they are called), to take full advantage of Zope you really need to have some knowledge of PythonLanguage.
- Add-on products include ZwiKi to create wiki webs, WorldPilot (a scheduler/calendar client), the Portal toolkit, a Slashdot-like product called Squishdot, and ZDiscussions to create threaded discussions. There are active mailing lists, including one dedicated to using Zope with ecommerce. -- RichardMoon
- Documentation for Zope has improved a lot, with major doc projects linked from http://old.zope.org. You'll still need to know how to trawl the net for clues, and work with/deal with the community. If you want to stay current and keep an eye on where Zope is going, follow the Fishbowl and mailing lists. -KarlAnderson
- Zope is ObjectOriented; AllaireColdFusion, ASP, and PHP are not. (PHP may have objects, but it does not meet the definition of object-oriented.)
- Zope is OpenSource, WebObjects, ASP and AllaireColdFusion are not.
- Everything is editable through the web.
- Zope has a complete security and collaboration system.
- Zope is a complete package including a built-in search engine, object database, and editing facility.
- Zope runs on Linux, most flavors of Unix, and MicrosoftWindows.
- Zope's foundation, PythonLanguage, is also OpenSource.
- Zope is modular, PHP is Perl thing
- Zope used to have GnowSys which now uses DjangoProject instead.
I'm curious if anyone who uses Zope also uses UserLand's Frontier, and would be interested in commenting on how well they compare. Obviously if you're a Python fan (I am), you might lean towards Zope. I'm less interested obvious differences like that and want more end-user experiences with both. -- JohnPassaniti
Yes, at least one person uses both: the author of ZopeFish? <http://zopefish.weblogs.com/>.
From what I read about it, in addition to inheritance, Zope provides an inheritance-like abstraction mechanism called AcquisitionInheritance.
That's correct. Simply put - an object (eg a web page) in a folder has access to all the objects in that folder plus those in the folders above it (subject to security restrictions). Typically web pages in zope will use this to pull in standard headers and footers, logos or database access methods. You can also access the attributes of other objects and apply logic depending on the result. -- RichardMoon
For the all-new Zope 3, implicit acquisition is pretty much going away in favour of explicit, largely because of the difficult-to-manage complexity that arises from ubiquitous acquisition. See http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/FAQ for the high-level view.
After a while, I started to get some clarity about acquisition:
http://udell.roninhouse.com/bytecols/2001-06-13.html -- JonUdell
Zope has won JoltProductivityAward in the Language and Development Environments field on April 11, 2001.
I am confused. Do we need Zope if we have PythonLanguage based MoinMoin? Or is Zope used for tasks unsuited for a WikiServer (such as ....) ?
Saw a nice demonstration of Zope (at the Saint Louis Unix User's Group). Strikes me as "an industrial strength wiki." Its operation is remarkably wiki-like, in that you can browse/add/change/delete content through the browser interface, and that your tools to build the Web site are simple (like a wiki) but robust.
You can build very nice (and very real) professional Web sites with it. -- JeffGrigg
WhatHappened to ZopeApplicationServer? Is it being updated in sync with PythonLanguage changes?
Sure, though Zope tends to use slighly older Python versions due to the need for security audits. As of 2007: both Zope 2 and Zope 3 are actively developed, with Zope 3 gradually becoming "the zope libraries" and Zope 2 becoming "the Zope application server, based on the zope libraries". See also PloNe.
At http://parlevink.cs.utwente.nl/ecom/02/proceedings/ecom02_07.pdf, ( BrokenLink 20070511 ) it was said Zope can be used as a server to implement RestArchitecturalStyle WebServices. Any recent (mid 2003+) references to this alternative? -- dl