[Product-Developers] Thoughts on merging sauna.reload into plone.reload

Asko Soukka asko.soukka at iki.fi
Mon Oct 24 07:14:41 UTC 2011


Hi Fellows,

I just noticed that there has been some discussion about merging 
sauna.reload with plone.reload (or replacing plone.reload completely).

As a sauna.reload's maintainer, I think, it would be nice to have 
sauna.reload functionality as a feature of plone.reload, but I can't see 
it replacing plone.reload completely. It won't work for all of the use 
cases of plone.reload, it's not always faster and, even the idea is 
simple, It's much more fragile.

Personally, I use only sauna.reload, and it's great when it works, but...

0) It needs a little more work to set up and more care to use

1) I'd expect it to be next to useless for Plone core development (it 
could be hard to defer loading of core products beyound the fork point 
and deferring too much code makes the reload slow again)

2) It depends on z3c.autoinclude

3) It may alter the loading order of ZCMLs and does implicit 
<includeDependencies /> for observed products (and some generic products 
do have dependencies whose ZCMLs are not meant to be included for Plone)

4) Currently, only ZODB is supported

5) Changes in ZODB and Zope2 packages may easily break it

6) It still has bugs: signals from subprocesses may cause unwanted 
reloads in some situations (e.g. you cannot use vimpdb with sauna.reload)

I'm sure that some of the issues above can be fixed, but even then, 
plone.reload works fine as long as you don't grok.

I think, many could benefit more from adding (optional) built-in support 
for watchdog into plone.reload. Although, of course, watchdog can also 
be used directly from shell to trigger plone.reload when files get updated:

[scripts]
recipe = zc.recipe.egg
eggs = watchdog

bin/watchmedo shell-command --command="wget --spider 
http://localhost:8080/@@reload?action=code" --patterns="*.py;*.zcml" 
--recursive src/my.product

(And more complex operations can be described using configuration files.)

My two cents.

Best Regards,
Asko


More information about the Product-Developers mailing list