[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