For those interested I've put together a little basic zope python product here: http://www.peterbe.com/zope/2.9-refresh-reproduction/MyProduct.tgz To reproduce the refreshing problem: install this product, start zope, change something in the index_html() method, go to /Control_Panel/Products/MyProduct/manage_refresh, press refresh, and notice how the change doesn't take effect, restart zope and notice how that's the only way to refresh. About the importance of this... See below
That's not good enough. The only thing that changed between my development environments was the version of zope and then it stopped working. Python product refresh is crucial to zope2 and this problem needs to be sorted out.
I don't agree that refresh is "crucial": refresh has always had "best effort" semantics, which leads many experienced Zope2 developers never to use it at all. Through bitter experience, they have learned that when refresht fails (silently), they have found that the hours spent figuring out why the application's behavior changed are much more expensive than the time it takes enter '<Ctrl-C><UpArrow><Enter>' in the zopectl shell.
I've got fresh install of zope2.9 on my half-decent thinkpad with few but very light products (no CMF, Plone or TextIndexNG). A restart takes about 3-5 seconds buy human stopwatch. A product refresh in the Control Panel takes less than 1 second. The whole story is that I never use the Control_Panel manually; I have a spinning script that uses inotify on changes and visit the control panel programmatically using ZPublisher.Client I don't use auto-refresh on changes because of the risk of getting those strange ValueError's from the session machinery. And by the way, a zope restart makes you loose your SESSION. Point is, to **ME** product refreshing is much much more productive that zope restarts.
You'd be better off lobbying for faster restart times, including especially the third party products you use (a "stock" Zope restarts *very* quickly).
-- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com