You are not logged in Log in Join
You are here: Home » Members » Phillip J. Eby's Zope Center » My Wikis » ZPatterns Wiki » DataManagers

Log in
Name

Password

 
 
DynamicDataObjects »

DataManagers

DataManagers are PlugInContainers that provide data management support for DataSkins. They do this through the use of PlugInGroups containing DataPlugIns such as AttributeProviders, SheetProviders, IndexingAgents, and RuleAgents. DataManager itself is an abstract base class which the classes for [Racks] and [Customizers] inherit from.

DataManagers receive DataManagementEvents and data requests from DataSkins, which they then forward to the appropriate DataPlugIns. In addition to serving as a convenient "home base" for the various kinds of plug-ins that do the "actual work", they also provide routing, filtering and translation support for the events and requests sent by the DataSkins.

For example, DataManagers forward _objectAdding() and _objectDeleting() events to AttributeProviders and SheetProviders immediately, but do not pass them any change-related events. Conversely, they defer notifications to RuleAgents and IndexingAgents until transaction or subtransaction commit, but give them notice of changes as well as adds and deletes. (See DataManagementEvents for more details on this process.) DataManagers also route and filter data-related requests so that only the AttributeProviders and SheetProviders which registered to deal with a particular attribute or propertysheet name will be asked for that data.