[Zope3-dev] Re: a plan for widgets?

Roger Ineichen dev at projekt01.ch
Mon Mar 20 16:29:25 EST 2006


Hi Stephan,

> On Monday 20 March 2006 13:50, Tres Seaver wrote:
>> So *don't use ZCML*;  use Python:  there is literally nothing which can
>> be done in ZCML which cannot be done in Python.  I wish that folks who
>> don't like / need ZCML would quit trying to dictate how the rest of us
>> use ZCML.
> 
> I agree with this sentiment. I really hate where ZCML is going. I tend to like 
> ZCML as an overview for the functionality of a package, so the already 
> simplified versions of the adapter and utility directive make ZCML much less 
> useful to me. And Philipp's quest to effectively removing all nested 
> directives disturbs me even more. I like the nesting; it groups common things 
> together and saves some typing. I also tend to like writing new ZCML 
> directives; it's easy.

It's time to me for writing a statement about this before I start going 
a own way.

After 3 years of daily development with Zope3, I'm sure the hardest part 
in Zope3 is to get a big picture from a application. A simplfication in 
ZCML and loose the informative character is really contra productive for 
this.

This means to me that it becomes harder to read and understand the 
application at all. Of corse each single component and it's 
reagistration will be simpler with the new simplification, but that's 
not truh for the concept at all if this will end in 10 interface, 5 
adapter and 3 utility registrations!

After reflect the simplification in some of our applications the ZCML 
looks like a big group of pinguin. Each of them look exactly the same,
no visual sugar in it ;-)

I don't like to go in the following direction with ZCML:

<interface
   interface="open.this.package.for.more.IInformation"
   type="perhaps.I.m.a.skin.or.something.IElse"
   />

and

<adapter
   factory="nobody.knows.what.this.means.in.less.then.two.second"
   />

or

<utility
   factory="i.m.the.magic.Pure"
   />

For me it's defently easier to understand and get the big picture of a 
application if we have ZCML directives like:

<mail:smtpMailer
   name="192.168.0.1-smtp"
   hostname="192.168.0.1"
   port="25"
   />

then

<utility
   factory="for.configuration.info.see.in.Mailer"
   />

The situation right now is so ugly for me that I think we should add 
back the higher level ZCML directives again. Probably we should do that 
in a new "higher level" namespae so everyone could decide which concept 
he likes to use.

Is somebody interested to work on a higher level ZCML directive 
namespace and help to support them?

My Fazit is;

It's important to have informative sugger in a configuration language 
like ZCML. Otherwise it get reduced to somewhat useless that I will hate 
to write but have to. The next step will probably be to move the
configuration to pyhton at all. And then we really lose the component 
aspect and get back hardcoded concepts where everybody has to copy/past 
and customize. That's not the way I will go in the future!

What do you think? Are I'm wrong?

Regards
Roger Ineichen

> Having said this, I realize I am in the minority. Thus I will make some 
> concessions, but I am not going to just agree with everything.
> 
> Regards,
> Stephan

Regards
Roger Ineichen
_____________________________
Projekt01 GmbH
www.projekt01.ch
Boesch 65
6331 Hünenberg
phone     +41 (0)41 781 01 78
mobile    +41 (0)79 340 52 32
fax       +41 (0)41 781 00 78
email roger.ineichen at projekt01.ch
_____________________________
END OF MESSAGE


More information about the Zope3-dev mailing list