On 29/06/2011 17:17, Cheetham, Anastasia wrote:

I'm working out how to document an IoC-ified component – in particular, how to communicate the 
various "things" that need to be or can be configured. I'm looking for input on what 
terminology to use to refer to these "things" in the user-facing API documentation.

For example, in UI Options:

1) "fluid.uiOptionsTemplateLoader" is something that integrators will most 
likely need to configure: It identifies the path(s) to the various templates.
2) The "fluid.textfieldSlider"s have selectors that integrators need to know 
about, so that they can either use the defaults or override them.

The issue is this: These two things are NOT technically subcomponents of 
anything:
- #1 is an expander of an expander of a resource of a subcomponent.
- #2 is a decorator on the renderer component tree of a subcomponent.

I'm sure this issue will come up to some degree in most of the components we 
IoC-ify.

Would it be unacceptably dishonest to simply refer to these (and similar things that 
integrators need configure) as "Configurable Subcomponents" in the user-facing 
API documentation? What do people think? Pros? Cons? Other suggestions?


Hi Anastasia - yes, this discussion is always interesting. Our previous position (before IoC) established that whether "something is a subcomponent" is purely a function of its relation to some other thing (that is, "configured as a subcomponent of the thing") rather than an inherent property of the thing itself. This is only more true in the IoC era than it was before.

In terms of your two cases - in #2, since a few months ago, decorators of this kind that create a "fluid decorator" creating a component as part of a renderer tree, actually *do* create a subcomponent, configured via IoC, attached to the parent. These are the subcomponents which are accessible via the new API
fluid.renderer.getDecoratorComponents as part of RendererUtilities.js
- so, no dishonesty required, these are genuine subcomponents in every sense.

The situation with #1 is more unclear - the expander may end up creating a subcomponent, or it may not. So I think in that case it would be unacceptably dishonest to always describe the material as a "configurable subcomponent". But going further, it will be unlikely, bordering on impossible, for an integrator to expect to interact with material held in expanders - they are a kind of "one-shot deal". The integrator could write NEW expanders which replace some of the old ones, but probably not happily interact with existing ones. In general expanders themselves are solutions which we are not particularly happy with and will be replaced by new primitives as part of the "Model Transformation" work in Infusion 1.5.

Cheers,
Antranig
_______________________________________________________
fluid-work mailing list - [email protected]
To unsubscribe, change settings or access archives,
see http://lists.idrc.ocad.ca/mailman/listinfo/fluid-work

Reply via email to