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]

Reply via email to