On Thu, 2003-09-11 at 22:32, Timothy Larson wrote:
> --- Bruno Dumon <[EMAIL PROTECTED]> wrote:
> > a first quick reaction (the rest will be for tomorrow, have to leave
> > now): what exactly should be understood here with "dynamic"?
> > 
> > AFAIU the wd:union is a sort of switch which allows to programatically
> > enable a set of widgets.
> 
> The wd:union "switch" can default to having no child widgets and later
> switch to various sets of child widgets.  Constrained only by the list of
> cases in the union, you can dynamically decide which widgets to create
> and when to create them.  If you keep choosing to create sets of widgets
> which include union widgets, then you are giving yourself the option grow
> the widget tree as large as you like.

Aha, now I get it. It's much better than I thought ;-)

And you're probably going to use this in combination with a repeater to
get a repeating structure which can contain different sets of widgets on
each row?

> > 
> > However, I thought in earlier mails you were also implying to
> > dynamically add new widgets (possibly with dynamically created widget
> > definitions) to form instances. Or does the wd:union solve all your
> > use-cases?
> 
> I prefer to direct processes with data instead of code because data is
> is easier to manipulate.

yep, and that's a good decission. After all, the woody form definition
is a sort of schema language, and by doing things this way everything
remains described in the schema. (this also gives woody form definitions
similar power to xml schemas with their sequence/choice combo)

>   The dynamically created widget definitions
> were intended as a shortcut before I came up with this design.  BTW, the
> idea of reusing groups of widget and template definitions was inspired
> by Marc's comments on the xReporter list [1].  I hope I did not mangle
> his idea too much.

That doesn't matter; I find it great how people sometimes come up with
clever ideas by misunderstanding someone else suggestions. (though I
don't know if that was the case here)


To touch some of the other topics in your previous mail:

* If I understand it right the wd:widgets/wd:include functionality is
quite orthogonal to the wd:union proposal? I.e. the one does not really
have to do with the other? (just to know that I understood it right)

* On the aggregation: it would be nice if we could keep the current
functionality of storing filename/linumber information on each node in
the configuration DOM-tree, so that error messages can point to the
exact source locations. This would require doing the aggregation on the
DOM-tree rather than in a Cocoon pipeline. I'm willing to help out on
this if needed.

* on the xpath-addressing: could you give a concrete example of when
it's needed?

BTW, this is all very good stuff you're coming up with here!

-- 
Bruno Dumon                             http://outerthought.org/
Outerthought - Open Source, Java & XML Competence Support Center
[EMAIL PROTECTED]                          [EMAIL PROTECTED]

Reply via email to