Personal tools
You are here: Home Download Zope リリース一覧 Zope 2.10.0

Zope 2.10.0

Document Actions
Up to Product page
Zope
2.10系の最初のリリースです。プロダクトの互換性にご注意ください。(Plone2.1.4, 2.5.1は正式サポート外となります)。また、ZopePageTemplateの実装が変更になったため、日本語の扱いに問題があります。

Available downloads

For additional information about this project, please visit the project page.

Release Notes

Tested with Python 2.4.3, Python 2.4.2
State Final
License ZPL
Released 2006/10/04
  • Python-2.4.2以降が必要です。
  • Python-2.5系列では動作しません。
  • PloneのZope-2.9系正式対応は、Plone-2.5以降の予定です。
  • Five-1.5, Zope3 3.3.0 が同梱されています。
  • ZopePageTemplateの実装がZope3コードに移行しました。この影響により、PageTemplate内に日本語等のマルチバイトコードを記述した場合に文字化けする問題が出ています。詳しくは ページテンプレートと日本語 を参照してください。

Change log

Zope 2.10.0 (2006/10/04)

Bugs fixed Zope 2.10.0 RC 1 (2006/09/25) Bugs fixed

  • Call setDefaultSkin on new requests created as the result of ConflictError retries.
  • Collector #2187: PUT_factory broken

Zope 2.10.0 beta 2 (2006/09/17) Bugs fixed

  • Collector #2117: Don't choke in unrestrictedTraverse for + path elements.
  • Collector #2185: Log username for FCGI requests.
  • Collector #2152: Fixed MailHost documentation; simple_send does not process or validate its arguments in any way.
  • Collector #2175: ZTUtils.make_hidden_input did not escape double-quotes.
  • Collector #2176: Fixed bad logging call.
  • Collector #1907: Moved alt property from File to Image.
  • Collector #1983: Specifying session-resolution-seconds >= 1200 caused Zope startup to fail.
  • Collector #2169: webdav.Resource.COPY did not send ObjectClonedEvent.
  • Collector #2178: Fix ZopeTestCase doctest support for layers

Zope 2.10.0 beta 2 (2006/08/20) Bugs Fixed

  • Collector #2155: Fix wrong parameter being passed to logger's error() method, with tests.
  • Updated Five to stable 1.5 release.
  • Traversal order changes were causing WebDAV requests which used acquisition to fail.
  • Collector #2157: Expose name of broken class in SystemError raised from __getstate__ of a broken instance.
  • Usage of urljoin in webdav.davcmds could lead to wrongly constructed urls.
  • Fix #2141: TALES doesn't traverse correctly over repeat variable
  • reStructuredText/ZReST: setting raw_enabled to 0 for security reasons
  • Collector #2113: zopectl test masked Ctrl-C.
  • OFS Image: Image and File updated to use isinstance(data, str) and raises TypeError upon encountering unicode objects.
  • OFS Application: Updated deprecation warnings. Support for __ac_permissions__ and meta_types will be removed in Zope 2.11, methods support might remain longer.
  • Collector #2136: Map ResourceLockedError to the correct response code.
  • Collector #2016: DemoStorage couldn't wrap base storages without an _oid attribute.
  • Collector #2118: Empty TALES path expressions are allowed in Zope 2.
  • Acquisition wrappers now correctly proxy __contains__.
  • Collector #2116: sequence.sort() did not work properly locale related comparison methods
  • Collector #2122: fixed missing is_proxying_match definition in ZServer/HTTPServer
  • Collector 2077: fixed problem with ACTUAL_URL and SiteRoot
  • Collector #2073: fixed misbehaviour of OFS.Owned.changeOwnership
  • Collector #2063: cleaned up some mess in MailHost.sendTemplate()
  • View and attribute lookup order was changed to the following: 1. Unacquired attributes 2. Views 3. Acquired attributes According to consensus in z3-five mailing list: http://codespeak.net/pipermail/z3-five/2006q2/001474.html
  • The defaultView directive now only looks up views, not attributes.
  • Collector #2178: Fix ZopeTestCase doctest support for layers

Other Changes

  • Disabled docutils file inclusion completely, rather than trying to jigger it via configuration settings.
  • Returned to the "classic" ./configure && make && make install recipe, dropping the use of zpkg for building Zope2 releases.

Zope 2.10.0 beta 1 (2006/05/30) Restructuring

  • Zope 2.10+ now includes site.zcml as part of its instance creation skel directory. As a consequence Five now requires this file to exist in every instance. If upgrading a site from Zope 2.9 to 2.10, you will need to copy site.zcml and package-includes/ from your installed Zope installation location (skel/etc/) into the etc/ directory of your upgraded instance.

    The rationale for requiring this new file is to bring Zope 2 instances closer in consistency to Zope 3 instances. It also eases use of Zope 3 coding techniques in Zope 2 and removes some confusion when trying to run pure Zope 3 applications on Zope 2.

  • Products.PageTemplates now uses the Zope 3 ZPT implementation in zope.pagetemplate.

  • The TAL package has been deprecated in favour of the TAL engine from zope.tal.

  • Products.PageTemplates.TALES has been deprecated in favour of the TALES engine from zope.tales.

  • ZTUtils.Iterator has been deprecated in favour of the TALES iterator implementation in zope.tales.tales.

  • ZCatalog: removed manage_deleteIndex(), manage_delColumns() which were deprecated since Zope 2.4

  • deprecated the zLOG module. Use Pythons logging module instead.

  • replaced all zLOG occurences (expect the zLOG module itself) with the logging module

  • PluginIndexes/TextIndex is deprecated. Use ZCTextIndex instead

  • the StructuredText module is deprecated. Use zope.structuredtext instead

  • removed ZopeTutorial (Elvis is now really dead)

  • ZClasses are deprecated and should no longer be used. In addition any code related to the ZClasses (re)distribution mechanism is removed.

  • ZGadyFlyDA/Gadfly is deprecated

  • deprecated OFS.content_types (to be removed in Zope 2.11) and replaced all occurences with zope.app.content_types

  • OFS.content_types: moved code to zope.app.content_types and added method aliases

  • Using FastCGI is offically deprecated.

Features added

  • Included Zope 3.3 and corresponding Five 1.5 release.

  • There is now a default favicon.ico.

  • Experimental WSGI and Twisted support for http. Zope now has a WSGI interface for integration with other web-servers than ZServer. Most notably Twisted is supported. The WSGI application is ZPublisher.WSGIPublisher.publish_module

    You can make ZServer use the twisted interface with the "use-wsgi on" keyword in the http-server section in zope.conf.

    You can run Twisted by installing Twisted (2.1 recommended) and replacing the http-server section with a server section in zope.conf. It is not possible to run a Twisted server together with a ZServer at the same time.

    WSGI: http://www.python.org/dev/peps/pep-0333/ Twisted: http://twistedmatrix.com/

  • The traversal has been refactored to take heed of Zope3s IPublishTraverse adapter interfaces. The ZCML directives five:traversable and five:defaultViewable are therefore no longer needed, as everything now is five:traversable and five:defaultViewable.

    There was a bug in earlier versions of Five that allowed you to do custom publishing traversal with ITraversable adapters. This bug has been corrected. Anybody using ITraversable adapters need to convert them to IPublishTraversal adapters.

  • Testing.makerequest: Added an environ argument so clients can use mappings other than os.environ.

  • Updated to Docutils 0.4.0

  • reStructuredText: The default value for the stylesheet property has been changed from default.css to None because there is no default.css file by default.

  • ZReST: rewritten render() method to integrate it smoothly with Docutils 0.4.0. The default value for the stylesheet property has been changed from default.css to None because there is no default.css file by default.

  • Added a "clock server" servertype which allows users to configure methods that should be called periodically as if they were being called by a remote user agent on one of Zope's HTTP ports. This is meant to replace wget+cron for some class of periodic callables.

    To use, create a "clock-server" directive section anywhere in your zope.conf file, like so:

    method /do_stuff period 60 user admin password 123 host localhost

    Any number of clock-server sections may be defined within a single zope.conf. Note that you must specify a username/password combination with the appropriate level of access to call the method you've defined. You can omit the username and password if the method is anonymously callable. Obviously the password is stored in the clear in the config file, so you need to protect the config file with filesystem security if the Zope account is privileged and those who have filesystem access should not see the password.

    Descriptions of the values within the clock-server section follow:

    method -- the traversal path (from the Zope root) to an executable Zope method (Python Script, external method, product method, etc). The method must take no arguments or must obtain its arguments from a query string.

    period -- the number of seconds between each clock "tick" (and thus each call to the above "method"). The lowest number providable here is typically 30 (this is the asyncore mainloop "timeout" value).

    user -- a zope username.

    password -- the password for the zope username provided above.

    host -- the hostname passed in via the "Host:" header in the faux request. Could be useful if you have virtual host rules set up inside Zope itself.

    To make sure the clock is working, examine your Z2.log file. It should show requests incoming via a "Zope Clock Server" useragent.

  • Added a conflict-error-log-level directive to zope.conf, to set the level at which conflict errors (which are normally retried automatically) are logged. The default is info.

  • The SiteErrorLog now copies exceptions to the event log by default.

  • ObjectManager now has an hasObject method to test presence. This brings it in line with BTreeFolder.

  • Improved logging of ConflictErrors. All conflict errors are logged at INFO, with counts of how many occurred and how many were resolved. Tracebacks for all conflicts are logged a DEBUG level, although these won't help anyone much. If a conflict error is unresolved, it will now bubble up to error_log and standard_error_message.

  • Use new-style security declarations everywhere possible. This means remove the use of __ac_permissions__, foo__roles__ and default__class_init__. A few corner cases can't be converted because of circular imports.

  • Fixed unclear security declarations. Warn when an attempt is made to have a security declaration on a nonexistent method.

  • updated to ZPL 2.1

  • interfaces: Added Interfaces tab to basic core objects. This is a Five feature and only available if the classes are made five:traversable. It allows to inspect interfaces and to assign marker interfaces through the ZMI.

  • webdav: Added support for the z3 WriteLock interface. It is no longer necessary to have the WriteLockInterface in the __implements__ list of lockable objects. All classes inheriting from LockableItem inherit also the IWriteLock interface. Note that this enables webdav locking for all subclasses by default even if they don't specify the WriteLockInterface explicitly.

  • App ProductContext: Made registerClass aware of z3 interfaces. Z2 and z3 interfaces are registered side by side in the same tuple in Products.meta_types. IFAwareObjectManagers like the ZCatalog work now with z3 interfaces as well.

  • Zope now sends Zope 3 events when objects are added or removed from standard containers. manage_afterAdd, manage_beforeDelete and manage_afterClone are now deprecated. See lib/python/Products/Five/tests/event.txt for details.

  • Zope now utilizes ZODB 3.6. It had previously used ZODB 3.4. As a result, the DBTab package was removed, as ZODB 3.6 has multidatabase support that makes DBTab unnecessary.

  • Added a product-config section type to zope.conf, allowing arbitrary key-value mappings. Products can look for such confgiurations to set product-specific options. Products mwy also register their own section types, extending the zope.product.base type. (see the example <product-config> section in skel/etc/zope.conf.in for sample usage).

  • Collector #1490: Added a new zope.conf option to control the character set used to encode unicode data that reaches ZPublisher without any specified encoding.

  • AccessControl, Acquisition, App, OFS, webdav, PluginIndexes, ZCatalog and ZCTextIndex: Added some Zope 3 style interfaces. This makes the bridged interfaces shipped with Five obsolete.

  • ZConfig extension, address now also accepts symbolic port names from etc/services (unix) or etcservices (win32)

  • ZPublisher.HTTPRequest.FileUpload now supports full file object interface. This means Iterator support was added. (for line in fileobject: ..., as well as fileobject.next() and fileobject.xreadlines() ) Collector #1837

  • Switched the bundled Zope 3 to release 3.2 and upgraded the Five product to version 1.3 (see Products/Five/CHANGES.txt).

  • The PageTemplate implementation now uses Zope 3 message catalogs by default for translation. Old-style translation services such as Localizer or PlacelessTranslationService are still supported as fall-backs. See Products/Five/doc/i18n.txt for more information.

  • Switched to the new improved test runner from Zope 3. Run test.py with -h to find out more.

  • lib/python/docutils is now a reference to docutils package from the Zope 3 source tree (to get rid of redundant packages)

Bugs Fixed

  • Collector #1447: When editing content on a virtual-hosted zope, AcceleratedHTTPCacheManager now purges the correct URL.

  • When you add roles in manage_access, roles are now stripped of any leading or trailing spaces.

  • Collector #2062: Fix manage_historyCopy, which was broken, and write tests for it.

  • Collector #2061: Fix problems where windows line endings are passed to restricted code compilers.

  • Collector #2051: Applied patch by Yoshinori Okuji to fix some XML export/import problems, including tests for that feature.

  • Collector #2037: fixed broken ACTUAL_URL for /

  • Missing import of NotFound in webdav.Resource

  • Collector #1819: fixed method signature of MountedObject.SimpleTrailblazer._construct()

  • Collector #2019: removed validateValue() from cAccessControl (already removed in former Zope versions from the AccessControl Python implementation)

  • Collector #1991: ZPublisher did not deal properly with a trailing %20 in the URL

  • zope.app.introspector was not included with the source archive

  • Collector #2013: improved XHTML conformance of error messages, some of which did not close <p> tags.

  • Collector #2002: fixed broken ls -R functionality (didn't recurse properly subclasses of OFS.Folder)

  • Collector #1992: unified the visible hostnames of the FTP and HTTP servers

  • Collector #1999: fixed broken FTP rename functionality (RNFR now returns 350 as status code instead 250)

  • HTTPResponse: for XML content the encoding specified within the XML preamble is adjusted to the real encoding of the content as specified through the charset within the content-type property.

  • Collector #1939: When running as a service, Zope could potentially collect too much log output filling the NT Event Log. When that happened, a print during exception handling would cause an IOError in the restart code causing the service not to restart automatically.

    Problem is that a service/pythonw.exe process always has an invalid sys.stdout. But due to the magic of buffering, small "print" statements would not fail - but once the file actually got written to, the error happened. Never a problem when debugging, as the process has a console, and hence a valid stdout.

  • For content-type HTTP headers starting with text/ or application/ the charset field is automatically if not specified by the application. The charset is determined by the content-type header specified by the application (if available) or from the zpublisher_default_encoding value as configured in etc/zope.conf

  • Collector #1976: FTP STOR command would load the file being uploaded in memory. Changed to use a TemporaryFile.

  • OFS ObjectManager: Fixed list_imports() to tolerate missing import directories.

  • Collector #1621, 1894: Removed support for use of long-deprecated whrandom module.

  • OFS PropertySheets / webdav: Fixed dav__resourcetype. __dav_collection__ with a false value was overridden by isAnObjectManager.

  • added missing Zope 3 imports: zope.app.intid, zope.app.keyreference, zope.app.session, zope.contentprovider, zope.viewlet

Other

  • AccessControl.User: Use a better __repr__.
  • ZSQLMethod.manage_main: Moved the error message that warns of a non-existing or closed database connection next to the Connection ID dropdown and present it using red to increase its visibility.
  • The ImageFile module has finally been deprecated for good and will be removed in Zope 2.11. Use App.ImageFile instead.
by しみずかわ last modified 2006-11-12 14:26

Powered by Plone, the Open Source Content Management System