[Zope3-dev] Re: Google SoC Project

Jim Fulton jim at zope.com
Tue May 9 07:22:30 EDT 2006


whit wrote:
> Adam Groszer wrote:
> 
>> I personally am tired of restarting z3 each time I made an error even
>> if it is just one char mistype. I'm doing now a wx based app, and the
>> problem is the same... made an error, restart, click 10 times...
>> It would be also a way to have a developer version which might run
>> slower.
>>
> 
> amen...   In the plone community, we have several influential developers 
> who don't use z3 tech I suspect because developing with pythonscript is 
> *still faster* than writing views and adapters because one doesn't have 
> to reload to see minor code changes.
> 
> also, in z2 land, refreshing a product loses all the related z3 
> registrations.
> 
> being able to dynamically reload without restart would be a huge 
> fricking win.

I guess we need to make this a priority for the next release.

Python simply does not support a general robust reload, other than
restart.

I think that there are 2 ways we can make progress in this area:

- Speed up restart.  I think there are a lot of ways that restarts
   can be made faster:

   o Optimizae what we're doing now.  I suspect that there are some
     opportunuties here.

   o Load less.  A Zope 3 application that only loads what it actually
     uses will load much more quickly than a full Zope 3 checkout.

     The Zope 3 checkout has as much as it does to provide a
     way to test a range of applications when we modify Zope 3.
     We need to have a better way of solving this problem without
     such a bloated checkout configuration.

     Also, we need to make progress with packaging, to make
     it easier for people to get just the components they need.
     I wanted to switch to eggs for the 3.3 release, but, sadly,
     there wasn't enough time.  I think switching to package-based
     distributions and installation should be a top priority for
     3.4.

     Finally, there's a lot of interest in generating configuration
     actions in Python, rather than ZCML.  I suspect that avoiding
     XML processing, conversion, and validation might speed startup
     quite a bit.

- Look at opprtunities for limited robust reload.  Perhaps we could
   define reloadable modules, especially for defining adapters,
   with restrictions on their definitions and exports in a way
   that allows robust reload.  This would probably be based on the
   persistent-module experiments.  This is a fair bit of deep work
   though and I'm not sure who has the interest and ability to make
   it happen.

I'm really not interested in a reload faclity, like the one commonly
used in Zope 2, that is not robust.  I've wasted too many hours
helping people debug problems that were caused by reload misshaps.

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the Zope3-dev mailing list