Zope is een webapplicatieserver geschreven in de ontwikkeltaal Python en wordt uitgegeven onder de Zope Public License. Het beschikt onder andere over een transactional object database, dynamische HTML-templates, scripts, search engine en connecties naar relational databases. Het programma kan geheel zelfstandig gebruikt worden maar het is ook mogelijk om het aan andere programma's te koppelen, zoals Apache. De ontwikkelaars hebben de eerste bčtaversie vrijgegeven van Zope 2.9.0 met de volgende veranderingen:
on behalf of Zope Corporation and the Zope community I am pleased to announce the release of Zope 2.9.0 beta 1. Some new features of Zope 2.9:
- ZODB 3.6
- Five 1.3
- integration for Zope 3 events for object creation and deletion
- Zope 3 i18n integration for page templates
- ObjectManager now has an hasObject method to test presence. This brings it in line with BTreeFolder.
- Using FastCGI is officially deprecated
- 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.
- 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
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 etc\services (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.
- Collector #1904: On Mac OS X avoid a spurious OSError when zopectl exits.