Thanks for the reply. Well, at least that's confirmed. The customization I'm referring to is on an application level. There are several instances of the application, some of which will require different pages and/or components from the standard set.
Yes, it seems that libraries aren't the right tool for us. I do have to say that something feels a little idiosyncratic or even immature about the namespaces and lookups. I'd like to import a library and be able to tell it that its default namespace is its own. It would also be great to be able to override the namespace order for lookups.. something like this: <application name="example" ns="tapestry.application" lookup-ns="tapestry.application,tapestry.framework"> <library ns="maps" specification-path="/com/example/Maps.library" lookup-ns="override,maps"/> <library ns="override" specification-path="/com/example/Override.library" lookup-ns="override,maps"/> </application> Pages in the "example" application are loaded into the "tapestry.application" namespace. When they request namespace-unqualified pages or component names, Tapestry looks in the application namespace, then in the framework namespace (this is the current behavior). When components in the "maps" library request pages, however, the framework first checks the "override" namespace and, if nothing is found, it looks in the "maps" namespace. This is just something off the top of my head - no doubt something better would emerge on reflection - but it communicates the idea. Thanks again, Michael -----Original Message----- From: news [mailto:[EMAIL PROTECTED] On Behalf Of hv @ Fashion Content Sent: August 13, 2006 5:44 AM To: users@tapestry.apache.org Subject: Re: Namespaces & Overriding Pages No you can't. When you talk about customized, do you mean on a user level or for the application overall? IMO libraries are best suited for bundling general purpose components together to be shared by multiple web apps, not as a way to structure a single web app. If you need to customize the application overall use properties/parameters with default values that can then be overridden. If you need do it by user you have a lot of power in ASOs/HiveMind services that can be used to hold page names, which can then be overridden. Henrik "Michael Prescott" <[EMAIL PROTECTED]> skrev i en meddelelse news:[EMAIL PROTECTED] One more time, without the pre-emptive send. :-) I have an application made up of a bunch of pages, that will occasionally need to be customized. The customizations could involve changing pages, or changing the flow between pages - adding additional steps or removing some, for example. The idiom that seemed to make sense was putting the pages in a library and then externalizing the flow. Instead of having page A activate page B directly, it would delegate to a flow definition to see what page to activate. The flow definition could be provided by each customization project. This is more work than I'd like to do if I can accomplish it through judicious organization. After reading: http://tapestry.apache.org/tapestry4/UsersGuide/components.html#componen ts.libraries.namespace .. I wondered whether I could simply override the components in the library. In "Libaries and Namespaces", it's stated that I can override pages or components in the framework namespace. Can I override library components in the same way, too? It looks like no; the overriding of framework components comes from the search order that Tapestry uses for pages requested with an unspecified namespace. Any guidance you can provide would be most helpful! Michael _____ From: Michael Prescott Sent: August 11, 2006 10:40 AM To: 'users@tapestry.apache.org' Subject: Namespaces & Overriding Pages I have a situation where I have a set of pages defined by a library. These flow from one to another -- Michael Prescott --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]