[Zope3-dev] Re: Through-the-web vs file-system development

Casey Duncan casey at zope.com
Mon May 10 10:00:31 EDT 2004


On Mon, 10 May 2004 07:56:18 -0400
Jim Fulton <jim at zope.com> wrote:
[..]
> So what does all of this mean?
> 
> I think that we can arrange to use FSB development for both local and
> global configuration and to support update of FSB software in ZEO
> clusters. I believe that this will require far less effort and has far
> less risk than providing a full TTW development and software packaging
> environment.

This does seem like a simpler approach. The downside being that it does
put more burden on the developer as __setstate__ hooks can be a bit
tricky to code (IOW it's easy to pre-shoot yourself in the foot). I'll
await the additional proposal on the framework for this.
 
> TTW development still has the advantage of convenience.  I suggest
> that TTW-development techniques should be used for scripting or
> "active content" development.  I also think that it still makes sense
> to use TTW-development techniques to support rapid development and
> prototyping. After software is initially prototypes, file-system
> synchronization will be used to convert TTW-developed software to FSB
> software. The fact that Zope 3 uses persistent modules that closely
> resemble regular FSB modules should make the transition of software
> from TTW to FSB straightforward.
> 
> I suggest than that, for the foreseeable future, we treat TTW
> development as a technique to be used solely for scripting and
> prototyping and that we make sure it is straightforward to create
> local configurations in ZCML and to update FSB software in ZEO
> clusters.

Sounds good to me.

>From a practical perspective, changes to code that affect persistent
state in a non-backward compatible way are rare or can often be avoided
with a bit of forethought (not at the expense of future maintanability,
however). Once a deployed system is live, most changes are bug fixes.

New app features tend to introduce these types of issues. Given the
other risks that are involved with adding features (or making other
major changes), a reduction in convenience is probably not bad and might
even be a good thing to some degree. Given a world full of TTW code it
is tempting to just make changes directly to the running system (since
you can). Of course none of us would ever do (or even contemplate) such
a thing, so I am speaking purely hypothetically ;^). Some level of
formality introduced here (with whatever automation can practically be
provided), can be a helpful constraint.

I do have some concerns about local configuration using ZCML in terms of
complexity and how it affects one's ability to understand a given Zope
instance, but I think the general idea is necessary if we are to
realistically support multiple different applications running in a
single Zope.

I'll await the details on how this works as well.

-Casey




More information about the Zope3-dev mailing list