Zope 2 2.4.0a1

Milestone information

Project:
Zope 2
Series:
2.4
Version:
2.4.0a1
Released:
 
Registrant:
Sidnei da Silva
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
No users assigned to blueprints and bugs.
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
No bugs are targeted to this milestone.

Download files for this release

File Description Downloads

Release notes 

Building and installing Zope from source
----------------------------------------

  This document describes building and installing Zope on Unix.
  We will provide Windows instructions in later releases. We
  will also provide binary releases for some platforms.

Important notes

   ZOPE 2.0 REQUIRES PYTHON 1.5.2!

   See CHANGES.txt for important notes on Zope 2.0.

Quick Start

  If you are impatient, the following commands should get you up and
  running with Zope 2 using ZServer and ZODB 3 on Unix::

    python w_pcgi.py # Note, this must be Python 1.5.2
    ./start

  The first command builds and adjusts Zope. Take note of the user
  name and password output at the end of this command. You will need
  these to manage Zope.

  If you get errors indicating that addresses are in use, then you
  will have to supply arguments to z2.py to change the ports used for
  HTTP or FTP. The default HTTP and FTP ports used by ZServer are 8080
  and 8021 respectively. (See the help for the z2.py script by running
  z2.py with the -h option for more information on how to specify
  different ports)

  You can then connect to Zope 2 by directing your browser to::

     http://yourhost:8080/manage

  where yourhost is the name or address of the machine running Zope 2.
  If you changed the HTTP port with the -w option to z2.py, then use
  it rather than 8080.

  You will be prompted for a user name and password. Use the user name
  and password output above.

  Now you're off and running! You should be looking at the Zope management
  screen which is divided into two frames. On the left you can navigate
  between Zope object and on the right you can edit them by selecting
  different management functions with the tabs at the top of the frame.

  If you haven't used Zope before, you should head to the Zope web site
  and read some documentation. The Zope Manager's Guide is a good place
  to start. You can access the Zope site at:

    'http://www.zope.org/'

  Have fun!

Building Zope

  There are some python scripts in the top-level directory that should
  help you get started. You must run these scripts from the top-level
  directory.

  If you want to try out Zope in the simplest fashion 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::

    python w_pcgi.py

  Notes

    * You should be using Python 2.1 to run the build scripts.

    * The python you run Zope with *must* have threads compiled in,
      which is *not* the case for a vanilla build. When you build the
      python you'll use, 'configure --with-threads' does the right thing.
      Warning: Zope will not run with a Python version that uses libpth.
      You *must* use libpthread.

    * To build python extensions you need to have Python configuration
      information available. If your Python comes from an RPM you may need
      the python-devel package installed too. If you built Python from source
      all the configuration information should already be there.

    * 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.

Starting Zope with an existing web server

  See the WEBSERVERS.txt file for more information about configuring Zope
  with an existing web server.

Running Zope

  There are two ways to run Zope:

  - You can use ZServer, the integration of Zope and Medusa. You must
    use ZServer if you want to use multiple concurrent threads.
    ZServer is a server application that supports multiple protocols:

      o HTTP -- ZServer is a Web server

      o FTP -- ZServer is a file-transfer protocol server. This
        allows you to use FTP-enabled publishing systems with Zope.

      o PCGI -- PCGI is a lightweight protocol for forwarding
 requests from other web servers, like Apache or Netscape, to
 Zope. This makes it possible to use web server features like
 connection encryption or logging with Zope.

      o monitor -- ZServer has the capability to allow you to access
        the Python interpreter directly over a network channel. If
        you intend to use this, please read the 'DEBUGGING.txt'
        document for more information.

    With ZServer, you must start Zope manually using the z2.py script.
    Typically, the command used to run the z2.py script will be put in
    system startup scripts.

    ZServer is the prefered way to run Zope.

  - If you *only* want to use PCGI and you don't need multi-threaded
    operation, you can have a special program, the pcgi_publisger,
    start Zope for you. See the WEBSERVER.txt file for details on
    using Zope with an existing webserver.

  If you wish to enable Zope logging you must specify options on the
  command line. See LOGGING.txt in the doc directory.

Changelog 

View the full changelog

Zope Changes

  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.

    Zope 2.4 alpha 1

      Features Added

        - Zope now requires Python 2.1. See the Zope 2.4 migration
          document for details:

          http://www.zope.org/Products/Zope/2.4.0/Zope24MigrationGuide.html

        - The 'Authenticated' role has been added as one of Zope's
          standard roles. A user's possession of this role indicates
          that he or she has been authenticated by the Zope security
          machinery. It is an implicit role, and cannot be provided to
          users within the user management screens or the local roles
          management screens. It is provided to all authenticated users.
          Another way to think of the 'Authenticated' role is that
          it is possessed by all users *except* the Anonymous User.

        - A module 'requestprofiler.py' is now part of the utilities
          directory. When run from the command line, this utility
          allows you to generate profiling information from Zope's
          detailed request log (the "-M" log).

        - Restricted code can import AccessControl.getSecurityManager,
          and use 'validate', 'validateValue', 'checkPermission',
          'getUser', and 'calledByExecutable'.

        - Zope's WebDAV support now includes exclusive write locking.

        - Data.fs.in index_html now shows zope_quick_start instead
          of old, inaccurate content.

        - Changed index_html, standard_html_header, standard_html_footer,
          and standard_error_message in Data.fs.in to use "new" DTML syntax
          (as opposed to SSI-style syntax).

        - Added check for 'FORCE_PRODUCT_LOAD' environ var to bits which
          try to detect whether we're a ZEO client or not in order not to
          skip product-loading tasks. This has the consequence that a ZEO
          client with the "ZEO_CLIENT" env var set will cause product
          loading tasks to occur iff his "FORCE_PRODUCT_LOAD" environment
          var is set as well.

        - Further optimizations in the lexicon of the Catalog as well
          as the final merge code integration for Text indexes. This
          should reduce the bloat when things are reindexed.

        - StructuredText: old StructuredText replaces by StructuredTextNG.
          Added support for locale settings. Several bugfixes and code
          cleanup.

        - Image and File objects now support the HTTP Range and If-Range
          headers, enabeling partial downloads of such objects. This can be
          used by clients to restart a broken download. Downloads of these
          objects through FTP can also be restarted.

        - Update of Medusa tree to latest version

        - If an INSTANCE_HOME is defined and has a 'lib/python'
          subdirectory, it will be added to the front of the Python path.

        - DTML-In and DTML-Tree now have optional "prefix" attributes
          that can be used to make friendlier tag variable names.

        - Added product reloading capability, formerly provided by
          the "Refresh" product. This enables developers to see the
          effect of changes to their products without restarting Zope.

        - Added new 'sequence' module for underscore namespace to provide
          extended sorting functionality for sequence (implements
          ExtendedDTMLSorting proposal)

        - Fixed a long-standing bug in FileStorage that made it so
          versions were only partially committed.

        - Rewrote the complete indexing infrastructure according
          to the DropinIndex proposal
          (see lib/python/Products/PlugginIndexes/README.txt for
          detailed informations).

        - Adopted ZCatalog to new indexing infrastructure.

        - added text() method to HTTPRequest object to provide a plain
          text representation of the request (Collector #2264)

    Zope 2.3.0 beta 3

      Features Added

        - Make ZClasses navigable to FTP/WebDAV; implement 'PUT_factory'
          hook to create PythonScripts (for MIMEtype 'text/x-python')
          and DTMLMethods (for other 'text' MIMEtypes) (Collector #998).

      Bugs Fixed

        - Mechanisms in the underbelly of the Catalog and Globbing
          Lexicon (which is the default for all new Catalogs) has been
          overhauled given substantial performance increases. On
          simple queries, performance should double (or more) in many
          situations, whereas with globbed queries it may increase by
          substantially more.

    Zope 2.3.0 beta 1

      Features Added

        - Added a hook that allows user folders to provide a logout
          action.

        - Added a browser preferences screen to allow people to
          tweak the management UI to their liking. For the folks who
          complained that they didn't like the new top frame, they
          can (among other things) turn it off from the browser
          preferences screen.

        - Added Michel's new QuickStart material. I haven't quite
          decided whether the old QuickStart should go away or
          stay around as a source of examples.

        - The logout function has been implemented in a fairly minimal
          way. We may try to make this nicer by final if we get time.

        - The ZCatalog interface is now cleaned up and matches the new
          interface look and feel better. In addition some logical
          reorganization was made to move things onto an Advanced tab.

        - Result sets from the Catalog are now much Lazier, and will
          do concatenation with eachother in a lazy fashion. This was
          suggested by Casey Duncan in Collector #1712.

      Bugs Fixed

        - Added a deprecated alias to UnrestrictedUser, Super, for use
          by user folder products that depend on the old class name.

        - Fixed path for management interface files used for
          CatalogPathAwareness and Aqueduct.

        - Fixed a NameError in HTTPRequest.

        - Made manage_page_style.css correctly available to all.

        - ZCatalog objects now show up in the Add List in the same
          naming convention that was used for all other Z* objects.
          This does *not* affect the meta_type that is actually used
          for the object itself.

        - (Collector #1835, 1820, 1826) Eliminated errors in both
          Field and Keyword indexes where old keys might show up in
          'uniqueValuesFor()' because of the way the data structures
          were kept around.

        - (Collector #1823)Eliminated situation where if the Catalog
          did not have a metadata record for 'meta_type' the Cataloged
          Objects view would be incorrect and list everything as a
          'ZCatalog'. Now it simply lists it as 'Unknown'.

        - (Collector #1844) On the brains returned from ZCatalog
          queries, 'getObject()' now tries to resolve URLs as well as
          paths. This should catch more cases.

        - Tags generated for ImageFile objects attempted to use
          title_or_id(), which is not defined for those objects.

        - Mounting now fails gracefully in when getId() is not
          available in the mounted object.

    Zope 2.3.0 alpha 2

      Features Added

        - The install machinery for source release has been modified
          to allow Zope to build out of the box for Python 2.0. Note
          however, that Python 2.0 is still not officially supported.
          You may see quite a few warnings from the extension builder
          when compiling for Python 2.

        - A new module, AccessControl.Permissions has been added to
          make it easier to use the new security assertion spelling.
          The new module provides consistent symbolic constants for
          the standard Zope permissions.

        - Cache manager support added. This allows site administrators
          to ease the burden on their site in a very configurable
          way. It also provides an API for developers to follow when
          experimenting with caching strategies.

        - The ZPublisher 'method' form variable type has been
          deprecated in favor of 'action'. The behavior is the
          same, only the official (and documented in the Zope
          book) name has changed. The 'method' name is still
          supported for backward compatibility.

        - The 'objectIds' and 'objectValues' methods of ObjectManager
          derived objects are no longer directly Web-accessible. This
          is a topic that has come up over and over on the lists. Some
          (xml-rpc, mostly) users may depend on this behavior - applications
          that need access to this information remotely should be modified
          so that a Python Script or DTML Method can explicitly pass
          the data.

        - The Image.tag() and ZopeAttributionButton methods now return an
          image tag that is XHTML compatible; a space and a slash have been
          added.

        - SQLMethods can now be edited via FTP and WebDAV tools. Thanks to
          Anthony Baxter for his FTP support patches.

        - The Catalog has been slightly overhauled to manage object
          paths instead of URLs in its tables. This should not cause
          any backward compatability concern, but everyone upgrading
          should read the web pages on the zope.org site at:
          http://dev.zope.org/Wikis/DevSite/Projects/ZCatalogVirtualHostFix/UpgradeFAQ
          this will provide information about how to upgrade and new
          features on the result sets, like getObject and
          getPath. These are very important.

        - SiteAccess 2.0 has been added, to enable virtual hosting.

        - The StandardCacheManagers product has been added as a primary
          product, making it easier to get started with caching.

        - The class DTMLFile has been added alongside of HTMLFile.
          It supports name bindings, ignores positional parameters,
          and puts the container on top of the namespace by default.
          Most HTMLFiles should work the same (or more securely) if
          converted to a DTMLFile. Most management interface methods
          should be converted by the final release of 2.3.

        - Added a variable called PUBLISHED to REQUEST. From now on,
          this variable should be used instead of PARENTS for user
          validation.

        - The inituser file is now read even when one user has been
          created. This provides a way to reset the password after
          a new user installs Zope but ignores the generated password.

        - ZCatalogs have a reduced number of management interface tabs.

        - ZCatalog keyword and field indexes have been modified to use
          a merge strategy when existing indexes are updated. When an
          existing object is indexed, the contents of field and
          keyword indexes are merged with the changes detected between
          the existing contents of the index and the new content.

        - CatalogPathAware class added. This will eventually replace
          CatalogAware.

        - The ManagementInterfaceQuickFix project was merged in. The
          Zope management interface has been tweaked in various ways
          to improve productivity and consistency and is now at least
          slightly less ugly :)

=======
>>>>>>> 1.310
      Bugs Fixed

        - TextIndexes which called methods expecting an argument failed
          with a TypeError. This was fixed by extending an exception
          handler.

        - A security issue having to do with setting permission mappings
          on ZClass methods was fixed (this supersedes Hotfix-2001-05-01)

        - Automatic reloading of Help topics while running in debug mode
          was fixed.

        - Fixed problem adding propertynames with spaces (Collector #2206)

        - Plugged a memory leak in extensions. There are often circular
          references in code generated by Python's "exec" statement but
          with a small change extensions now break those references.

        - Hardened ZMI contents view against subobjects w/ flaky
          'get_size' (Collector #1900).

        - Fixed OFS.CopySupport's _verifyObjectPaste to utilize the
          permission stored in the metatype registry, if available
          (Collector #1975)

        - Fixed a long-standing bug in FileStorage that made it so
          versions were only partially committed.

0 blueprints and 0 bugs targeted

There are no feature specifications or bug tasks targeted to this milestone. The project's maintainer, driver, or bug supervisor can target specifications and bug tasks to this milestone to track the things that are expected to be completed for the release.

This milestone contains Public information
Everyone can see this information.