Commit e02eb6e9 authored by Andreas Jung's avatar Andreas Jung

some cleanup

parent 6f2d9bf5
......@@ -7,7 +7,7 @@ Building and installing Zope from source
System requirements when building from source
bash or another Bourne shell variant
Python 2.3.2 or later installed somewhere in the system PATH
Python 2.3.3 or later installed somewhere in the system PATH
GNU make
A C compiler (gcc recommended)
......@@ -148,7 +148,7 @@ Integrating Zope With An Existing Webserver
Troubleshooting
- This version of Zope requires Python 2.3.2 or better.
- This version of Zope requires Python 2.3.3 or better.
- The Python you run Zope with *must* have threads compiled in,
which is the case for a vanilla build. Warning: Zope will not run
......
CHANGE
010516-2.4-unicode
DEVELOPMENT BRANCH TAG
(trunk)
DESCRIPTION
This change adds the unicode functions 'unichr()' and 'unicode()'
to the list of restricted python methods allowed from '_' and other
places.
AFFECTED MODULES
- RestrictedPython/Guards.py
- Products/OFSP/help/dtml-funcs.stx
API CHANGES
The namespace '_' will now allow the methods 'unichr(num)' and
'unicode(string, encoding, error)' as methods. These are
base python functions for creating unicode strings.
NONAPI CHANGES
The Python manual descriptons of these two functions was added
to the Help file for dtml functions.
CHANGE
010529-2.4-dropinindex
DEVELOPMENT BRANCH TAG
ajung-dropin-registry
DESCRIPTION
This change modifies the catalog and ZCatalog to support dropin
index types.
AFFECTED MODULES
- Products/ZCatalog/Catalog
- Products/ZCatalog/ZCatalog
- Products/ZCatalog/ZCatalogIndexes
- Products/PluginIndexes/PluggableIndex
- Help/HelpSys.py
API CHANGES
Catalogs no longer have any knowledge of index types.
The Catalog base class had the method 'addIndex()' modified to
change the 'index_type' parameter from a string to an index object.
The signature of 'addIndex()' remains the same; 'addIndex(name,
index_type)'. 'addIndex()' will now raise an error if it is called
with a string argument for 'index_type'.
ZCatalogs now perform more work as a Catalog would; in particular,
it is not appropriate for another class to obtain the base Catalog
object and manipulate it directly without being closely related
to ZCatalog (ie ZCatalogIndexes and PluginIndexes).
The 'all_meta_types()' method of ZCatalog was removed. ZCatalog
will use ObjectManager's 'all_meta_types()' method.
ZCatalog gained new methods:
- addIndex(name, type)
- delIndex(name)
- clearIndex(name)
- addColumn(name, default_value)
- delColumn(name)
These methods call the underlying method of the same name on the
Catalog, with the exception of 'addIndex()'. The ZCatalog 'addIndex()'
performs as the old Catalog's 'addIndex()' in that the 'type' parameter
is the *name* of the index type to add. This type is found using
the 'meta_type' of an object which supports the interface
'Products.PluginIndexes.common.PluggableIndex.PluggableIndexInterface'.
NONAPI CHANGES
ZCatalog's "Index" tab now goes to an object manager view of the
Indexes provided by a new class, ZCatalogIndexes. The ZCatalogIndexes
view of the indexes allows adding, removing, and reindexing, and
clearing of indexes through object-manager forms.
The help system initialization method now calls the ZCatalog
methods for manipulating indexes and columns rather than the underlying
Catalog's.
CHANGE
010529-2.4-exreg
DEVELOPMENT BRANCH TAG
ajung-dropin-registry
DESCRIPTION
This change modifies the product registry to support additional
customizable object managers. This change allows ZCatalog to
support pluggable indexes.
AFFECTED MODULES
- App/ProductContext
- OFS/ObjectManager
API CHANGES
Product registration now accepts two additional arguments
to the 'context.registerClass()' method. These two arguments
are:
- visibility -- default is "Global"
- interfaces
Where visibility is a signal to object managers as to the applicability
of the object to be put in generic locations. The default visibility
is "Global". None should be specified if the object is not to
be globally visible. This parameter may gain other values in
the future.
Interfaces specifies the interface list that the class being registered
supports. If interfaces is not specified, it will be inspected from
the '__implements__' attribute of the 'instance_class' parameter, if
possible.
When an object manager constructs a list of objects that are eligible
to be inserted into the manager, it calls the 'all_meta_types()' method
of the object manager. The default 'all_meta_types()' method of
the base ObjectManager class has been modified to respect the
visibility setting of objects, and to accept one new parameter:
- interfaces
which is a list of interfaces to be searched for and objects which
support them will be included in the list, regardless of their
visibility, but *only* those objects which support the interfaces
will be included in the result set.
Additionally, the class 'IFAwareObjectManager' contains a single
method of 'all_meta_types()' which will aquire the attribute
'_product_interfaces' to determine the interface list, and then
call ObjectManager's 'all_meta_types()'.
CHANGE
010529-2.4-pluggableindex
DEVELOPMENT BRANCH TAG
ajung-dropin-registry
DESCRIPTION
This change provides a base class for pluggable indexes,
providing the Interface object which they support.
AFFECTED MODULES
- Products/PluginIndexes/common/PluggableIndex
API CHANGES
The 'PluggableIndexInterface' is described in this module.
All pluggable indexes must implement the following methods:
- 'getEntryForObject(documentId, default=None)'
- 'index_object(documentId, obj, threshold=None)'
- 'unindex_object(documentId)'
- 'uniqueValues(name=None, withLengths=0)'
- '_apply_index(request, cid="")'
All pluggable indexes must provide the following attributes:
- "query_options" -- a list of options that are allowed to be
passed with a query (the option "query" is mandatory for
all indexes)
These are, respectively, the equivalent of get(), add(), remove(),
values() and search() on indexes.
When pluggable indexes are registered with the product registry,
they must declare themselves to support the PluggableIndexInterface.
The most straighforward way to do this is with a class attribute:
- '__implements__ = Products.PluginIndexes.common.PluggableIndex.PluggableIndexInterface'
CHANGE
010620-2.4-btreeconflict
DEVELOPMENT BRANCH TAG
(trunk)
DESCRIPTION
This change makes BTree conflict resolutions raise ConflictError
when persistence is active at compile time.
AFFECTED MODULES
- BTrees/MergeTemplate.c
- BTrees/BTreeModuleTemplate.c
- BTrees/BucketTemplate.c
- BTrees/BTreeTemplate.c
API CHANGES
None.
NONAPI CHANGES
The master module template BTreeModuleTemplate will now import
ConflictError from ZODB.POSException.
ConflictError is raised in merge_error instead of ValueError.
(arguably redundant with the below)
bucket_p_resolveConflict and BTree_p_resolveConflict will
replace any error that is raised if they return NULL with a Conflict
Error.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment