>I think Mr. Sell is in a kind of "JMX" mindset, where there is one >configuration (possibly assembled from multiple places) that is shared by >everyting.
Howard, I hope its ok if I address you that way. You may call me Christian, too. In fact "assembling" is not the right term. As I said earlier, I am arguing in favor of "nested configuration spaces". So a component configuration can exist on any of a number of nested levels (application, page, component). A configuration on an inner level may override a configuration on the outer level. That way the current mode of defining component configurations only at their immediate point of usage (page or component) becomes a special case of the general principle. You can still choose to do it as it was done until now. I must say I have somewhat of an uneasy feeling leading this discussion. Is this an open community, or is it meant in the sense of "take it as it is, or go away"? > >Tapestry has no special knowledge about its components. Whether create an >Insert or a contrib:Palette (pretty much opposite ends of the spectrum), >Tapestry just works from the name to a specification. > >You couldn't just configure one "Insert" component (or one "Foreach") because >each instance of it, on each page, is unique, driven by the specific content >and behavior of that page. > >And each individual page in an application is, itself, unique. Tapestry does >NOT enforce any "standard layout". The fact that most pages in an application >resemble each other is an "engineered coincidence" ... and, many applications >will have pages that are exceptions to the rules. > >You engineer such a coincidence, in Tapestry, by defining a component that >provdies the basic layout of your page. I call that basic layout >a "boilerplate". You'll typically map a boilerplate to a component, which (by >personal convention), I call "Border". > >The Border component will provide the <html> tags (using a Shell) and the ><body> tag (using a Body) and, often, provides a title, stylesheets and a >nested table or two containing icons, copyright messages, basic navigation and >so forth. > >If your application has multiple boilerplates ... for example, public pages >that don't require a login, and private pages that do, you either create two >Border components, or parameterize a single Border component to serve both >purposes. > >The magic of Tapestry is how easy this is (in 2.3, how easy relative to other >frameworks, in 2.4, just plain how easy) ... just drop the components in and >they work, regardless of page, boilerplate, application ... whatever, they just >work. > >All these specifications, parameters, services, request cycles, and so forth >exist to support this compartmentalization. > > >-- >[EMAIL PROTECTED] > >http://tapestry.sf.net >> Christian Sell wrote: >> >> >Hello, >> > >> >I would like to bring up again the point about component >> >configurations. As far as I remember there was no final >> >answer. >> > >> >In Tapestry component configurations have to be repeated for >> >every page and component which embeds the component. >> >Moreover, all components have to be assigned type aliases in >> >the application file (I am not familiar with the workings of >> >libraries yet). >> > >> > >> > >> I think the slight awkwardness of specifying the small bits of XML to >> hook a component into a page is needed to allow multiple numbers of the >> same component on a single page. Remember, as part of specifying the >> component, you need to specify a unique id - partly this is a standard >> XML restriction for the ID attribute type, but also so that Tapestry can >> identify uniquely which component is being referred to. >> >> Richard. >> >> >> >> >> ------------------------------------------------------- >> This SF.NET email is sponsored by: Geek Gift Procrastinating? >> Get the perfect geek gift now! Before the Holidays pass you by. >> T H I N K G E E K . C O M http://www.thinkgeek.com/sf/ >> _______________________________________________ >> Tapestry-developer mailing list >> [EMAIL PROTECTED] >> https://lists.sourceforge.net/lists/listinfo/tapestry- developer > > >------------------------------------------------------- >This SF.NET email is sponsored by: Geek Gift Procrastinating? >Get the perfect geek gift now! Before the Holidays pass you by. >T H I N K G E E K . C O M http://www.thinkgeek.com/sf/ >_______________________________________________ >Tapestry-developer mailing list >[EMAIL PROTECTED] >https://lists.sourceforge.net/lists/listinfo/tapestry- developer ------------------------------------------------------- This SF.NET email is sponsored by: Geek Gift Procrastinating? Get the perfect geek gift now! Before the Holidays pass you by. T H I N K G E E K . C O M http://www.thinkgeek.com/sf/ _______________________________________________ Tapestry-developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/tapestry-developer
