Commit d45ac7a3 authored by Hanno Schlichting's avatar Hanno Schlichting

Updated Five documentation to clarify its role in regard to Zope packages.

parent 000c143e
......@@ -11,6 +11,8 @@ Trunk (unreleased)
Restructuring
+++++++++++++
- Updated Five documentation to clarify its role in regard to Zope packages.
- Removed the deprecated ``five:containerEvents`` directive, which had been
a no-op for quite a while.
......
This diff is collapsed.
......@@ -6,7 +6,7 @@ Five contributors.
Five contains source code derived from:
- Zope 3, copyright (C) 2001-2005 by Zope Corporation.
- Zope, copyright (C) 2001-2005 by Zope Corporation.
- metaclass.py is derived from PEAK, copyright (C) 1996-2004 by
Phillip J. Eby and Tyler C. Sarna. PEAK may be used under the same
......
......@@ -53,5 +53,5 @@ world.
Dieter Maurer for use of code from TrustedExecutables within Five
under the ZPL.
The Five developers would like to thank the Zope 3 developers, in
The Five developers would like to thank the Zope developers, in
particular Jim Fulton, for the mountain to stand on.
......@@ -15,32 +15,19 @@ THE LAW OF FIVES IS NEVER WRONG." -- Principia Discordia
What is Five?
-------------
The goal of five is to allow Zope 2 developers to use Zope 3
technology right now, inside of Zope 2. Additionally, this allows a
gradual evolution of Zope 2 code to Zope 3.
Five already makes the following Zope 3 technologies available in Zope
2:
* Zope 3 interfaces
* ZCML (Zope Configuration Markup Language)
* Adapters
* Zope 3 views, even for standard Zope objects
* layers & skins
* schema/forms machinery, including edit and add forms.
* Zope 2 security declarations in ZCML instead of in Python code.
* Content Providers and Viewlets
For more information, see ``doc/features.txt``.
How to use Five
---------------
Please see ``doc/manual.txt``.
A couple of years back an attempt was made to rewrite Zope 2 from scratch and
provide an upgrade path from current Zope 2 to the new version. This project
used the name Zope 3. The attempt of writing a newer version of a full blown
application server similar to Zope 2 failed. Instead the project generated a
whole lot of underlying technologies and new concepts packaged up in reusable
libraries.
Five is the project that integrates those technologies and packages into
Zope 2. It's name is a pun on the original naming of Zope 2 + Zope 3 = Zope 5.
Among others, it allows you to use zope.interface, ZCML-based configuration,
adapters, browser pages (including layers, and resources), zope.schemas,
object events, as well as zope.i18n message catalogs.
We've tried to keep the Five experience as close to that of the integrated
Zope packages as possible, so this means that what you learn while using Five
should also be applicable to the Zope packages directly.
Five, a Zope Integration project
================================
What is Five?
-------------
A couple of years back an attempt was made to rewrite Zope 2 from scratch and
provide an upgrade path from current Zope 2 to the new version. This project
used the name Zope 3. The attempt of writing a newer version of a full blown
application server similar to Zope 2 failed. Instead the project generated a
whole lot of underlying technologies and new concepts packaged up in reusable
libraries.
Five is the project that integrates those technologies and packages into
Zope 2. It's name is a pun on the original naming of Zope 2 + Zope 3 = Zope 5.
Among others, it allows you to use zope.interface, ZCML-based configuration,
adapters, browser pages (including layers, and resources), zope.schemas,
object events, as well as zope.i18n message catalogs.
We've tried to keep the Five experience as close to that of the integrated
Zope packages as possible, so this means that what you learn while using Five
should also be applicable to the Zope packages directly.
......@@ -11,7 +11,7 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Mimick the Zope 3 skinning system in Five.
"""Mimick the zope.app.basicskin skinning system.
$Id$
"""
......
......@@ -19,7 +19,7 @@ from zope.interface import implements, Interface
from zope.component import adapts
class IAdaptable(Interface):
"""This is a Zope 3 interface.
"""This is a Zope interface.
"""
def method():
"""This method will be adapted
......
......@@ -24,9 +24,9 @@ class Two(object):
'Another class'
class IOne(Interface):
"""This is a Zope 3 interface.
"""This is a Zope interface.
"""
class ITwo(Interface):
"""This is another Zope 3 interface.
"""This is another Zope interface.
"""
......@@ -2,7 +2,7 @@
Container events
================
Zope 3 container events are used to inform subscribers that an object is
Zope container events are used to inform subscribers that an object is
about to be added/removed from a container, and also after it has been
done. This is used for bookkeeping and cleaning up in subobjects.
......@@ -155,7 +155,7 @@ Same thing for clone::
Old class with deprecatedManageAddDelete
========================================
We specifiy that our class is deprecated (using zcml in real life)::
We specify that our class is deprecated (using zcml in real life)::
>>> setDeprecatedManageAddDelete(MyContent)
>>> setDeprecatedManageAddDelete(MyFolder)
......
......@@ -20,11 +20,10 @@ def test_directives():
"""
Test ZCML directives
There isn't much to test here since the actual directive handlers
are either tested in other, more specific tests, or they're
already tested in Zope 3. We'll just do a symbolic test of
adapters and overrides of adapters here as well as registering
meta directives.
There isn't much to test here since the actual directive handlers are
either tested in other, more specific tests, or they're already tested in
the original Zope packages. We'll just do a symbolic test of adapters and
overrides of adapters here as well as registering meta directives.
But first, we load the configuration file:
......
......@@ -40,9 +40,9 @@ using this name, since it is very generic and not very meaningful. The viewlet
has no Java counterpart, since Java does not implement content providers using
a component architecture and thus does not register content providers
specifically for viewlet managers, which I believe makes the Java
implementation less usefull as a generic concept. In fact, the main design
implementation less useful as a generic concept. In fact, the main design
goal in the Java world is the implementation of reusable and sharable
portlets. The scope for Zope 3 is larger, since we want to provide a generic
portlets. The scope for Zope is larger, since we want to provide a generic
framework for building pluggable user interfaces.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment