Friday, January 25

Fewer Zope Server restarts

In my ongoing attempt to make filesystem based Zope development faster, I had a look at the nice but somewhat scary RefreshNG product.

One of the nice things which I thought about myself is its ability to reload all ZCML and reconfigure the global site manager without a server restart.

I took that idea and made it into its own package plone.reload which has a first release at http://pypi.python.org/pypi/plone.reload/0.1. All you need to do is to call http://server:port/@@zcml_reload while being logged-in as a Manager. You can do that as often as you like :)

Casual testing tells me that it should work in a standard Zope2 or Plone environment, though I only tested it against Zope 2.11 / Plone 4.0.

Feedback and bug reports welcome ;)

Update:

Sorry for the premature announcement. It seems there is some caching going on, which I need to work around. Probably this happens thanks to the new local site manager... Right now changing global GenericSetup steps works fine, but not much more. I'll post an update once I have tested this myself more thoroughly.

Update 2:

I got a new 0.3 release out, which should fix the caching issues. Sadly it does so by invalidating all the ZODB caches, which means you will wait a bit more after hitting the Force-Reload button in your browser. I found that just refreshing the site gave an acceptable wait-time, though.