Zope 2 2.5.0b2

Milestone information

Project:
Zope 2
Series:
2.5
Version:
2.5.0b2
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.4 REQUIRES PYTHON 2.1!

   See CHANGES.txt for important notes on Zope 2.4.

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 2.1
    ./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. See also the pcgi/README file for further
  informations on the installation of PCGI.

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.5 Beta 2

    Bugs Fixed

      - We had intended to add recognition for '.pt' extensions to
        allow clients (DAV, FTP) to create Page Template objects
        rather than DTML documents on a PUT. This slipped through the
        cracks, but now has been done. Note that this is really only a
        short term solution until the user-configurable type-to-object
        mapping facility is worked out and added to the core (post-2.5).

      - Unscrewed additions to the user folder API. There are three
        new methods in the UserFolder API: userFolderAddUser,
        userFolderEditUser and userFolderDelUsers. These are
        functionally identical (really just aliases) to the
        _doAddUser, _doChangeUser and _doDelUsers methods of user
        folder objects, with the exception that they can be called
        from XML-RPC or scripting code (if the caller has the 'Manage
        users' permission.

        This is a change from beta 1, which had a botched
        implementation of this with different names (that clashed with
        some existing custom user folder implementations, and wasn't
        backward compatible like it should have been).

        Also, password encryption was taking place before the point
        where custom user folders could intervene, which was wrong
        since not all user folders can work with a pre-encrypted
        password.

      - ObjectManager: fixed broken manage_FTPlist functionality
        on nested ZClasses

      - Fixed large memory leak (Collector #60).

      - Fixed a performance problem introduced in DateTime by
        moving to Python 2.1. Sorting a list of DateTimes (which
        ZCatalog sometimes does) should be much faster now.

      - HTTP Range support: Don't join adjacent ranges; The Acrobat PDF
        viewer makes extesive use of adjacent ranges and fails if the
        resulting response gives only one big range result.

  Zope 2.5 Beta 1

    Bugs Fixed

      - WebDAV: The long outstanding read-only problem with WinWord
        and .html is finally solved. Zope sends now an additional ETag
        header for DTMLMethods and DTMLDocuments. Many thanks to
        Joachim Schmitz for this hint.

      - PathIndex: fixed minor bugs, enhanced testsuite

      - DTML-MIME tag: creates now a 'Mime-Version: 1.0' to make
        some fussy email programs happy

    Features Added

      - added doc/ENVIRONMENT.txt to document all used environment
        variables Zope is using

      - Provided a much more robust tool for recovering data from
        damaged FileStorage files:

        Allow recovery of data when:

          - either transaction or data records are damaged and when

          - multiple parts of a file are damaged

        The interface has changed to not modify in place.

        Other features:

          - Progress indicator

          - Verbose output

          - optional packing

          - index creation

      - The last entry in the breadcrumb path in the ZMI is now an
        underlined hyperlink.

      - Added a new script "utitilies/check_catalog.py" to perform
        some consistency checks on a ZCatalog instance

      - Added the following new products related to sessioning:

 - browser id manager

 - session data manager

 - transient object container

 - temporary folder

      - Zope will create default sessioning objects on startup

      - Zope will create an Examples folder on startup. This folder
      contains a collection of simple example applications.

    Bugs Fixed

      - STXNG: added '+' as allowed character inside URLs

      - enhanced the checks for 'Domains' field in the UserFolder

      - Webdav: fixed broken MOVE and COPY commands

      - Updated DTMLMethod validation support patch with version
        by Steve Alexander

      - <dtml-var "..." fmt="structured-text"> did not work
        properly under some acquisition related reaons.

      - pre-2.5 installation could not properly migrated to 2.5 because
        of changes in the Splitter API

      - ZODB conflict errors were logged at a severity that caused
        tracebacks to be logged to the stupid log file "out of the box".
        Because conflict errors happen under normal operations, and
        their appearance in the log frequently alarms folks, typical conflict
        error logging verbiage has been reduced, and traceback logging
        has been changed to happen only at BLATHER log level, which
        means that conflict tracebacks will only be logged if
        STUPID_LOG_SEVERITY is set to -100 or lower.

  Zope 2.5 Alpha 2

    Bugs Fixed

      - New accelerated security management bugfix in App/Manager.py,
        changing calling sequence to positional parameters.

      - STXNG: re-enabled inner now work also through DTML
        and not only when using STXNG standalone

      - STXNG: generated HTML is now more HTML4/XHTML compliant
        (quoted attributes, inner links)

  Zope 2.5 Alpha 1

    Features Added

      - re-enabled inner links for STXNG documents.

      - Zope installations upgraded from pre-2.4 installations
        did not show the WebDAV LockManager entry in the control panel.

      - "requestprofiler.py" script in utilities now does better analysis,
        including:

        "active" in detailed output is now slightly more meaningful.
        It is > 0 only if other requests started after it started
        but before it finished. The greater the active count, the
        more likely it is that something was going on at the time
        in which the request ran that caused a slowdown.

        Multiple files may be analyzed at the same time.

        Also, script recognizes "U" opcode in big M logs as meaning a restart.

      - Added a "preview" field to the edit form for Image
        objects. This provides a preview of the actual image data on
        the form to make it easier to know what you are working
        on. The preview image is scaled if necessary to be useful
        without being obtrusive.

      - Added the ability to edit File object content in a
        textarea. If the content of a File is a text type and the size
        is less than 64K (the max size for text area data in some Web
        browsers), then you can edit the content as you would a DTML
        or other text-based object.

      - New user management API for user folder objects was implemented.

        As of Zope 2.5, manage_addUser, manage_editUser and manage_delUsers
        form the official API for user management. The old grotesque way of
        using manage_users is now deprecated.

        The default implementation of these API methods simply call the
        _doXXX versions of the methods that user folder authors have already
        implemented, which means that these APIs will work for current user
        folder implementations without any action on the part of the author.

        User folder authors that implement the new manage_XXX API can get
        rid of the old _doXXX versions of the methods, which are no longer
        required (we only use them if the new api is not directly implemented).

        API documentation for the User Folder API was also added to
        the help system.

      - Python compiler in RestrictedPython brought in sync with
        main distribution. Made to be compatible with Python 2.2.

      - Added links in the "debugging information" control panel
        for viewing the contents of the ZODB cache.

      - Added user password encryption capability, fulfilling the
        needs described in the proposal at:
        http://dev.zope.org/Wikis/DevSite/Proposals/EncryptedUserfolderPasswords
        There is now a "properties" tab in user folders where you
        can select whether passwords are stored encrypted.

      - Locale support in STXNG has been broken (since 2.4.0)

      - Added SOFTWARE_HOME, INSTANCE_HOME, and CLIENT_HOME to the
        control panel to make it easer to tell what configuration of
        Zope is running.

      - Re-applied Medusa patch to allow proxy-like HTTP requests
        (GET http://hostname:port/ HTTP/1.0)

      - Objects indexed by the PathIndex can now provide a hook or an
        attribute with the same name as the index name to provide
        a customized path information other than using getPhysicalPath().

      - Selecting "Clear Catalog" from the ZCatalog "Advanced" did not clear
        the vocabulary associated with a TextIndex.

      - Added updated and enhanced testsuite for STXNG.

      - added getEntryForObject() for PathIndexes. Reworked PathIndex's
        internal inverse index.

      - API help topics can now document functions as well as classes.

      - Security accelerations in c

      - Accelerated C Document Template handling; Document Templates
        can now do additional rendering in C, improving performance.

      - Unicode support for ZCatalog:

        - added new UnicodeSplitter

        - ZCatalog now allows unicode strings as attributes
          of objects to be indexed using a TextIndex
          (see lib/python/ZCatalog/README.txt)

    Bugs fixed

      - WebDAV: Zope escaped nested object properties derived from
        internal dav__* functions in PropertySheets.py although they
        are considered to be safe and do not need any escaping. This
        caused Zope to be completely incomplete with Windows XP. Fixed !

      - WebDAV: '(' and ')' are now allowed in Ids for Zope objects.
        This is needed when one tries to duplicate files using cut&paste
        through Microsoft webfolders.

      - Collector #2532: ZCatalog.availableSplitters is now protected
        by security mechanism.

      - Collector #2412: a read-only FileStorage has not been closed
        properly.

      - Collector #2390: Objects of type 'Help Image' were not properly
        re-registered inside registerHelp().

      - Fixed broken FTP download for larger files.

      - Collector # 2396: StructuredText did not allow URLs containing "%"

      - Collector # 2397: StructuredText could not handle underlined text
        properly. Also <dtml-var stxdoc fmt="structured-text"> will no longer
        produce <html>..<body> and </body>..</html>

      - Collector #2438: Using a slice operation like [30:] on a
        ZCatalog search result caused a MemoryError because
        the __getslice__ implementation used range() instead
        of xrange().

      - Collector #2423: Searching a FieldIndexes for documents
        with a blank string has been broken.

      - WebDAV Lockmanager was not working due to a Python 2.1
        incompatibility.

      - Collector #2482: A COPY operation through WebDAV on a locked
        resource left the destination resource in a locked state
        so any WebDAV client was unable to unlock the destination
        object. Locks are now cleared from the destination object.

      - Error message AttributeError/_v_blocks when a DTMLfile is
        not present or could not be read replaced by a more
        informative message.

      - Collector #2497: SERVER_PROTOCOL variable is now compliant
        with the CGI specification and looks like "HTTP/1.1" instead
        of "1.1"

      - Creation of a TextIndex ignored the vocabulary setting.

      - Fixed broken aquisition of vocabularies from a Catalog
        by a TextIndex.

      - Collector #2504: level parameter has not been passed to HTMLClass
        constructor

      - default for 'orphan' attribute of <dtml-in> is now 0 instead 3.

      - Fixed conflict resolution problem in BTrees (BTreeTemplace/
        _p_resolveConflict)

      - Collector #2524: Medusa sent "HTTP/None..." as response header when
        then HTTP version could not be determined from the HTTP request.
        Now sending "HTTP/1.0..."

      - queries for the PathIndex can now specified as tuple (path,level).
        the level parameter inside a query overrides the optional
        'level' parameter for a complete search request.

      - Collector #2561: XXBucket.values() returned keys instead of values

      - Fixed the API docs for user objects.

      - Fixed bad interaction between ZCatalog and dtml-in (submitted by
        Steve Alexander)

      - Multiple links in a paragraph with mixed link notation
        (quotation+colon+URL or quotation+comma+whitespace+URL) did not
        work properly (thanks to Alastair Burt for reporting and submitting
        the patch).

      - Fixed case where DTMLMethod.py complained when it tried to remove
        the accelerated DTML security validation routine after recursive
 entry.

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.