[Checkins] SVN: Zope/trunk/ Updated documentation to new version number.

Hanno Schlichting hannosch at hannosch.eu
Wed May 27 08:45:05 EDT 2009


Log message for revision 100457:
  Updated documentation to new version number.
  

Changed:
  U   Zope/trunk/doc/CHANGES.rst
  U   Zope/trunk/doc/WHATSNEW.rst
  U   Zope/trunk/doc/WINDOWS.rst
  D   Zope/trunk/doc/ZOPE3.rst
  U   Zope/trunk/doc/conf.py
  U   Zope/trunk/doc/index.rst
  U   Zope/trunk/inst/WinBuilders/mk/zope.mk
  U   Zope/trunk/inst/generate_index.py
  U   Zope/trunk/inst/versions.py
  U   Zope/trunk/setup.py

-=-
Modified: Zope/trunk/doc/CHANGES.rst
===================================================================
--- Zope/trunk/doc/CHANGES.rst	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/doc/CHANGES.rst	2009-05-27 12:45:04 UTC (rev 100457)
@@ -2,8 +2,8 @@
 =========
 
 This file contains change information for the current Zope release.
-Change information for previous versions of Zope can be found in the
-file HISTORY.txt.
+Change information for previous versions of Zope can be found at
+http://docs.zope.org/zope2/releases/.
 
 Trunk (unreleased)
 ------------------
@@ -11,460 +11,12 @@
 Restructuring
 +++++++++++++
 
-- Removed all use of ``zope.app.pagetemplate`` by cloning / simplifying
-  client code.
+* Updated documentation to new version number.
 
-- Use ``zope.pagetemplate.engine`` instead of ``zope.app.pagetemplate.engine``.
-  (update to versions 3.5.0 and 3.7.0, respectively, along with version 3.8.1
-  of ``zope.app.publisher``).
-
-- Use ``IBrowserView`` interface from ``zope.browser.interfaces``, rather than
-  ``zope.publisher.interfaces.browser``.
-
-- Use ``IAdding`` interface from ``zope.browser.interfaces``, rather than
-  ``zope.app.container``.
-
-- No longer depend on ``zope.app.appsetup``;  use the event implementations
-  from ``zope.processlifetime`` instead.
-
 Features Added
 ++++++++++++++
 
-- zExceptions.convertExceptionType:  new API, breaking out conversion of
-  exception names to exception types from 'upgradeException'.
 
-- Launchpad #374719: introducing new ZPublisher events:
-  PubStart, PubSuccess, PubFailure, PubAfterTraversal and PubBeforeCommit.
-
-- Testing.ZopeTestCase: Include a copy of ZODB.tests.warnhook to silence
-  a DeprecationWarning under Python 2.6.
-
-- Updated packages:
-
-  * python-gettext 1.0
-  * pytz 2009g
-  * zope.app.applicationcontrol = 3.5.0
-  * zope.app.appsetup 3.11
-  * zope.app.component 3.8.2
-  * zope.app.container 3.8.0
-  * zope.app.form 3.8.0
-  * zope.app.http 3.6.0
-  * zope.app.interface 3.5.0
-  * zope.app.pagetemplate 3.6.0
-  * zope.app.publication 3.7.0
-  * zope.app.publisher 3.8.0
-  * zope.browser 1.2
-  * zope.component 3.7.0
-  * zope.componentvocabulary 1.0
-  * zope.container 3.8.2
-  * zope.formlib 3.6.0
-  * zope.lifecycleevent 3.5.2
-  * zope.location 3.5.4
-  * zope.processlifetime 1.0
-  * zope.publisher 3.8.0
-  * zope.security 3.7.0
-  * zope.testing 3.7.4
-  * zope.traversing 3.7.0
-
 Bugs Fixed
 ++++++++++
 
-- Launchpad #374729: Encoding cookie values to avoid issues with
-  firewalls and security proxies.
-
-- Launchpad #373583: ZODBMountPoint - fixed broken mount support and
-  extended the test suite.
-
-- Launchpad #373621: catching and logging exceptions that could cause
-  leaking of worker threads.
-
-- Launchpad #373577: setting up standard logging earlier within the startup
-  phase for improving the analysis of startup errors.
-
-- Launchpad #373601: abort transaction before connection close in order to
-  prevent connection leaks in case of persistent changes after the main
-  transaction is closed.
-
-- Fix BBB regression which prevented setting browser ID cookies from
-  browser ID managers created before the ``HTTPOnly`` feature landed.
-  https://bugs.launchpad.net/bugs/374816
-
-- RESPONSE.handle_errors was wrongly set (to debug, should have been
-  ``not debug``). Also, the check for exception constructor arguments
-  didn't account for exceptions that didn't override the ``__init__``
-  (which are most of them). The combination of those two problems
-  caused the ``standard_error_message`` not to be called. Fixes
-  https://bugs.launchpad.net/zope2/+bug/372632 .
-
-- DocumentTemplate.DT_Raise:  use new 'zExceptions.convertExceptionType'
-  API to allow raising non-builtin exceptions.
-  Fixes https://bugs.launchpad.net/zope2/+bug/372629 , which prevented
-  viewing the "Try" tab of a script with no parameters.
-
-Zope 2.12.0b1 (2009/05/06)
---------------------------
-
-Restructuring
-+++++++++++++
-
-- No longer depend on ``zope.app.locales``. Zope2 uses almost none of the
-  translations provided in the package and is not required for most projects.
-  The decision to include locales is left to the application developer now.
-
-- Removed the dependency on ``zope.app.testing`` in favor of providing a more
-  minimal placeless setup as part of ZopeTestCase for our own tests.
-
-- updated to ZODB 3.9.0b1
-
-Features Added
-++++++++++++++
-- zExceptions.convertExceptionType:  new API, breaking out conversion of
-  exception names to exception types from ``upgradeException``.
-
-- Extended BrowserIdManager to expose the ``HTTPOnly`` attribute for its
-  cookie. Also via https://bugs.launchpad.net/zope2/+bug/367393 .
-
-- Added support for an optional ``HTTPOnly`` attribute of cookies (see
-  http://www.owasp.org/index.php/HTTPOnly).  Patch from Stephan Hofmockel,
-  via https://bugs.launchpad.net/zope2/+bug/367393 .
-
-Bugs Fixed
-++++++++++
-
-- ZPublisher response.setBody: don't append Accept-Encoding to Vary header if
-  it is already present - this can make cache configuration difficult.
-
-2.12.0a4 (2009-04-24)
----------------------
-
-Bugs Fixed
-++++++++++
-
-- fixed versions.cfg in order to support zope.z2release for
-  creating a proper index structure
-
-2.12.0a3 (2009-04-19)
----------------------
-
-The generated tarball for the 2.12.0a2 source release was incomplete, due to
-a setuptools and Subversion 1.6 incompatibility.
-
-Restructuring
-+++++++++++++
-
-- Added automatic inline migration for databases created with older Zope
-  versions. The ``Versions`` screen from the ``Control_Panel`` is now
-  automatically removed on Zope startup.
-
-- Removed more unused code of the versions support feature including the
-  Globals.VersionNameName constant.
-
-2.12.0a2 (2009-04-19)
----------------------
-
-Restructuring
-+++++++++++++
-
-- If the <permission /> ZCML directive is used to declare a permission that
-  does not exist, the permission will now be created automatically, defaulting
-  to being granted to the Manager role only. This means it is possible to
-  create new permissions using ZCML only. The permission will Permissions that
-  already exist will not be changed.
-
-- Using <require set_schema="..." /> or <require set_attributes="..." /> in
-  the <class /> directive now emits a warning rather than an error. The
-  concept of protecting attribute 'set' does not exist in Zope 2, but it
-  should be possible to re-use packages that do declare such protection.
-
-- Updated to Acquisition 2.12.1.
-
-- Updated to DateTime 2.12.0.
-
-- Updated to ZODB 3.9.0a12.
-
-- Removed the ``getPackages`` wrapper from setup.py which would force all
-  versions to an exact requirement. This made it impossible to require
-  newer versions of the dependencies. This kind of KGS information needs
-  to be expressed in a different way.
-
-- removed ``extras_require`` section from setup.py (this might possibly
-  break legacy code).
-
-Bugs Fixed
-++++++++++
-
-- Launchpad #348223: optimize catalog query by breaking out early from loop
-  over indexes if the result set is already empty.
-
-- Launchpad #344098: in ``skel/etc/zope.conf.ing``, replaced commented-out
-  ``read-only-database`` option, which is deprecated, with pointers to the
-  appropos sections of ZODB's ``component.xml``.  Updated the description
-  of the ``zserver-read-only-mode`` directive to indicate its correct
-  semantics (suppressing log / pid / lock files).  Added deprecation to the
-  ``read-only-database`` option, which has had no effect since Zope 2.6.
-
-- "Permission tab": correct wrong form parameter for
-  the user-permission report
-
-- PageTemplates: Made PreferredCharsetResolver work with new kinds of contexts
-  that are not acquisition wrapped.
-
-- Object managers should evaluate to True in a boolean test.
-
-2.12.0a1 (2009-02-26)
----------------------
-
-Restructuring
-+++++++++++++
-
-- Switched Products.PageTemplates to directly use zope.i18n.translate and
-  removed the GlobalTranslationService hook.
-
-- Removed bridging code from Product.Five for PlacelessTranslationService
-  and Localizer. Neither of the two is actually using this anymore.
-
-- Removed the specification of ``SOFTWARE_HOME`` and ``ZOPE_HOME`` from the
-  standard instance scripts.
-  [hannosch]
-
-- Made the specification of ``SOFTWARE_HOME`` and ``ZOPE_HOME`` optional. In
-  addition ``INSTANCE_HOME`` is no longer required to run the tests of a
-  source checkout of Zope.
-
-- Removed the ``test`` command from zopectl. The test.py script it was relying
-  on does no longer exist.
-
-- Updated to ZODB 3.9.0a11. ZODB-level version support has been
-  removed and ZopeUndo now is part of Zope2.
-
-- The Zope2 SVN trunk is now a buildout pulling in all dependencies as
-  actual released packages and not SVN externals anymore.
-
-- Make use of the new zope.container and zope.site packages.
-
-- Updated to newer versions of zope packages. Removed long deprecated
-  layer and skin ZCML directives.
-
-- Disabled the XML export on the UI level - the export functionality
-  however is still available on the Python level.
-
-- No longer show the Help! links in the ZMI, if there is no help
-  available. The help system depends on the product registry.
-
-- Updated the quick start page and simplified the standard content.
-  The default index_html is now a page template.
-
-- Removed deprecated Draft and Version support from Products.OFSP.
-  Also removed version handling from the control panel. Versions are
-  no longer supported on the ZODB level.
-
-- Removed left-overs of the deprecated persistent product distribution
-  mechanism.
-
-- The persistent product registry is not required for starting Zope
-  anymore. ``enable-product-installation`` can be set to off if you don't
-  rely on the functionality provided by the registry.
-
-- ZClasses have been deprecated for two major releases. They have been
-  removed in this version of Zope.
-
-- Avoid deprecation warnings for the md5 and sha modules in Python 2.6
-  by adding conditional imports for the hashlib module.
-
-- Replaced imports from the 'Globals' module throughout the 
-  tree with imports from the actual modules;  the 'Globals' module
-  was always intended to be an area for shared data, rather than
-  a "facade" for imports.  Added zope.deferred.deprecation entries
-  to 'Globals' for all symbols / modules previously imported directly.
-
-- Protect against non-existing zope.conf path and products directories.
-  This makes it possible to run a Zope instance without a Products or
-  lib/python directory.
-
-- Moved exception MountedStorageError from ZODB.POSExceptions
-  to Products.TemporaryFolder.mount (now its only client).
-
-- Moved Zope2-specific module, ZODB/Mount.py, to
-  Products/TemporaryFolder/mount.py (its only client is
-  Products/TemporaryFolder/TemporaryFolder.py).
-
-- Removed spurious import-time dependencies from
-  Products/ZODBMountPoint/MountedObject.py.
-
-- Removed Examples.zexp from the skeleton. The TTW shopping cart isn't
-  any good example of Zope usage anymore.
-
-- Removed deprecated ZTUtil.Iterator module
-
-- Removed deprecated StructuredText module
-
-- Removed deprecated TAL module
-
-- Removed deprecated modules from Products.PageTemplates.
-
-- Removed deprecated ZCML directives from Five including the whole
-  Five.site subpackage.
-
-Features added
-++++++++++++++
-
-- OFS.ObjectManager now fully implements the zope.container.IContainer
-  interface. For the last Zope2 releases it already claimed to implement the
-  interface, but didn't actually full-fill the interface contract. This means
-  you can start using more commonly used Python idioms to access objects
-  inside object managers. Complete dictionary-like access and container
-  methods including iteration are now supported. For each class derived from
-  ObjectManager you can use for any instance om: ``om.keys()`` instead of
-  ``om.objectIds()``, ``om.values()`` instead of ``om.objectValues()``, but
-  also ``om.items()``, ``ob.get('id')``, ``ob['id']``, ``'id' in om``,
-  ``iter(om)``, ``len(om)``, ``om['id'] = object()`` instead of
-  ``om._setObject('id', object())`` and ``del ob['id']``. Should contained
-  items of the object manager have ids equal to any of the new method names,
-  the objects will override the method, as expected in Acquisition enabled
-  types. Adding new objects into object managers by those new names will no
-  longer work, though. The added methods call the already existing methods
-  internally, so if a derived type overwrote those, the new interface will
-  provide the same functionality.
-
-- Acquisition has been made aware of ``__parent__`` pointers. This allows
-  direct access to many Zope 3 classes without the need to mixin
-  Acquisition base classes for the security to work.
-
-- MailHost: now uses zope.sendmail for delivering the mail. With this
-  change MailHost integrates with the Zope transaction system (avoids
-  sending dupe emails in case of conflict errors). In addition
-  MailHost now provides support for asynchronous mail delivery. The
-  'Use queue' configuration option will create a mail queue on the
-  filesystem (under 'Queue directory') and start a queue thread that
-  checks the queue every three seconds. This decouples the sending of
-  mail from its delivery.  In addition MailHosts now supports
-  encrypted connections through TLS/SSL.
-
-- SiteErrorLog now includes the entry id in the information copied to
-  the event log. This allowes you to correlate a user error report with
-  the event log after a restart, or let's you find the REQUEST
-  information in the SiteErrorLog when looking at a traceback in the
-  event log.
-
-Bugs Fixed
-++++++++++
-
-- Launchpad #332168: Connection.py: do not expose DB connection strings
-  through exceptions
-
-- Specified height/width of icons in ZMI listings so the table doesn't
-  jump around while loading.
-
-- After the proper introduction of parent-pointers, it's now
-  wrong to acquisition-wrap content providers. We will now use
-  the "classic" content provider expression from Zope 3.
-
-- Ported c69896 to Five. This fix makes it possible to provide a
-  template using Python, and not have it being set to ``None`` by
-  the viewlet manager directive.
-
-- Made Five.testbrowser compatible with mechanize 0.1.7b.
-
-- Launchpad #280334: Fixed problem with 'timeout'
-  argument/attribute missing in testbrowser tests.
-
-- Launchpad #267834: proper separation of HTTP header fields   
-  using CRLF as requested by RFC 2616.
-
-- Launchpad #257276: fix for possible denial-of-service attack
-  in PythonScript when passing an arbitrary module to the encode()
-  or decode() of strings.
-
-- Launchpad #257269: 'raise SystemExit' with a PythonScript could shutdown
-  a complete Zope instance
-
-- Switch to branch of 'zope.testbrowser' external which suppresses
-  over-the-wire tests.
-
-- Launchpad #143902: Fixed App.ImageFile to use a stream iterator to
-  output the file. Avoid loading the file content when guessing the
-  mimetype and only load the first 1024 bytes of the file when it cannot
-  be guessed from the filename.
-
-- Changed PageTemplateFile not to load the file contents on Zope startup
-  anymore but on first access instead. This brings them inline with the
-  zope.pagetemplate version and speeds up Zope startup.
-
-- Collector #2278: form ':record' objects did not implement enough
-  of the mapping protocol.
-
-- "version.txt" file was being written to the wrong place by the
-  Makefile, causing Zope to report "unreleased version" even for
-  released versions.
-
-- Five.browser.metaconfigure.page didn't protect names from interface
-  superclasses (http://www.zope.org/Collectors/Zope/2333)
-
-- DAV: litmus "notowner_modify" tests warn during a MOVE request
-  because we returned "412 Precondition Failed" instead of "423
-  Locked" when the resource attempting to be moved was itself
-  locked.  Fixed by changing Resource.Resource.MOVE to raise the
-  correct error.
-
-- DAV: litmus props tests 19: propvalnspace and 20:
-  propwformed were failing because Zope did not strip off the
-  xmlns: attribute attached to XML property values.  We now strip
-  off all attributes that look like xmlns declarations.
-
-- DAV: When a client attempted to unlock a resource with a token
-  that the resource hadn't been locked with, in the past we
-  returned a 204 response.  This was incorrect.  The "correct"
-  behavior is to do what mod_dav does, which is return a '400
-  Bad Request' error.  This was caught by litmus
-  locks.notowner_lock test #10.  See
-  http://lists.w3.org/Archives/Public/w3c-dist-auth/2001JanMar/0099.html
-  for further rationale.
-
-- When Zope properties were set via DAV in the "null" namespace
-  (xmlns="") a subsequent PROPFIND for the property would cause the
-  XML representation for that property to show a namespace of
-  xmlns="None".  Fixed within OFS.PropertySheets.dav__propstat.
-
-- integrated theuni's additional test from 2.11 (see r73132)
-
-- Relaxed requirements for context of
-  Products.Five.browser.pagetemplatefile.ZopeTwoPageTemplateFile,
-  to reduce barriers for testing renderability of views which
-  use them.
-  (http://www.zope.org/Collectors/Zope/2327)
-
-- PluginIndexes: Fixed 'parseIndexRequest' for false values.
-
-- Collector #2263: 'field2ulines' did not convert empty string
-  correctly.
-
-- Collector #2198: Zope 3.3 fix breaks Five 1.5 test_getNextUtility
-
-- Prevent ZPublisher from insering incorrect <base/> tags into the
-  headers of plain html files served from Zope3 resource directories.
-
-- Changed the condition checking for setting status of
-  HTTPResponse from to account for new-style classes.
-
-- The Wrapper_compare function from tp_compare to tp_richcompare.
-  Also another function Wrapper_richcompare is added.
-
-- The doc test has been slightly changed in ZPublisher to get
-  the error message extracted correctly.
-
-- The changes made in Acquisition.c in Implicit Acquisition
-  comparison made avail to Explicit Acquisition comparison also.
-
-- zopedoctest no longer breaks if the URL contains more than one
-  question mark. It broke even when the second question mark was
-  correctly quoted.
-
-Other Changes
-+++++++++++++
-
-- Added lib/python/webdav/litmus-results.txt explaining current
-  test results from the litmus WebDAV torture test.
-
-- DocumentTemplate.DT_Var.newline_to_br(): Simpler, faster
-  implementation.
-

Modified: Zope/trunk/doc/WHATSNEW.rst
===================================================================
--- Zope/trunk/doc/WHATSNEW.rst	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/doc/WHATSNEW.rst	2009-05-27 12:45:04 UTC (rev 100457)
@@ -1,4 +1,4 @@
-What's new in Zope 2.12
+What's new in Zope 2.13
 =======================
 
 The article explains the new high-level features and changes found in this
@@ -8,333 +8,7 @@
 about all minor new features and bugs being solved in this release.
 
 
-Support for newer Python versions
----------------------------------
+News!
+-----
 
-Zope 2 has supported and required Python 2.4 since its 2.9 release in summer
-2006. Later versions of Python have so far been unsupported by Zope 2.
-
-This version of Zope 2 adds support for both Python 2.5 and 2.6 at the same
-time. As Python 2.4 is no longer maintained itself, it is no longer officially
-supported by this Zope 2 version. There is however no code in Zope 2 yet which
-requires Python 2.5, so applications built on top of Zope 2 should still
-continue to run with Python 2.4.
-
-Python 3 is a backwards incompatible release of Python and not supported. At
-this point there is no concrete roadmap for adoption of Python 3. It is
-expected to be a question of multiple major Zope 2 releases or years, though.
-
-
-Fully eggified
---------------
-
-Zope 2 itself is now fully eggified and compatible with `setuptools
-<http://pypi.python.org/pypi/setuptools>`_. You can use popular tools like
-`easy_install <http://peak.telecommunity.com/DevCenter/EasyInstall>`_ or
-`zc.buildout <http://pypi.python.org/pypi/zc.buildout>`_ to install Zope 2.
-
-Releases of Zope 2 can be found at and will be installable from the Python
-package index at http://pypi.python.org/pypi/Zope2.
-
-The repackaging of Zope 2 into an eggified form and accompanying changes to the
-file system layout have caused a number of changes. The environment variables
-`SOFTWARE_HOME` and `ZOPE_HOME` are no longer available nor set in the control
-scripts. If you need to access data files inside the Zope 2 package, you can
-for example use `import os, OFS; os.path.dirname(OFS.__file__)` to locate the
-files inside the OFS package.
-
-In general it is discouraged to rely on the `lib/python` and `Products`
-directories to make code available to the running Zope process. While these
-mechanisms continue to work, you are encouraged to use normal distutils or
-setuptools managed packages and add these to your `sys.path` using any of the
-standard Python mechanisms. To create isolated Python environments both
-`zc.buildout <http://pypi.python.org/pypi/zc.buildout>`_ and `virtualenv
-<http://pypi.python.org/pypi/virtualenv>`_ are in wide-spread use.
-
-
-Zope Toolkit
-------------
-
-This version of Zope 2 is based on the Zope Toolkit. The Zope Toolkit is an
-extraction of the reusable and wildly used packages of the former Zope 3
-project. The Zope Toolkit is focused on supporting frameworks and applications,
-rather than trying to be one itself. Parts of the Zope Toolkit are used by
-Zope 2, Plone, Grok, Repoze.bfg, and by many other different applications and
-frameworks.
-
-A major focus of the Zope Toolkit was to refactor package dependencies to
-generate more maintainable and better structured code. Based on this effort
-the number of packages included by Zope 2 could be dramatically reduced from
-about 120 additional packages to just over 60. The total code size of Zope 2
-and its dependencies has decreased by over 200,000 lines of code as a result.
-
-You can find more information about the changes in the Zope Toolkit at
-http://docs.zope.org/zopetoolkit/. Upgrade information from Zope 3 to the Zope
-Toolkit can be found at http://docs.zope.org/zopetoolkit/migration/index.html.
-
-
-ZODB 3.9
---------
-
-This version of Zope 2 includes the latest version of the `ZODB (3.9)
-<http://pypi.python.org/pypi/ZODB3>`_. It has a multitude of new configuration
-options and bug fixes. File storages have gotten native support for blob
-storages and demo storages have been expanded extensively. There is a large
-number of options to tune ZEO servers and clients in large scale environments
-and control cache invalidation and packaging to a much wider degree.
-
-You can read more about the detailed changes in the `ZODB3 change log
-<http://pypi.python.org/pypi/ZODB3>`_ for version 3.9.
-
-
-Module cleanup
---------------
-
-As with every release of Zope 2 this version has removed various modules
-which have been deprecated in prior versions.
-
-Most notably ZClasses and supporting modules have been removed entirely from
-Zope 2. As a result the persistent product registry has been made optional, but
-is still enabled by default. If your application does not rely on the registry,
-you can now disable it by specifying::
-
-  enable-product-installation off
-
-inside your `zope.conf` file. With the option turned off Zope will no longer
-write any new transactions to your database during startup in most cases.
-
-With the upgrade to ZODB 3.9 database-level version support is no longer
-available. Many of the modules in `Products.OFSP` have been removed as a
-result. The low level API to load objects from the database has lost its
-version argument as a result of this.
-
-
-Documentation updates
----------------------
-
-Zope 2 now uses `Sphinx <http://sphinx.pocoo.org/>`_ to create pleasant HTML
-representations of its documentation. An effort is underway to update the
-publicly available documentation using Sphinx at http://docs.zope.org/.
-
-So far the Zope 2 Book, the Zope Developers Guide and many smaller articles
-have been converted to reStructuredText and their content updated.
-
-
-Acquisition redux
------------------
-
-The short technical version of this change is: "Acquisition has been made aware
-of __parent__ pointers". What sounds like a small change is actually a major
-step in the integration story for Zope components based technology into Zope 2.
-
-While integrating the Zope component architecture and its many concepts into
-Zope 2 an integration layer called Five (Zope 2 + 3) has been created. One of
-the major reasons for the necessity of an integration layer has been in the way
-Zope 2 was tightly coupled to the concept of Acquisition. The entire security
-machinery, object traversal and publication has been relying on this.
-
-All classes, which wanted to interact with Zope 2 in any non-trivial way, had
-to inherit from the Acquisition base classes. As a result almost no external
-package could directly work inside Zope 2 but required an integration layer.
-
-With this version of Zope 2, objects have a new option of providing location
-awareness to Zope APIs. This new option is to provide an explicit parent
-pointer in the ``__parent__`` attribute, much like specified by the ILocation
-API from `zope.location <http://pypi.python.org/pypi/zope.location>`_. Browser
-views and other location-dependent components implement ILocation already.
-
-Classes adhering to this convention need to get `__parent__` pointers set to
-their container object, when being put into the container. Code that operates
-on such objects can then walk up the containment hierarchy by following the
-pointers. In Acquisition based classes no information would be stored on the
-objects, but Acquisition wrappers are constructed around the objects instead.
-Only those wrappers would hold the container references. The Acquisition
-wrapping relies on the objects to provide an `__of__` method as done by the
-Acquisition base classes.
-
-The most common way of getting the container of an instance is to call::
-
-  from Acquisition import aq_parent
-  
-  container = aq_parent(instance)
-
-For instances providing the ILocation interface the common way is::
-
-  container = instance.__parent__
-
-There are various `aq_*` methods available for various other tasks related to
-locating objects in the containment hierarchy. So far virtually all objects in
-Zope 2 would participate in Acquisition. As a side-effect many people relied on
-Acquisition wrappers to be found around their objects. This caused code to rely
-on accessing the `aq_*` methods as attributes of the wrapper::
-
-  container = instance.aq_parent
-
-While all the existing API's still work as before, Acquisition now respects
-`__parent__` pointers to find the container for an object. It will also not
-unconditionally try to call the `__of__` method of objects anymore, but protect
-it with a proper interface check::
-
-  from Acquisition.interfaces import IAcquirer
-
-  if IAcquirer.providedBy(instance):
-      instance = instance.__of__(container)
-
-In addition to this check you should no longer rely on the `aq_*` methods to be
-available as attributes. While all code inside Zope 2 itself still supports
-this, it does no longer rely on those but makes proper use of the functions
-provided by the Acquisition package.
-
-To understand the interaction between the new and old approach here is a
-little example::
-
-  >>> class Location(object):
-  ...     def __init__(self, name):
-  ...         self.__name__ = name
-  ...     def __repr__(self):
-  ...         return self.__name__
-
-  # Create an Acquisition variant of the class:
-
-  >>> import Acquisition
-  >>> class Implicit(Location, Acquisition.Implicit):
-  ...     pass
-
-  # Create two implicit instances:
-
-  >>> root = Implicit('root')
-  >>> folder = Implicit('folder')
-
-  # And two new Acquisition-free instances:
-
-  >>> container = Location('container')
-  >>> item = Location('item')
-
-  # Provide the containment hints:
-
-  >>> folder = folder.__of__(root)
-  >>> container.__parent__ = folder
-  >>> item.__parent__ = container
-
-  # Test the containtment chain:
-
-  >>> from Acquisition import aq_parent
-  >>> aq_parent(container)
-  folder
-
-  >>> from Acquisition import aq_chain
-  >>> aq_chain(item)
-  [item, container, folder, root]
-
-  # Explicit pointers take precedence over Acquisition wrappers:
-
-  >>> item2 = Implicit('item2')
-  >>> item2 = item2.__of__(folder)
-  >>> item2.__parent__ = container
-
-  >>> aq_chain(item2)
-  [item2, container, folder, root]
-
-For a less abstract example, you so far had to do::
-
-  >>> from Acquisition import aq_inner
-  >>> from Acquisition import aq_parent
-  >>> from Products import Five
-
-  >>> class MyView(Five.browser.BrowserView):
-  ...
-  ...     def do_something(self):
-  ...         container = aq_parent(aq_inner(self.context))
-
-Instead you can now do::
-
-  >>> import zope.publisher.browser
-
-  >>> class MyView(zope.publisher.browser.BrowserView):
-  ...
-  ...     def do_something(self):
-  ...         container = aq_parent(self.context)
-
-As the zope.publisher BrowserView supports the ILocation interface, all of this
-works automatically. A view considers its context as its parent as before, but
-no longer needs Acquisition wrapping for the Acquisition machinery to
-understand this. The next time you want to use a package or make your own code
-more reusable outside of Zope 2, this should be of tremendous help.
-
-
-Object managers and IContainer
-------------------------------
-
-One of the fundamental parts of Zope 2 is the object file system as implemented
-in the `OFS` package. A central part of this package is an underlying class
-called `ObjectManager`. It is a base class of the standard `Folder` used
-for many container-ish classes inside Zope 2.
-
-The API to access objects in an object manager or to add objects to one has
-been written many years ago. Since those times Python itself has gotten
-standard ways to access objects in containers and work with them. Those Python
-API's are most familiar to most developers working with Zope. The Zope
-components libraries have formalized those API's into the general IContainer
-interface in the zope.container package. In this version of Zope 2 the standard
-OFS ObjectManager fully implements this IContainer interface in addition to its
-old API.
-
- >>> from zope.container.interfaces import IContainer
- >>> from OFS.ObjectManager import ObjectManager
- >>> IContainer.implementedBy(ObjectManager)
- True
-
-You can now write your code in a way that no longer ties it to object managers
-alone, but can support any class implementing IContainer instead. In
-conjunction with the Acquisition changes above, this will increase your chances
-of being able to reuse existing packages not specifically written for Zope 2 in
-a major way.
-
-Here's an example of how you did work with object managers before::
-
-  >>> from OFS.Folder import Folder
-  >>> from OFS.SimpleItem import SimpleItem
-
-  >>> folder = Folder('folder')
-  >>> item1 = SimpleItem('item1')
-  >>> item2 = SimpleItem('item2')
-
-  >>> result = folder._setObject('item1', item1)
-  >>> result = folder._setObject('item2', item2)
-
-  >>> folder.objectIds()
-  ['item1', 'item2']
-
-  >>> folder.objectValues()
-  [<SimpleItem at folder/>, <SimpleItem at folder/>]
-
-  >>> if folder.hasObject('item2')
-  ...     folder._delObject('item2')
-
-Instead of this special API, you can now use::
-
-  >>> from OFS.Folder import Folder
-  >>> from OFS.SimpleItem import SimpleItem
-
-  >>> folder = Folder('folder')
-  >>> item1 = SimpleItem('item1')
-  >>> item2 = SimpleItem('item2')
-
-  >>> folder['item1'] = item1
-  >>> folder['item2'] = item2
-
-  >>> folder.keys()
-  ['item1', 'item2']
-
-  >>> folder.values()
-  [<SimpleItem at folder/>, <SimpleItem at folder/>]
-
-  >>> folder.get('item1')
-  <SimpleItem at folder/>
-
-  >>> if 'item2' in folder:
-  ...     del folder['item2']
-
-  >>> folder.items()
-  [('item1', <SimpleItem at folder/>)]
-
+No major new features are available in this version yet.

Modified: Zope/trunk/doc/WINDOWS.rst
===================================================================
--- Zope/trunk/doc/WINDOWS.rst	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/doc/WINDOWS.rst	2009-05-27 12:45:04 UTC (rev 100457)
@@ -16,7 +16,7 @@
   % python.exe inst\configure.py
   It should say something like:
   >
-  > - Zope top-level binary directory will be c:\Zope-2.12.
+  > - Zope top-level binary directory will be c:\Zope-2.13.
   > - Makefile written.
   >
   > Next, run the Visual C++ batch file "VCVARS32.bat" and then "nmake".

Deleted: Zope/trunk/doc/ZOPE3.rst
===================================================================
--- Zope/trunk/doc/ZOPE3.rst	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/doc/ZOPE3.rst	2009-05-27 12:45:04 UTC (rev 100457)
@@ -1,30 +0,0 @@
-Using Zope Components in Zope 2 Applications
-============================================
-
-Background
-----------
-
-Zope 3 is a separate project from the Zope community aimed at web
-development. It is designed to be more 'programmer-centric' and easier
-to learn, use and extend for programmers. Zope 3 introduces an
-interface-centric component architecture that makes it easier to develop
-and deploy components without requiring developers to learn and
-understand the entire Zope framework.
-
-As of Zope 2.8, the "Five" project has been integrated into the 
-Zope 2 core. The "Five" project implements a compatibility layer 
-that allows many Zope 3 components and patterns to be used in 
-new and existing Zope 2 applications.
-
-Features
---------
-
-The Five integration layer provides support for Zope 3 interfaces, 
-Zope Configuration Markup Language (ZCML), adapters, views, 
-utilities and schema-driven content.
-
-Note that the Five layer does *not* attempt to provide a ZMI user 
-interface for Zope 3 components.
-
-Zope 2 includes the essential Zope 3 packages, so it is not 
-necessary to install Zope 3.

Modified: Zope/trunk/doc/conf.py
===================================================================
--- Zope/trunk/doc/conf.py	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/doc/conf.py	2009-05-27 12:45:04 UTC (rev 100457)
@@ -49,9 +49,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '2.12.0'
+version = '2.13'
 # The full version, including alpha/beta/rc tags.
-release = '2.12.0a4'
+release = '2.13.0dev'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.

Modified: Zope/trunk/doc/index.rst
===================================================================
--- Zope/trunk/doc/index.rst	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/doc/index.rst	2009-05-27 12:45:04 UTC (rev 100457)
@@ -1,5 +1,5 @@
 
-Zope 2.12 specific documentation
+Zope 2.13 specific documentation
 ================================
 
 Contents:

Modified: Zope/trunk/inst/WinBuilders/mk/zope.mk
===================================================================
--- Zope/trunk/inst/WinBuilders/mk/zope.mk	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/inst/WinBuilders/mk/zope.mk	2009-05-27 12:45:04 UTC (rev 100457)
@@ -1,4 +1,4 @@
-ZOPEVERSION = 2.12.0b1
+ZOPEVERSION = 2.13.0dev
 ZOPEDIRNAME := Zope-$(ZOPEVERSION)
 
 ZOPE_REQUIRED_FILES=tmp/$(ZOPEDIRNAME).tgz

Modified: Zope/trunk/inst/generate_index.py
===================================================================
--- Zope/trunk/inst/generate_index.py	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/inst/generate_index.py	2009-05-27 12:45:04 UTC (rev 100457)
@@ -49,7 +49,7 @@
 links = list()
 dirname = sys.argv[1]
 
-write_index('Zope2', '2.12.0a3')
+write_index('Zope2', '2.13.0dev')
 
 for package in CP.options('versions'):
 

Modified: Zope/trunk/inst/versions.py
===================================================================
--- Zope/trunk/inst/versions.py	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/inst/versions.py	2009-05-27 12:45:04 UTC (rev 100457)
@@ -1,7 +1,7 @@
-ZOPE_MAJOR_VERSION  = '2.12'
+ZOPE_MAJOR_VERSION  = '2.13'
 ZOPE_MINOR_VERSION  = '0'
 ZOPE_BRANCH_NAME    = '$Name$'[6:] or 'no-branch'
 
 # always start prerelease branches with '0' to avoid upgrade
 # issues in RPMs
-VERSION_RELEASE_TAG = 'b1'
+VERSION_RELEASE_TAG = '0.dev'

Modified: Zope/trunk/setup.py
===================================================================
--- Zope/trunk/setup.py	2009-05-27 12:22:59 UTC (rev 100456)
+++ Zope/trunk/setup.py	2009-05-27 12:45:04 UTC (rev 100457)
@@ -19,7 +19,7 @@
 EXTENSIONCLASS_INCLUDEDIRS = ['include', 'src']
 
 params = dict(name='Zope2',
-    version='2.13dev',
+    version='2.13.0dev',
     url='http://www.zope.org',
     license='ZPL 2.1',
     description='Zope2 application server / web framework',



More information about the Checkins mailing list