[Zope-dev] ZPatterns: BTree folder w/ customizer support

Steve Alexander steve@cat-box.net
Thu, 13 Jul 2000 14:11:38 +0100


I want to combine Shane Hathaway's BTreeFolder product with ZPatterns to
create a "BTree folder w/ Customizer support".

This has obvious advantages over the current "Folder w/ Customizer
support" when you have a large number of DataSkin subobjects, both in
terms of performance, and in terms of user-interface.

The easiest way for me to do this would be to ask Phillip to make such a
thing a standard part of ZPatterns :-)


This is a little more difficult to do as a separate product, without
lots of cut-and-paste reuse. (At least, it seems that way at first
site.)

the problem is that the inheritance heirarchy for CustomizerFolder
(meta_type is "folder w/ customizer support") is like this:

PlugInBase        Folder
    ^               ^
    |_______________|
    |
PlugInContainer
    ^
    |
CustomizerFolder


Without seriously delving into the code, I think I'd have to reimplement
PlugInContainer.

Instead, why not make PlugInContainer a mix-in class, and have concrete
classes for PlugInFolder and PlugInBTreeFolder ?

Then, it is easy to have a CustomizerFolder and a CustomizerBTreeFolder.

Then again, I wouldn't mind if things stay as they are, except that
PlugInContainer is made to derive from BTreeFolder rather than Folder.
Of course, that creates a dependency that you need the BTreeFolder
product in order to use ZPatterns.

--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net