Commit 2be786c8 authored by Jim Fulton's avatar Jim Fulton

Updated for Zope 2 alpha 1.

parent df5e0dbf
......@@ -4,11 +4,149 @@ Zope Changes
things that need to be done before the next release and future
plans.
Notes on Zope 2.0
ZOPE 2.0 REQUIRES PYTHON 1.5.2!
Zope 2.0 will the next stable Zope release. We will
no longer make Zope 1.11 changes. Zope 1.11 included some very
significant changes that were too big to lead to a stable release
before Zope 2.0 becomes stable, so these changes have, essentially
been moved to Zope 2.0.
So, Zope 2 includes:
- ZODB 3, the next generation of the Zope Object Database,
- Z Classes, a new mechanism for building Zope applications
- WebDAV support,
- ZServer, the integration of Zope and Medusa,
- Many other sundry big significant items:
o Look and feel improvements,
o Tighter security,
o Simpler creation of Python products.
ZODB 3
ZODB is the next generation of our object database architecture.
It provides a number of advantages over or existing databases:
- Support for concurrency,
- Well-defined storage management interface that will allow many
different storage management strategies to be used, from file
storage, to RDBMS storage, to memory storage,
- More robust file storage format,
- Much better version support and integrations of
versions with the transaction system. For example,
it is possible to commit from one version to another,
to undo version commit and abort, and to use "temporary
versions" to reduce memory use when manipulating large
quantities of data.
- Support for multiple databases in the same object system.
- Support for multi-process storage managers, although the
standard distribution will not include any multiple process
storage managers.
ZODB 3 To-do
There are still a number of things to get working:
- Multiple database support isn't done yet,
- Undo of version saves and discards isn't completely working.
- Only the FileStorage is available at this time. Additional
storage managers will be provided in coming weeks.
- FileStorage packing isn't available yet,
- Tools to convert ZODB 2 databases to ZODB 3 File
Storages or import files are needed.
- Zope needs to be updated to be thread-safe. This is not as
hard as it sounds, since persistent objects are always
thread-safe. (Well, only one thread accesses any particular
copy of a persistent object.) The biggest issue here is
mutable global variables, mutable objects stored in classes,
mutable default Python function arguments, and global
variables in extensions.
- Most database adapters are likely to be problematic unless
the underlying extensions and libraries:
- allow multiple simultaneous database connections,
- are thread safe,
- give up the Python global interpreter lock when
making database calls.
This is only a problem when running Zope 2 with multiple
threads.
ZClasses
ZClasses provide a powerful new way to develop Zope
applications. ZClasses allow new objects to be developed
entirely through the web.
ZClasses also support building applications through combinations
of Python classes created on the file system and objects created
through the web. For example, Python classes could implemented
business/domain logic and then augmented with Zope web methods
to provide a web interface.
ZClasses To-do
There are a number of significant tasks remaining before
ZClasses can be considered ready for production use:
- When ZClass instances are exported, their classes are
exported too. This essentially copies the classes. When the
instances are imported, their classes will not be accessible
and will not be connected to any classes in the control
panel. Since copy and paste work via export/import, this
happens whenever objects are copied. This was an
intentional feature to make the instances self-contained,
however, it is now recognized as a significant misfeature
that needs to be fixed.
- ZClasses need to be documented!
Zope 2.0 Road-map
In short
We hope and expect to provide a stable Zope 2.0 release by the
end of June.
Zope 2.0 releases
We expend to make a number of Zope 2.0 alpha, beta, or
candidate releases over the next several weeks.
Early releases will support both the ZODB 2 (aka
BoboPOS) and ZODB3. We may even support ZODB 2 in Zope 2.0
final, but ZODB 2 support will be phased out by Zope 2.1 or
sooner.
Releases
Zope ?.?.? ?
Zope 2.0 alpha 1
BACKWARD INCOMPATABILITY
BACKWARD INCOMPATIBILITY
- A change was made to the way ZClasses are constructed.
......@@ -32,6 +170,8 @@ Zope Changes
Features Added
- Integration of ZODB 3
- The ZClass construction interface has been cleaned up to
make construction of ZClasses a little easier from Python.
......@@ -44,6 +184,11 @@ Zope Changes
- Instance homes can now have local Products directories.
Bugs Fixed
Ugh. This hasn't been kept up. We'll update this space soon.
There have been a number of fixes since 1.11.0 pr1
Zope 1.11.0 pr1
Lots has changed in this release. The major news is ZClasses and WebDAV.
......
......@@ -5,6 +5,48 @@ Building and installing Zope from source
We will provide Windows instructions in later releases. We
will also provide binary releases for some platforms.
Important notes
THIS IS AN ALPHA RELEASE!
ZOPE 2.0 REQUIRES PYTHON 1.5.2!
See CHANGES.txt for important notes on Zope 2.0.
Running Zope
You have a number of options for running Zope. (Too Many? ;)
- You can use ZServer, the integration of Zope and Medusa. You must
use ZServer if you want to use ZODB 3 and use multiple concurrent
threads. ZServer is currently in beta, so this may not be a good
choice for production systems.
- You can use the built-in ZopeHTTP web server. This option is
no longer recommended.
- You can use the PCGI publisher with an existing web server.
This is currently the recommended way to run Zope for production
systems.
Choosing your database
We currently support two Zope databases, ZODB 2 and ZODB 3. To use
ZODB 3 use ZServer via the z2.py script described below. To use
ZODB 2, use the simple ZopeHTTP server or use PCGI publisher
(without ZServer).
(Alternatives for the curious and ZPublisher aware:
- You can use ZODB 2 with ZServer and the z2.py script
described below by providing the -2 command-line option to
z2.py.
- You can use ZODB 3 with the ZopeHTTPServer and the
PCGI publisher by changing the published module to
Zope. This will only use a single thread, however.
)
Building Zope
There are some python scripts in the top-level directory that should
......@@ -12,17 +54,18 @@ Building Zope
directory.
If you want to try out Zope in the simplest fashion using a
Python web server, then run the script wo_pcgi::
Python web server or using ZServer, then run the script wo_pcgi::
python wo_pcgi.py
If you want to use PCGI and an existing web server, run w_pcgi::
If you want to use PCGI and an existing web server and you don't
want to use ZServer, run w_pcgi::
python w_pcgi.py
Notes
* You should be using Python 1.5.1 to run the build scripts.
* You should be using Python 1.5.2 to run the build scripts.
* To build python extensions you need to have Python configuration
information available. If your Python comes from an RPM you may need
......@@ -32,6 +75,7 @@ Building Zope
* If you just want to use Zope components it's not necessary to build Zope
but it's a good idea since it will compile Python C extensions for you.
* You can use PCGI and an existing web server if you use ZServer.
Setting the Zope "super manager" name and password
......@@ -103,6 +147,22 @@ Setting permissions on the var directory.
of the var directory and the files in it to allow Zope to read and write
under its changed userid.
Using ZServer
Zope comes with a ZServer startup script, z2.py, for starting
ZServer::
python z2.py
Look at the documentation string or run the script with
the -h option to get information on available options. You can edit
this script to change defaults, or you can create a Unix shell
script or DOS BAT file to run the script with arguments. The second
approach is preferred to avoid having to reconfigure the z2.py script
after a software update.
You *must* specify a DNS server in z2.py or via command-line
options.
Using Zope with ZopeHTTPServer
......@@ -114,7 +174,6 @@ Using Zope with ZopeHTTPServer
./start
Starting Zope with an existing web server
See the WEBSERVERS.txt file for more information about configuring Zope
......
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