[Zope3-dev] Re: Mandatory Viewing!

Jean-Marc Orliaguet jmo at ita.chalmers.se
Tue Mar 7 15:21:22 EST 2006


Paul Everitt wrote:

> Shane Hathaway wrote:
>
>> Stephan Richter wrote:
>>
>>> My vision for the WebDev project is that you can develop WebDev 
>>> packages using Zope 2 like features, but the result of the Web 
>>> development can be generated into a real Python package.
>>
>>
>> That might work, but the story breaks down if the developer can't 
>> switch *back* to TTW development.  Have you addressed that?
>
>
> Does the story break down?  The guy at NASA raved about ArchGenXML 
> going from picture to pixels w/ a bunch of zeros for LOC etc.
>
> Clearly this guy didn't just fall off the turnip truck.  Even if he 
> *is* glossing over the subtleties, developer mindshare has a tinge of 
> such gloss.  Geez, Rails clearly says their scaffolding isn't meant to 
> replace understanding, but that hasn't stopped the O'Reilly machine 
> from doing a hark-the-heralds on the breakthrough technology.
>
> So yes, the story breaks down.  But after the newcomer has confidence 
> and might not need to go back to the TTW approach.  The alternative is 
> something perhaps too hard to start (from their perspective).
>
> --Paul
>

Hi there :-)

I'd like to comment on the screencast, the story is not so much about 
TTW functionality, the screencast clearly emphasizes on:

1) few lines of code (this requires some implicit context in which the 
script is executed, there is no need to pull too much information to 
make it work)
2) no server restart (this means that the script is well encapsulated 
from the rest of the system, it can be reloaded without registering 
again 100 adapters, pages, and resources). the application knows what to 
do when the content of the script changes and it won't break.
3) no or very little configuration (same as 1, but also it means no 
indirections as in the zcml configs, the script only needs to exist for 
the app server to know what to do with it).

if all this can achieved on the filesystem, there is no reason to do it 
TTW. Then adding the possibility to edit scripts TTW is great too, but 
it is secondary.

what I want as a web designer /application developer is to be able to 
modify resources (scripts, images, styles, portlets, page layouts...) on 
the filesystem without restarting zope, I want the resources that I 
create TTW to be easily exported to the filesystem, I want to be able to 
customize resources that are on the filesystem and edit them TTW, with 
as little ceremony as possible ...

I did something in that spirit but on the *application* layer, this is 
much easier since only one type of object in the application (called 
'resource') need to support TTW-editing  / filesystem-editing / 
importing / exporting / customizing / reloading, ...
here is the screencast 
http://www.z3lab.org/sections/front-page/design-features/ttw-vs-filesystem/

I'm not sure if this can be generalized to an entire application for all 
types of objects (adapters, utilities, components, events, ...), 
actually I doubt it, this is why I believe that it is up to the 
application to provide that kind of functionality (not the server). But 
the server can make it easier for the application to implement features 
like these.

regards
/JM


More information about the Zope3-dev mailing list