[Zope-CMF] Re: [dev] RFC: Extensible propertysheet use cases

Dieter Maurer dieter at handshake.de
Fri Oct 1 14:30:46 EDT 2004


yuppie wrote at 2004-10-1 16:50 +0200:
> ...
>I'm aware of these two use cases:
>
>
>1.) Looking up a single property of a single Action.
>
>So far I only needed that for target URLs.

But I posted lots of examples where more properties
are relevant (e.g. HTTP "title", "target", "class", "on<event>";
"object" attributes; arguments for scripts that create the UI
action representation).

>2.) Generating HTML links (or something similar) in a loop.
>
>So far I've only seen loops with hardcoded properties. Either we have to 
>be sure these properties exist or we have to test if they exist.
>
>Given that, we have to define a schema, at least in our mind. Useful 
>properties have to follow that schema.

I think, I am starting to understand...

Usually, all actions belonging to a single category assume
the same schema. Several categories may share the same schema.

Some properties in the schema might be optional.
The UI code handling the category knows about this (and must take
care of it).

>If we want to share code with other people, it's useful to use the same 
>schema. Products can ship with Actions that include properties like 
>'description' or 'target_viewport' and other Products will know how to 
>use them. (I don't say that a standard schema or a limited set of 
>standards can cover all use cases, but most of them.)

I view standardization (and in particular schemas) as a multi level
approach: there are standards on several levels:

  *  CMF standards

  *  Plone standards

  *  Company standards

  *  Workgroup standards

  *  Project standards

  *  Individual decisions (i.e. no standard at all)


I my view, we should allow CMF users to define their standards
below that of the CMF standards.
Making "Actions" "PropertyManager"s allows this (although it is by
far not the most optimal solution).

>
>
>I'm not sure if you have other use cases in mind or if you think the 
>PropertyManager machinery is the right tool for the use cases I mentioned.

It is a feasible poor man's solution.


I am a strong favorite of KISS (Keep It Stupid Simple)
and XP: use poor man's solutions until you precisely understand
what the high end solution requires and you are sure you need it;
evolve incrementally.


"PropertySheet"s (true ones, not sheets that keep all
attributes in the main object) or XML-namespaces were standard approaches
to implement the next evolutionary step.


-- 
Dieter


More information about the Zope-CMF mailing list