Would this approach be appropriate?
http://dev.zope.org/Members/Caseman/Dynamic_HotFix_News/Dynamic_Hotfix
You can hotpatch the __bases__ attribute of the derived class.
ok .. I tried several different versions of patching .. 1st Try: Created a new class in the patch that subclassed the ZPatterns-Stuff directly: ############################ ### CMFCore.PortalFolder ### ############################ import CMFCore class PortalFolder( CustomizerFolder, CMFCore.PortalFolder.PortalFolder): """ Implements portal content management, but not UI details. """ meta_type = 'Portal Folder' portal_type = 'Folder' def __init__( self, id, title='' ): CustomizerFolder.__init__(self,id) self.id = id self.title = title CMFCore.PortalFolder.PortalFolder = PortalFolder InitializeClass(CMFCore.PortalFolder.PortalFolder) This works fine except the DataSkin-derived classes don't show up in the CustomizerFolder for customization (they're not properly initialized) 2nd Try: modify __bases__ directly .. ############################ ### CMFCore.PortalFolder ### ############################ def PortalFolder__init__( self, id, title='' ): CustomizerFolder.__init__(self,id) self.id = id self.title = title import Products.CMFCore.PortalFolder Products.CMFCore.PortalFolder.PortalFolder.__bases__ = tuple((CustomizerFolder,) + Products.CMFCore.PortalFolder.PortalFolder.__bases__) # the next line works only if i use the im_func # otherwise i get this error: # Error Type: TypeError # Error Value: unbound Python method must be called with PlugInContainer 1st argument Products.CMFCore.PortalFolder.PortalFolder.__init__ = PortalFolder__init__.im_func InitializeClass(Products.CMFCore.PortalFolder.PortalFolder) this one doesn't do anything ... do you see the failure .. have a hint what I'm doing wrong ??? thanks for your patience Ulrich Eck net-labs