[Zope3-dev] Local site configuration is too hard

Roger Ineichen dev at projekt01.ch
Mon Feb 21 10:50:12 EST 2005


Hi Jim

> -----Original Message-----
> From: zope3-dev-bounces+dev=projekt01.ch at zope.org 
> [mailto:zope3-dev-bounces+dev=projekt01.ch at zope.org] On 
> Behalf Of Jim Fulton
> Sent: Monday, February 21, 2005 4:18 PM
> To: zope3-dev at zope.org
> Subject: [Zope3-dev] Local site configuration is too hard
> 
> It's too hard on many levels:
> 
> - It's too hard for site managers to use
> 
> - It's too hard for programmers
> 
>    - We make people implement a dead chicken: ILocalUtility.  If they
>      don't make this meaningless offering, their objects won't be used
>      as utilities. Heck, they won't even be addable to site-management
>      folders.
> 
>    - The Python APIs for registering utilities are too hard to use.
> 
> On the bright site, ZCML is user-friendly by comparison.
> 
> We need to do better.  I think we need to review how we got here and
> brainstorm and try some different ideas.
> 
> Here's a start.  These are more or less random observations:
> 
> First, a lot of complexity arose from the desire to support
> through-the-database product development, distribution, installation
> and update.  This was driven by some issues with updating software in
> ZEO clusters.  We eventually figured out another approach for updating
> ZEO clusters and have abandoned the goal of through-the-database
> development. This allowed us to simplify the local-configuration
> machinery quite a bit, as Stephan has recently and heroically done.
> 
> The component architecture is very powerful and provides a clean
> development model, however, it isn't helpful to force site managers to
> use it as the basis of site management. A site manager knows that they
> need to add some kind of component, however, they don't understand the
> type of the component in terms of a dotted interface name.  I think
> that the concept of adding objects to a site to perform a function is
> fine. After all, it worked well in Zope 2.  I even think that the
> concept of registration is OK, if we can cast it in the right light.
> I think it's reasonable that we will need to tell the system whether
> and how to use an object is reasonable, but we should make this as
> easy as possible for end users.
> 
> To make our job easier, we should concentrate on utilities for now.
> Zope X3.1 should not include "modules", "page folders" or adapter
> registrations. I would go so far as to rip this stuff out of the
> trunk. We'll add it back later.
> 
> We can't improve things any more before X3.1.  Improving the
> site-management experience for managing utilities has to wait for
> X3.2.
> 
> The pluggable authentication utility is only usable by experts today.
> I think it provides a poignant, though perhaps extreme, example of the
> challenges if local site management.
> 
> I think the basic idea of tools, trying to raise the configuration
> abstraction above utility interfaces was sound, however, I think
> the execution has not turned out well.  Part of the problem 
> is that the
> original assumption was that there would be certain types of utilities
> for which there would be many instances, differentiated by name.  For
> example, there might be multiple database adapters, or multiple
> caches.  In practice, there usually aren't multiple utilities of the
> same time.  Even when there are, there aren't many.  Treating tool
> types as virtual folders is way to heavy in most cases.
> 
> Another problem with the existing tool mechanism is that it creates
> virtual folders that hide site-management folders.  I don't think this
> is really helpful. It makes things more mysterious.
> 
> Content managers add objects to folders to build a site.  What's
> wrong with site managers adding objects to folders?  Nothing, IMO.
> I think it's helpful to review how we got to where we are.  We used to
> have lots of registries: Services, Utilities, Database Adapters,
> Caches, etc...  People had 2 places to manage components, the
> individual registries and the site-management folders.  We decided to
> try emphasizing the registries and deemphasizing the folders.  OK, we
> tried and, I think, we failed.  The current UI is mysterious.
> 
> I suggest going back your our Zope roots.  Managing a site should
> happen by adding objects to and managing objects in site-management
> folders.  When we add an object to a site-management folder, we offer
> to register it.  We offer two registration interfaces. The default
> interface checks to see if the object provides any tool types.  If it
> does, it offers to register it as one of the tool types, showing the
> tool descriptions (rather than dotted interface names).  There can be
> an advanced interface that shows the actual interface names as we do
> now. Perhaps there could be a button for toggling between the advanced
> and basic interfaces. In general, however, we need to bother to
> provide a registration UI that sucks a lot less than what we have
> now. In particular, we need to provide some helpful text that explains
> what all of the inputs mean.
> 
> OK, enough for now. Thoughts? Comments? Anybody else have any ideas?

Why not use a registration tasks/wizards.
I think the site management is not that bad,
but configuration is more like a task then container and item.

It would be nice to have a directive where I can register 
a task for adding or configure a utility.

There whould be two kind of task, add utility in a defined way
and configure utility which can be used for allready added utilities.

A developer could develope tasks in python and register them
as possible task which can be fired on a site manager folder 
by a user.

I think we don't have problems with the site management folder
implementation now. Stefan did some great work which simplifies 
the hirarchie.

The next step I think is just to provide task oriented 
adding processes and not sugesst peopels its just a folder
an you can add items which will work.

Possible task can offer just a 'Add' button or for complexer 
tasks it should be possible to provide different pages like
add wizards or edit wizards.

I agree with, that we can't give this UI to the users right now.
But perhaps it's ok to add a new level at top of this existing
site management implementation instead reinvent the wheel.

I can't imagine that we get an easier way if we reimplement it.
I think we have to implement more logic and userfriendly UI on 
top of this concept.

Regards
Roger Ineichen

> -- 
> Jim Fulton           mailto:jim at zope.com       Python Powered!
> CTO                  (540) 361-1714            http://www.python.org
> Zope Corporation     http://www.zope.com       http://www.zope.org
> _______________________________________________
> Zope3-dev mailing list
> Zope3-dev at zope.org
> Unsub: 
> http://mail.zope.org/mailman/options/zope3-dev/dev%40projekt01.ch
> 
> 



More information about the Zope3-dev mailing list