Zope
Zope is a Serveur of application Web directed free object writes in the computer programming language Python. It can be entirely managed starting from a Interface Web. Zope publishes on the network of the Python objects which are recorded in a Database object, ZODB. Basic types of objects, such as documents, images, owners ( templates ) of page, are at the disposal of the users to be created and managed via the Internet. Types of specialized objects, such as the Wiki S, the Blog S, the photograph galleries, are available as third grafts (called produced), and there exists a growing community of small companies creating of the Applications Web to measure containing Zope.
There exist 2 versions of Zope:
-
the historical branch 2.x, successor of the 1.x. It is this one which is used, for example, for CMS Plone and CPS. It breaks up into subbranches 2.8.x, 2.9.x, and 2.10.x
-
the branch 3.x, which is a total rewriting of the Serveur of application. Fruit of the experiment of the project Zope 2 and 10 years of development of Waiter of application, Zope 3 wants to be more effective, lighter and much more powerful.
At the date of October 2006, the versions are 2.9.5, 2.10.0 and 3.3.0. It should be noted that since 2005, the project passed in time mode. A major version leaves every 6 months.
History
Zope appeared when its creative company, DIGITAL Creations (today Zope Corporation), released the source code of their leading products, Bobo then Principia, in 1998. The combination of the two products was famous Zope during their diffusion. This decision transformed DIGITAL Creations into a Services company, and gave to Zope much more publicity and of influence that Principia had never had before.
Features
A Zope site is composed of objects in a Database object, contrary to files as it is the case usually with other systems of Web servers. This approach makes it possible to exploit the advantages of technologies object, such as the encapsulation. Zope connects URL to the objects by using the hierarchy of contents of such objects. These objects also have methods.
Zope comes with its Database from objects Zope Object Database (ZODB), which serialized in a transparent way objects in a base of compromise data.
A characteristic particularly innovating of Zope is its frequent use of acquisition. Acquisition is a technique resembling the heritage of class, according to which the " objects; héritent" behavior of their context in a hierarchy of composition, instead of inheriting it their higher class in a hierarchy of classes. That allows certain manners of structuring the Source code which would be difficult to achieve differently, and that can encourage the decomposition of application. A frequent use is the structuring in the way in which the elements are placed on a Web page. Acquisition as established in Zope 2 is also perceived like a source of bugs, since it can involve many unexpected behaviors. The use of acquisition was strongly restricted in Zope 3, in order to avoid the nondesired results.
Zope provides several processes to apply owners to HTML: the DTML (Dynamic Template Markup Language, Language of Dynamic Beaconing of Owner ) and ZPT (Zope Templates Page, Owners of Pages of Zope ). The DTML is a Langage of beaconing making it possible to establish simple scripts in the owners. The DTML allows the inclusion of variables, conditions and loops. However, the DTML has major disadvantages: markers DTML mixed with HTML form nonvalid documents HTML, and the inattentive inclusion of logic in the owners produces illegible code. ZPT is a technology which solves these problems. Owners ZPT can be is documents well formed XML or HTML, in which all special marking is presented in the form of attributes in the field of name TAL (Template Attribute Language, Langage of Attributes of Owners ). ZPT offers a limited whole of tools for the conditional or repetitive inclusion of elements XML, thus the owners are usually rather simple, with the majority of the logic established in Python. An significant advantage of the owners ZPT is that they can be published in the majority of the graphic editors HTML. ZPT also offers the direct support of the Internationalisation.
Zope 2 is used as a basis for the management systems of contents Plone, Silva, Nuxeo CPS, Zwook and Chubaka.
Zope uses Métadonnée S (Configuration of the tools of metadata).
Zope 3
A new version of Zope, Zope 3, is under development since 2001. Zope 2 proved to be a useful Framework for the development of Applications Web, but its use revealed some defects. To quote some of them, to create products for Zope 2 requires to copy a great quantity of code of initialization, code " magique" who has right need to be there, and the logic of the field is highly related to the logic of the presentation, which makes difficult the creation and the maintenance of versions to measure.
Zope 3 is a rewriting of the software which aims at regulating these problems while keeping the advantages of Zope which were worth its popularity to him. Moreover, its design wants to be modern, with an architecture with components (delegation of tasks), massively using the interfaces and the adapters (for " to connect the components between eux"). A major goal is the quality of writing of the code (unit test, functional test, doctest, simplicity).
A first version of Zope 3, Zope X3, was diffused on November 6th, 2004. X means experimental. Nevertheless the deployment with large scales by several developers having given satisfaction, the letter was abandoned. Are succédé the version 3.1,3.2 then 3.3. These two last see themselves equipped with the framework Python Twisted and a complete translation in French.
Learning the lessons from the first deployments of Zope 3, the current version (3.3) saw a simplification of several elements, and a will to approach the community Python. This objective passes by the publication of the components and the use of the eggs (Eggs format, simplifying largely their installation).
Future
The will of the company Zope Corporation is “to amalgamate” the two branches, in order to have a soft and natural migration. For that two means are implemented. The replacement by small keys of the elements of Zope 2 by its equivalent Zope 3, and integration in Zope 2 of the project Five , allowing the developer to reach in Zope 2 the components Zope 3. The use of warnings of obsolescence makes it possible to indicate in advance what must be modified.
Remarks
If one of the finalities of Zope is the creation of dynamic Web sites, its philosophy Orientée object rather than Web pages request a certain phase of training. From where the term “ZopeZen”, which describes the moment when a person included/understood the operating process of Zope perfectly.
Inter alia, Zope can be used as waiter ftp, Xml-RPC, Webdav, HTTP, but can easily be used with a Web server Frontal, like Apache. The addition of the framework Twisted in Zope 3.2 will in the long term make it possible to create its own protocols.
See too
Internal bonds
External bonds
-
Official site
- Introduction to Zope
- Zopera: French-speaking Zope gate
- Zope 3 wiki: Official Wiki of Zope 3
| Random links: | Mérinville | Booker price | Radar Absorb Materials | Laurent Croci | The Ambassadors (film) |