[Zope-dev] ComponentArchitecture thoughts

Michel Pelletier michel@zope.com
Sat, 04 Aug 2001 11:48:49 -0700


Tim McLaughlin wrote:
> 
> I listened in on the chat regarding this and although I think the idea has
> merit, I'm not sure that it is vitally important right now.  It could too
> quickly turn into a lot of burned time with nothing to show for it.

That's one of the risks, yes.
 
> Right now, I think that 2 things could flatten the curve for new developers
> that are more accessible:
> 1.  Rewrite ZClasses.  This is currently an ominous threat that could break
> much backwards compatibility.  Many ZCers want this to happen too.  So let's
> make it happen now, and break less rather than more.

Some points on this: I may have a biased opinion, but I find ZClasses of
limited utility.  Yes they're easy, but I think that's just because the
Python alternative is too hard (which is what components try to
address).

If you talk to Jim at length about ZClasses, your brain will begin to
leak out of your head somewhere between meta-classes and persistent
classes.  Even he says ZClasses are *hard*.  The component arch is a
piece of cake.

The component model really, really will simplify the developer curve by
making learning Zope almost exactly like learing python.  You'll start
with simple classes and examples, move into more complex things step by
step.  Currently, just to get one product to work, you either have to
mimic or understand a lot of code.

Re-doing ZClasses or something like them will be much easier following
the component model.

> 2.  Simplify the security model more, if possible :)  I know, it's been
> done, but it's still not easy.

On the side, keep in mind that the component model will simplify
security for the developer quite a bit.  By cleanly separating
presentation from application from content, you can assess the security
needs for each layer independently.  Right now, different methods that
you want to protect under different policies are all mushed into one
class, which is why you *need* to be very verbose with security now. 
Decomposing that will let you secure your components in bite sized
chunks.

> PS.  of course I have no say in this... but ZC - you asked :)

Eveyone has a say in this, that's how it works.

-Michel