[z3-five] Re: implementing IBrowserRequest not enough?

Philipp von Weitershausen philipp at weitershausen.de
Fri Mar 11 00:39:29 MET 2005


Martijn Faassen wrote:
> Philipp von Weitershausen wrote:
> [snip]
> 
>> No, you're actually right. The ++skin++ traversal adapter in X3.0 
>> actually does:
>>
>> class skin(view):
>>
>>     def traverse(self, name, ignored):
>>         self.request.shiftNameToApplication()
>>         self.request.setPresentationSkin(name)
>>
>>         return self.context
>>
>> So that's not a bad monkey then.
> 
> I don't tend to add monkey patches for no reason..

Sorry, I didn't mean to give you the idea I was accusing you of any 
unnecessary monkeys. I just remembered [s|g]etPresentationSkin becoming 
obsolete, but couldn't remember whether it was in X3.0 or the trunk. So, 
that note above was more of a thinking out-load than anything else...

> Anyway, I know that on the Zope 3 trunk the whole story concerning skins 
> has been modified, but right now Five aims to support released versions 
> of Zope 3, so the trunk is out of scope until we know when a release 
> will happen (unless someone is interested in doing this kind of work on 
> a long-running branch).

Yes, of course. Five should always be based on released software. It 
should stay current, no doubt, but stable.

> I agree with Philipp's comment that we should keep monkey patches to a 
> minimum. I only monkeyed in the bare minimum to bootstrap Zope 3. I 
> actually think the approach of minimizing monkey patching and not trying 
> to implement the full Zope 3 interfaces helped Five.

I actually think so too.

> The temptation is to try to change Zope 2 itself, and while on the long 
> term with sufficient resources this is a viable strategy, in practice 
> Zope 2.9 has been vaporware for about a year now (Zope 2.8 was to be 
> released more than a year ago and Zope 2.9 development was to start then).
> 
> Eventually with our Five experience I hope we can determine what changes 
> we *really* need in Zope 2.9 and this could help avoid it moving into 
> less productive directions.

I'll believe in 2.9 when I see it. Same goes for 2.8. Luckily, being 
very modest regarding expectations on components, Zope 3 technology 
allows us add the whole compatability latyer from the outside, so we're 
not really dependent on the Zope 2 release schedule. In fact, Five is an 
excellent example for the pattern of customizing and extending existing 
software (in this case Zope 2) that will become more prominent the 
future: with separate, pluggable packages instead of hacking the core. 
Five is also an excellent example of how this decoupling is not only a 
technical issue, but also an organizational one (e.g. from the release 
management point of view).

Right now I'd like to leave it open whether these separate advancements 
are eventually to be pushed down into the core or not. I think it'll 
also depend on how fast we'll move on to Zope 3 for the real thing or 
how long we are stuck with Zope 2 after all. THanks to Andreas Jung, 
Zope 2.7 has pretty regular releases. After a bad bad start (2.7.0), the 
2.7 series really has the best release management I've seen in Zope land 
lately...

Philipp


More information about the z3-five mailing list