Philipp Auersperg wrote:
It is not posible to copy ZClasses, when I try to copy a ZClass in the Management Interface I get the error: 'The Item 'blorf' does not support that operation'
I digged into that and found that in the ZClass.py there exists a method
def cb_isCopyable: pass
I was so crude to replace the pass with a 'return 1', restarted Zope and could now copy ZClasses as I wanted it.
----------------------------- My first question now:
(zero indexed questions, I love it)
0. Why are ZClasses not copyable?
I don't know.
1. Do I shoot into my foot with my hack or is that OK?
I don't know, but I suspect you're aiming the gun in that general direction.
-----------------------------
And now my second question I am working on a ZClass-intensive project and sometimes I want to add/remove base classes of a ZClass without redefining the whole class manually.
The usual method for this is to subclass from a class you define in Python, then you can change the base classes of that python class easily. For this you need to make a python product with your class in it and initialize the product, registering the class as subclassable. There's probably a how-to on it somewhere, otherwise you can check out lib/python/Products/ZCatalog/__init__.py to see how the ZCatalog class is made ZClass subclassable. -Michel