Jim Washington wrote -
It's always a temptation to patch and add features since it's so easy to do with Zope. But it's a bit dangerous because the changes could get lost or forgotten when you upgrade to a new version. Also, other people can't use your code unless they install the changes too.
Patches like this probably should be done in a manner like hot-fix products. DC's hot-fixes reside in the Products directory and generally override a Zope internal function or two. Take a look at one. They are not very complicated.
Yes, I looked and see how they set things up in an __init__.py script, very slick. A nice thing about Python is that you can actually replace functions and class methods without changing the original source code, if you can get the new definitions installed after the original ones are imported. I used to change how urllib handled file: URLs that way (not in Zope). When do the Hotfixes get run, do you know? Cheers, Tom P